This document defines the naming conventions for all files in the dotfiles repository.
| Context | Convention | Example |
|---|---|---|
| Run scripts | run_{type}_{NN}-{verb}-{noun}.sh.tmpl |
run_onchange_10-install-packages.sh.tmpl |
| Shell fragments | {NN}-{domain}-{detail}.sh.tmpl |
90-ux-aliases.sh.tmpl |
| Alias files | {tool}.aliases.sh |
git.aliases.sh |
| Function files | {name}.sh (lowercase) |
apihealth.sh |
| Test files | test_{domain}_{feature}.sh |
test_aliases_git.sh |
| Scripts | {verb}-{noun}.sh (hyphenated) |
install-nerd-fonts.sh |
| Range | Category | Examples |
|---|---|---|
| 00-09 | Audit & pre-flight | run_before_00-audit.sh |
| 10-19 | Package installation | run_onchange_10-linux-packages.sh.tmpl |
| 20-29 | Config & languages | run_onchange_20-ghostty-config.sh.tmpl |
| 25-29 | Language toolchains | run_onchange_25-python-tools.sh.tmpl |
| 30-39 | Applications | run_onchange_30-vscode-extensions.sh.tmpl |
| 40-49 | System defaults | run_onchange_40-darwin-default-apps.sh.tmpl |
| 50-59 | Assets (fonts, themes) | run_onchange_50-install-fonts.sh.tmpl |
dot_config/<app>/ with chezmoi-compatible filenamesdot_config/.module-manifest.json.chezmoidata.toml + .chezmoiignore.tmpl.chezmoitemplates/aliases/<category>/<name>.aliases.sh**/*.aliases.sh glob auto-discovers it$coreCategories list in 90-ux-aliases.sh.tmpl for eager loading; otherwise it loads lazily.chezmoitemplates/functions/<group>/groups.json with the <group>/<filename> path51-logic-functions-extra.sh.tmplinstall/provision/run_onchange_{NN}-{name}.sh.tmplinstall/lib/os_detection.sh for platform detection.chezmoitemplates/
aliases/ # 48 categories, auto-discovered
functions/ # Grouped by domain (api/, curl/, text/, system/, etc.)
paths/ # PATH construction templates
desktop/ # Desktop environment templates (dconf)
dot_config/ # Flat — chezmoi constraint, no intermediate grouping
install/
lib/ # Shared helpers (os_detection, logging, installers)
provision/ # run_onchange_* provisioning scripts
scripts/ # Repo-only scripts (not deployed)
dot/ # dot CLI subcommands
ops/ # Operations scripts
diagnostics/ # Health checks
security/ # Security tools
...
tests/ # Test suite (not deployed)
framework/ # Test runner, assertions, mocks
unit/ # Domain-organized unit tests
integration/ # End-to-end tests
performance/ # Benchmarks
docs/ # Documentation and GitHub Pages source
architecture/ # System design docs
guides/ # How-to guides
reference/ # Reference material
security/ # Security documentation
operations/ # Ops and maintenance docs