AI agent instructions for working with this repository.
Personal macOS and Linux dotfiles managed with chezmoi and Homebrew.
# Install pre-commit hooks for development
pre-commit install
# Apply chezmoi dotfiles (installs packages + applies config)
chezmoi apply
# Bootstrap from scratch
./install.sh.chezmoiroot sets chezmoi/ as the source directory. Files use chezmoi naming conventions
(private_dot_config/, dot_, symlink_, .tmpl). Templates get data from .chezmoi.toml.tmpl.
Key scripts:
run_once_before_rosetta.sh.tmpl— installs Rosetta 2 on Apple Silicon (runs once)run_before_brew_install.sh.tmpl— installs Homebrew if missing, then installs all packages/casksrun_onchange_macos_defaults.sh.tmpl— applies macOS system settingsrun_onchange_after_setup_claude.sh.tmpl— installs Claude Code plugins and local marketplacerun_onchange_after_setup_opencode.sh.tmpl— installs OpenCode and agent skillsrun_onchange_after_agent_plugins.sh.tmpl— installs agent plugins (opencode)run_after_update_agent_skills.sh.tmpl— updates agent skills
ci.yml— Tests chezmoi installpr.yml— MegaLinter on PRsossf.yml— OpenSSF Scorecard security scanscans.yml— Additional security scansautomerge.yml— Auto-merges passing Renovate/Dependabot PRs
- Renovate auto-updates pre-commit hooks and GitHub Actions (configured in
renovate.json) - Dependabot as secondary updater
- Shell scripts exclude
.zshfiles from shellcheck/shfmt (zsh-specific syntax) - Pre-commit hooks enforce formatting on commit; CI verifies no uncommitted formatting changes
- Commits follow conventional commits style (see git log)