fish
Standardizes Fish shell configuration, scripting patterns, and system management for dotfiles environments.
Introduction
This skill provides a robust framework for managing Fish shell configurations and associated dotfiles. It is designed for developers, system administrators, and power users who prioritize clean, maintainable, and portable shell environments. By enforcing specific conventions such as snake_case naming, global versus local variable scoping, and the utilization of built-in Fish commands over external processes, this skill ensures that shell scripts remain highly performant and readable. It integrates seamlessly with modern development workflows, supporting the use of advanced CLI tools like eza, fd, and rg to enhance terminal productivity.
The skill acts as a comprehensive guide for maintaining a consistent shell environment across macOS and Linux. It mandates the use of specific coding standards, such as preferring test over square brackets for conditionals and leveraging the string builtin for efficient text manipulation. Whether you are refactoring existing shell configurations, setting up a new machine via Makefile automation, or debugging terminal performance, this skill provides the necessary structure to ensure code quality and system reliability.
-
Enforces official Fish shell conventions for naming, scoping, and syntax to prevent common shell script pitfalls.
-
Promotes the use of modern, performance-oriented Rust-based CLI utilities such as bat, delta, and sd to replace legacy Unix tools.
-
Supports standardized Git practices, including conventional commit messaging (feat, fix, refactor, chore) to maintain a clean project history.
-
Facilitates automated environment setup through centralized dotfiles management, utilizing installation scripts and Makefile integration.
-
Provides clear structural guidelines for modularizing functions, encouraging single-purpose, focused code blocks for easier maintenance.
-
When writing shell functions, always define them with a --description flag to improve self-documentation and readability.
-
Prioritize the use of global set -g or local set -l variables according to the required scope to avoid unintended side effects in the shell session.
-
When creating standalone scripts, favor Bash for maximum portability and ensure they are executable with the #!/usr/bin/env bash shebang.
-
Regularly review and update shell configuration files to ensure they align with the project's evolving coding standards and performance goals.
-
Expect inputs to be primarily shell-based source files and outputs to be high-performance, compliant CLI functionality within the terminal emulator.
Repository Stats
- Stars
- 13
- Forks
- 5
- Open Issues
- 0
- Language
- Shell
- Default Branch
- main
- Sync Status
- Idle
- Last Synced
- May 3, 2026, 08:33 PM