SKILL.md
Adding Dotfiles Modules
When This Applies
Use this skill when:
- Adding a new tool/config to dotfiles
- Creating a new module directory
- Adding new config options
Checklist
- Create module directory:
modulename/ - Add
README.mdwith:
- Purpose description - Files table - Installation command - Configuration overview - Customization section
- Add
install.shif needed (see template below) - Add packages to
homebrew/bundleif needed - Update root
README.md:
- Add to "What's Included" if major feature - Add to "Directory Structure" - Add link to Documentation section
- If new config option:
- Add to config.sh.example with comment - Add to bash/exports.sh to export it - Update lib/README.md if new lib function
Install Script Template
#!/usr/bin/env bash
# What this module does
set -euo pipefail
source "$DOTFILES/lib/index.sh"
# Check dependencies (optional)
if ! command -v sometool &>/dev/null; then
echo "Skip: sometool not installed"
exit 0
fi
symlink "$DOTFILES/mymodule/config" "$HOME/.myconfig"
Testing
# Test standalone
bash mymodule/install.sh --non-interactive --overwrite --allow
# Test via main installer
./install.sh --non-interactive --overwrite --allow
Reference Modules
Look at these for patterns:
git/install.sh— Config + run commandsbash/install.sh— Multiple symlinksnpm/install.sh— Simple symlink onlyssh/install.sh— Permissions + config generation