config/CLAUDE.md
2025-04-01 12:44:00 -05:00

1.2 KiB

Claude Guidelines for cgould/config

Repository Structure

  • Configuration files for various tools (fish, git, helix, etc.)
  • Installation scripts for different environments (Linux/Nix, macOS/Homebrew)

Commands

  • Install/setup: ./install.sh (interactive installer)
  • No specific test/lint commands (configuration repo)

Code Style

Naming Conventions

  • Files/functions: snake_case.fish
  • Shell variables: Local snake_case, env vars UPPERCASE
  • Function arguments: Use --argument-names in fish

Formatting

  • Indentation: 4 spaces for fish, tabs/4 spaces for shell scripts
  • Line length: Keep under 100 characters
  • Commands: Space after commands, spaces around operators

Documentation

  • Fish functions: Use --description parameter
  • Major sections: Use header comments with descriptive names
  • Error messages: User-friendly, sent to stderr with >&2

Error Handling

  • Validate arguments at beginning of functions
  • Return explicit error codes (return 1) for failures
  • Use conditionals to check for successful operations

Fish-Specific

  • Follow fish idioms (command substitution with parentheses)
  • Use fish built-ins where possible
  • Separate config into functions, completions, conf.d directories