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

36 lines
1.2 KiB
Markdown

# 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