@sebastienrousseau/dotfiles 0.2.499 → 0.2.500

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/CHANGELOG.md +375 -0
  2. package/LICENSE +1283 -0
  3. package/README.md +284 -0
  4. package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
  5. package/docs/AI.md +102 -0
  6. package/docs/COPYRIGHT +4 -3
  7. package/docs/NAMING_CONVENTIONS.md +95 -0
  8. package/docs/README.md +78 -0
  9. package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
  10. package/docs/adr/ADR-002-shell-performance.md +121 -0
  11. package/docs/adr/ADR-003-security-first.md +140 -0
  12. package/docs/adr/ADR-004-cli-architecture.md +157 -0
  13. package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
  14. package/docs/adr/ADR-006-shell-selection.md +115 -0
  15. package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
  16. package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
  17. package/docs/adr/README.md +32 -0
  18. package/docs/architecture/ARCHITECTURE.md +113 -0
  19. package/docs/architecture/INTEROP.md +36 -0
  20. package/docs/architecture/REPO_LAYOUT.md +237 -0
  21. package/docs/architecture/WALKTHROUGH.md +82 -0
  22. package/docs/architecture/fleet-deployment.md +73 -0
  23. package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
  24. package/docs/archive/LEGACY_ROADMAP.md +142 -0
  25. package/docs/archive/MILESTONE_v0.2.493.md +43 -0
  26. package/docs/{PLAN.md → archive/PLAN.md} +4 -4
  27. package/docs/archive/REPO_AUDIT.md +23 -0
  28. package/docs/guides/INSTALL.md +140 -0
  29. package/docs/guides/NEOVIM_IDE_GUIDE.md +52 -0
  30. package/docs/guides/THEMING.md +222 -0
  31. package/docs/guides/TROUBLESHOOTING.md +148 -0
  32. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +723 -0
  33. package/docs/index.md +39 -0
  34. package/docs/interop/A2A.md +32 -0
  35. package/docs/manual/00-introduction.md +85 -0
  36. package/docs/manual/01-concepts/01-architecture.md +134 -0
  37. package/docs/manual/01-concepts/02-trust-model.md +178 -0
  38. package/docs/manual/01-concepts/03-theme-engine.md +182 -0
  39. package/docs/manual/01-concepts/04-fleet.md +142 -0
  40. package/docs/manual/01-concepts/05-self-healing.md +197 -0
  41. package/docs/manual/02-tutorials/01-first-install.md +192 -0
  42. package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
  43. package/docs/manual/02-tutorials/03-create-profile.md +238 -0
  44. package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
  45. package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
  46. package/docs/manual/03-reference/01-dot-cli.md +413 -0
  47. package/docs/manual/03-reference/02-config-files.md +259 -0
  48. package/docs/manual/03-reference/03-environment.md +120 -0
  49. package/docs/manual/03-reference/04-templates.md +184 -0
  50. package/docs/manual/03-reference/05-feature-flags.md +118 -0
  51. package/docs/manual/04-cookbook/01-recipes.md +281 -0
  52. package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
  53. package/docs/manual/04-cookbook/03-faq.md +167 -0
  54. package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
  55. package/docs/manual/05-appendices/B-security-checklist.md +78 -0
  56. package/docs/manual/05-appendices/C-glossary.md +36 -0
  57. package/docs/manual/05-appendices/D-bibliography.md +54 -0
  58. package/docs/manual/05-appendices/E-license.md +34 -0
  59. package/docs/manual/_toc.yml +58 -0
  60. package/docs/manual/command-index.md +58 -0
  61. package/docs/manual/concept-index.md +164 -0
  62. package/docs/operations/ATTESTATION.md +39 -0
  63. package/docs/operations/MAINTENANCE.md +59 -0
  64. package/docs/operations/MIGRATION.md +101 -0
  65. package/docs/operations/OPERATIONS.md +164 -0
  66. package/docs/operations/RELIABILITY.md +116 -0
  67. package/docs/{ROADMAP.md → operations/ROADMAP.md} +22 -22
  68. package/docs/operations/TESTING.md +195 -0
  69. package/docs/operations/TRACEABILITY.md +31 -0
  70. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
  71. package/docs/operations/VERSION_SYNC.md +344 -0
  72. package/docs/reference/ALIASES.md +124 -0
  73. package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
  74. package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
  75. package/docs/reference/FEATURES.md +62 -0
  76. package/docs/reference/FONTS.md +108 -0
  77. package/docs/reference/PROFILES.md +65 -0
  78. package/docs/reference/SCREENSHOTS.md +117 -0
  79. package/docs/reference/SCRIPTS.md +67 -0
  80. package/docs/reference/SUPPORT_MATRIX.md +74 -0
  81. package/docs/reference/THEMES.md +113 -0
  82. package/docs/reference/TOOLS.md +105 -0
  83. package/docs/reference/UTILS.md +151 -0
  84. package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
  85. package/docs/security/AUTOMATION_SECRETS.md +22 -0
  86. package/docs/security/COMPLIANCE.md +453 -0
  87. package/docs/security/ENCRYPTION.md +52 -0
  88. package/docs/security/FMEA.md +155 -0
  89. package/docs/security/INCIDENT_RESPONSE.md +575 -0
  90. package/docs/security/KEYS.md +45 -0
  91. package/docs/security/KEY_ROTATION.md +219 -0
  92. package/docs/security/MCP_POLICY.md +69 -0
  93. package/docs/security/POLICY_RELEASES.md +33 -0
  94. package/docs/security/README.md +24 -0
  95. package/docs/security/SECRETS.md +146 -0
  96. package/docs/security/SECURITY.md +41 -0
  97. package/docs/security/SECURITY_CHECKLIST.md +44 -0
  98. package/docs/security/SOUP_REGISTER.md +32 -0
  99. package/docs/security/THREAT_MODEL.md +120 -0
  100. package/docs/security/VERIFICATION_VALIDATION.md +224 -0
  101. package/docs/themes/README.md +6 -0
  102. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
  103. package/docs/themes/hero-shot.svg +78 -0
  104. package/dot_config/.module-manifest.json +69 -0
  105. package/dot_config/ai/identity.md +20 -0
  106. package/dot_config/ai/patterns/architect.md +14 -0
  107. package/dot_config/ai/patterns/hardener.md +13 -0
  108. package/dot_config/ai/patterns/refactor.md +13 -0
  109. package/dot_config/aider/aider.conf.yml +32 -0
  110. package/dot_config/alacritty/alacritty.toml.tmpl +55 -0
  111. package/dot_config/ansible/ansible.cfg +11 -0
  112. package/dot_config/atuin/config.toml +40 -0
  113. package/dot_config/bat/config +23 -0
  114. package/dot_config/brave-flags.conf.tmpl +7 -0
  115. package/dot_config/btop/btop.conf +16 -0
  116. package/dot_config/btop/themes/tokyonight.theme +34 -0
  117. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  118. package/dot_config/claude/mcp_servers.json +20 -0
  119. package/dot_config/containers/containers.conf +14 -0
  120. package/dot_config/curl/dot_curlrc +18 -0
  121. package/dot_config/dlv/config.yml +39 -0
  122. package/dot_config/docker/config.json +15 -0
  123. package/dot_config/dotfiles/agent-card.json +29 -0
  124. package/dot_config/dotfiles/agent-profiles.json +92 -0
  125. package/dot_config/dotfiles/boot/README.md +11 -0
  126. package/dot_config/dotfiles/grub/README.md +11 -0
  127. package/dot_config/dotfiles/lock/README.md +11 -0
  128. package/dot_config/dotfiles/mcp-lock.json +33 -0
  129. package/dot_config/dotfiles/mcp-policy.json +52 -0
  130. package/dot_config/dotfiles/mcp-registry.json +47 -0
  131. package/dot_config/dotfiles/model-registry.json +20 -0
  132. package/dot_config/dotfiles/policy-bundles.json +38 -0
  133. package/dot_config/dotfiles/prompt-registry.json +16 -0
  134. package/dot_config/dotfiles/versions.env +18 -0
  135. package/dot_config/duf/duf.conf +6 -0
  136. package/dot_config/duti/defaults.duti +5 -0
  137. package/dot_config/emoji/emoji.txt +34 -0
  138. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  139. package/dot_config/environment.d/90-wayland.conf +19 -0
  140. package/dot_config/fastfetch/config.jsonc +28 -0
  141. package/dot_config/firefox/user.js.tmpl +58 -0
  142. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  143. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  144. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  145. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  146. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  147. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  148. package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
  149. package/dot_config/fish/config.fish.tmpl +44 -0
  150. package/dot_config/fish/fish_plugins +1 -0
  151. package/dot_config/fish/functions/_.fish +3 -0
  152. package/dot_config/fish/functions/_cached_eval.fish +58 -0
  153. package/dot_config/fish/functions/als.fish +46 -0
  154. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  155. package/dot_config/fish/functions/c.fish +3 -0
  156. package/dot_config/fish/functions/cat.fish +9 -0
  157. package/dot_config/fish/functions/d.fish +7 -0
  158. package/dot_config/fish/functions/dot.fish +34 -0
  159. package/dot_config/fish/functions/h.fish +3 -0
  160. package/dot_config/fish/functions/l.fish +7 -0
  161. package/dot_config/fish/functions/la.fish +7 -0
  162. package/dot_config/fish/functions/ll.fish +7 -0
  163. package/dot_config/fish/functions/log_error.fish +13 -0
  164. package/dot_config/fish/functions/log_info.fish +13 -0
  165. package/dot_config/fish/functions/lr.fish +7 -0
  166. package/dot_config/fish/functions/lra.fish +7 -0
  167. package/dot_config/fish/functions/ls.fish +7 -0
  168. package/dot_config/fish/functions/lt.fish +7 -0
  169. package/dot_config/fish/functions/lta.fish +7 -0
  170. package/dot_config/fish/functions/notify-run.fish +11 -0
  171. package/dot_config/fish/functions/q.fish +3 -0
  172. package/dot_config/fish/functions/silent-run.fish +7 -0
  173. package/dot_config/fish/functions/yy.fish +8 -0
  174. package/dot_config/flatpak/flatpak.list +4 -0
  175. package/dot_config/fontconfig/fonts.conf.tmpl +57 -0
  176. package/dot_config/foot/foot.ini.tmpl +33 -0
  177. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  178. package/dot_config/fzf/fzf.zsh +48 -0
  179. package/dot_config/gem/gemrc +9 -0
  180. package/dot_config/gh/config.yml +12 -0
  181. package/dot_config/ghostty/config.tmpl +165 -0
  182. package/dot_config/git/allowed_signers.tmpl +18 -0
  183. package/dot_config/git/attributes +12 -0
  184. package/dot_config/git/commit-template +10 -0
  185. package/dot_config/git/ignore +27 -0
  186. package/dot_config/gnupg/gpg-agent.conf +11 -0
  187. package/dot_config/go/golangci.yml +118 -0
  188. package/dot_config/go/gopls.json +30 -0
  189. package/dot_config/goose/config.yaml +29 -0
  190. package/dot_config/gtk-3.0/gtk.css.tmpl +184 -0
  191. package/dot_config/gtk-3.0/settings.ini.tmpl +27 -0
  192. package/dot_config/gtk-4.0/gtk.css.tmpl +252 -0
  193. package/dot_config/gtk-4.0/settings.ini.tmpl +18 -0
  194. package/dot_config/htop/htoprc +20 -0
  195. package/dot_config/inputrc +2 -0
  196. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  197. package/dot_config/just/justfile +122 -0
  198. package/dot_config/k9s/config.yaml +65 -0
  199. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  200. package/dot_config/kanshi/config.tmpl +22 -0
  201. package/dot_config/karabiner/karabiner.json +14 -0
  202. package/dot_config/kitty/kitty.conf.tmpl +53 -0
  203. package/dot_config/lazydocker/config.yml +186 -0
  204. package/dot_config/lazygit/config.yml +35 -0
  205. package/dot_config/mako/config +47 -0
  206. package/dot_config/mas/masapps.txt +5 -0
  207. package/dot_config/micro/settings.json +3 -0
  208. package/dot_config/mimeapps.list +77 -0
  209. package/dot_config/minikube/config.json +13 -0
  210. package/dot_config/mise/config.toml +99 -0
  211. package/dot_config/mongosh/mongoshrc.js +68 -0
  212. package/dot_config/mpv/input.conf +47 -0
  213. package/dot_config/mpv/mpv.conf +47 -0
  214. package/dot_config/mycli/myclirc +67 -0
  215. package/dot_config/nano/nanorc +28 -0
  216. package/dot_config/ncdu/config +12 -0
  217. package/dot_config/niri/config.kdl.tmpl +327 -0
  218. package/dot_config/nushell/aliases.nu +18 -0
  219. package/dot_config/nushell/completions.nu.tmpl +52 -0
  220. package/dot_config/nushell/config.nu.tmpl +86 -0
  221. package/dot_config/nushell/env.nu.tmpl +94 -0
  222. package/dot_config/nushell/functions.nu.tmpl +17 -0
  223. package/dot_config/nvim/init.lua +18 -0
  224. package/dot_config/nvim/lazy-lock.json +58 -0
  225. package/dot_config/nvim/lua/config/autocmds.lua +107 -0
  226. package/dot_config/nvim/lua/config/keymaps.lua +92 -0
  227. package/dot_config/nvim/lua/config/lazy.lua +44 -0
  228. package/dot_config/nvim/lua/config/options.lua +49 -0
  229. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  230. package/dot_config/nvim/lua/plugins/coding.lua +216 -0
  231. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  232. package/dot_config/nvim/lua/plugins/dap.lua +412 -0
  233. package/dot_config/nvim/lua/plugins/editor.lua +55 -0
  234. package/dot_config/nvim/lua/plugins/git.lua +10 -0
  235. package/dot_config/nvim/lua/plugins/lsp.lua +156 -0
  236. package/dot_config/nvim/lua/plugins/markdown.lua +18 -0
  237. package/dot_config/nvim/lua/plugins/rust.lua +34 -0
  238. package/dot_config/nvim/lua/plugins/sessions.lua +33 -0
  239. package/dot_config/nvim/lua/plugins/ui.lua +509 -0
  240. package/dot_config/paru/paru.conf +10 -0
  241. package/dot_config/pip/pip.conf.tmpl +32 -0
  242. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  243. package/dot_config/pueue/pueue.yml +34 -0
  244. package/dot_config/pypoetry/config.toml +6 -0
  245. package/dot_config/pyrightconfig.json +5 -0
  246. package/dot_config/raycast/README.md +13 -0
  247. package/dot_config/redis/redisclirc +41 -0
  248. package/dot_config/ripgrep/ripgreprc +21 -0
  249. package/dot_config/shell/00-core-paths.sh.tmpl +133 -0
  250. package/dot_config/shell/05-core-safety.sh +47 -0
  251. package/dot_config/shell/10-secrets.sh +40 -0
  252. package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
  253. package/dot_config/shell/40-ls-colors.sh +48 -0
  254. package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
  255. package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
  256. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
  257. package/dot_config/shell/90-ux-aliases.sh.tmpl +120 -0
  258. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +54 -0
  259. package/dot_config/shell/Brewfile +207 -0
  260. package/dot_config/shell/Brewfile.cask +92 -0
  261. package/dot_config/shell/Brewfile.cli +127 -0
  262. package/dot_config/shell/README.md +267 -0
  263. package/dot_config/shell/als_data.txt.tmpl +65 -0
  264. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  265. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  266. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  267. package/dot_config/sops/dot_sops.yaml +23 -0
  268. package/dot_config/starship.toml.tmpl +202 -0
  269. package/dot_config/swaylock/config +43 -0
  270. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  271. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  272. package/dot_config/systemd/user/pueued.service +12 -0
  273. package/dot_config/systemd/user/ssh-agent.service +12 -0
  274. package/dot_config/task/Taskfile.yml +86 -0
  275. package/dot_config/tflint/tflint.hcl +9 -0
  276. package/dot_config/tmux/tmux.conf.tmpl +223 -0
  277. package/dot_config/topgrade.toml.tmpl +54 -0
  278. package/dot_config/user-dirs.dirs +9 -0
  279. package/dot_config/vscode/extensions.txt +11 -0
  280. package/dot_config/vscode/settings.json.tmpl +82 -0
  281. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  282. package/dot_config/waybar/style.css.tmpl +211 -0
  283. package/dot_config/wezterm/wezterm.lua.tmpl +64 -0
  284. package/dot_config/wget/wgetrc +12 -0
  285. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  286. package/dot_config/yarn/yarnrc.yml +36 -0
  287. package/dot_config/yazi/keymap.toml +67 -0
  288. package/dot_config/yazi/theme.toml +102 -0
  289. package/dot_config/yazi/yazi.toml +40 -0
  290. package/dot_config/zathura/zathurarc +52 -0
  291. package/dot_config/zellij/config.kdl.tmpl +79 -0
  292. package/dot_config/zsh/dot_zprofile +7 -0
  293. package/dot_config/zsh/dot_zshenv +5 -0
  294. package/dot_config/zsh/dot_zshrc.tmpl +498 -0
  295. package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
  296. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +18 -0
  297. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  298. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  299. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +194 -0
  300. package/dot_config/zsh/rc.d/40-bell.zsh +20 -0
  301. package/dot_config/zsh/rc.d/50-login-fortune.zsh +9 -0
  302. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  303. package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
  304. package/dot_local/bin/executable_ai-update +195 -0
  305. package/dot_local/bin/executable_ai_core +152 -0
  306. package/dot_local/bin/executable_antigravity +11 -0
  307. package/dot_local/bin/executable_b64 +84 -0
  308. package/dot_local/bin/executable_bm +77 -0
  309. package/dot_local/bin/executable_cb +39 -0
  310. package/dot_local/bin/executable_dot +589 -0
  311. package/dot_local/bin/executable_dot-ai +36 -0
  312. package/dot_local/bin/executable_dot-bootstrap +77 -0
  313. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  314. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  315. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  316. package/dot_local/bin/executable_dot-theme-sync +952 -0
  317. package/dot_local/bin/executable_dot_completion +57 -0
  318. package/dot_local/bin/executable_dtags +28 -0
  319. package/dot_local/bin/executable_epoch +67 -0
  320. package/dot_local/bin/executable_extract +41 -0
  321. package/dot_local/bin/executable_gbd +52 -0
  322. package/dot_local/bin/executable_gd +42 -0
  323. package/dot_local/bin/executable_git-ai-commit +175 -0
  324. package/dot_local/bin/executable_git-ai-diff +169 -0
  325. package/dot_local/bin/executable_gl +101 -0
  326. package/dot_local/bin/executable_hash +161 -0
  327. package/dot_local/bin/executable_hashsum +160 -0
  328. package/dot_local/bin/executable_hex +115 -0
  329. package/dot_local/bin/executable_jsonv +78 -0
  330. package/dot_local/bin/executable_jwt +94 -0
  331. package/dot_local/bin/executable_kill-port +75 -0
  332. package/dot_local/bin/executable_lorem +118 -0
  333. package/dot_local/bin/executable_mkscript +35 -0
  334. package/dot_local/bin/executable_monitor +56 -0
  335. package/dot_local/bin/executable_myip +51 -0
  336. package/dot_local/bin/executable_notify +22 -0
  337. package/dot_local/bin/executable_open +36 -0
  338. package/dot_local/bin/executable_pw +27 -0
  339. package/dot_local/bin/executable_rec-start +46 -0
  340. package/dot_local/bin/executable_rec-stop +35 -0
  341. package/dot_local/bin/executable_regex +132 -0
  342. package/dot_local/bin/executable_start-niri +8 -0
  343. package/dot_local/bin/executable_tmux-sessionizer +314 -0
  344. package/dot_local/bin/executable_tour +175 -0
  345. package/dot_local/bin/executable_up +21 -0
  346. package/dot_local/bin/executable_update +142 -0
  347. package/dot_local/bin/executable_uuid +87 -0
  348. package/dot_local/bin/executable_win +32 -0
  349. package/dot_local/bin/executable_yamlv +57 -0
  350. package/dot_local/share/bash-completion/completions/dot +72 -0
  351. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  352. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  353. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  354. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  355. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  356. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  357. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  358. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  359. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  360. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  361. package/dot_local/share/man/man1/dot.1 +149 -0
  362. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  363. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  364. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  365. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  366. package/dot_local/share/zsh/completions/.keep +0 -0
  367. package/dot_local/share/zsh/completions/_dot +283 -0
  368. package/install.sh +342 -0
  369. package/package.json +1 -1
  370. package/scripts/ci/check-copyright-headers.sh +96 -0
  371. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  372. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  373. package/scripts/ci/validate-ci-config.sh +224 -0
  374. package/scripts/demo/record.sh +42 -0
  375. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  376. package/scripts/diagnostics/alias-governance.sh +137 -0
  377. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  378. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  379. package/scripts/diagnostics/benchmark.sh +381 -0
  380. package/scripts/diagnostics/conflicts.sh +72 -0
  381. package/scripts/diagnostics/doctor-unified.sh +38 -0
  382. package/scripts/diagnostics/doctor.sh +541 -0
  383. package/scripts/diagnostics/drift-dashboard.sh +37 -0
  384. package/scripts/diagnostics/health.sh +597 -0
  385. package/scripts/diagnostics/history-analysis.sh +85 -0
  386. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  387. package/scripts/diagnostics/perf.sh +225 -0
  388. package/scripts/diagnostics/scorecard.sh +118 -0
  389. package/scripts/diagnostics/secret-governance.sh +58 -0
  390. package/scripts/diagnostics/security-score.sh +438 -0
  391. package/scripts/diagnostics/smoke-test.sh +87 -0
  392. package/scripts/diagnostics/snapshot.sh +89 -0
  393. package/scripts/diagnostics/verify.sh +107 -0
  394. package/scripts/{verify_state.sh → diagnostics/verify_state.sh} +22 -22
  395. package/scripts/diagnostics/version-locks.sh +79 -0
  396. package/scripts/diagnostics/workstation-attestation.sh +181 -0
  397. package/scripts/docs/build-manual.sh +883 -0
  398. package/scripts/docs/check-manual.sh +213 -0
  399. package/scripts/dot/commands/agent.sh +465 -0
  400. package/scripts/dot/commands/ai.sh +416 -0
  401. package/scripts/dot/commands/aliases.sh +250 -0
  402. package/scripts/dot/commands/appearance.sh +80 -0
  403. package/scripts/dot/commands/core.sh +185 -0
  404. package/scripts/dot/commands/diagnostics.sh +229 -0
  405. package/scripts/dot/commands/fleet.sh +399 -0
  406. package/scripts/dot/commands/lint.sh +177 -0
  407. package/scripts/dot/commands/manual.sh +168 -0
  408. package/scripts/dot/commands/meta.sh +248 -0
  409. package/scripts/dot/commands/patterns.sh +54 -0
  410. package/scripts/dot/commands/restore.sh +231 -0
  411. package/scripts/dot/commands/secrets.sh +223 -0
  412. package/scripts/dot/commands/security.sh +76 -0
  413. package/scripts/dot/commands/tools.sh +469 -0
  414. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  415. package/scripts/dot/lib/bento.sh +49 -0
  416. package/scripts/dot/lib/log.sh +194 -0
  417. package/scripts/dot/lib/platform.sh +98 -0
  418. package/scripts/dot/lib/ui.sh +507 -0
  419. package/scripts/dot/lib/utils.sh +372 -0
  420. package/scripts/fonts/install-nerd-fonts.sh +68 -0
  421. package/scripts/fonts/patch-fonts.sh +35 -0
  422. package/scripts/git-hooks/install.sh +11 -0
  423. package/scripts/git-hooks/pre-commit +12 -0
  424. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  425. package/scripts/git-hooks/pre-push +29 -0
  426. package/scripts/git-hooks/prepare-commit-msg +29 -0
  427. package/scripts/lib/secrets_provider.sh +158 -0
  428. package/scripts/maintenance/check-updates.sh +131 -0
  429. package/scripts/ops/ai-setup.sh +55 -0
  430. package/scripts/ops/bundle.sh +77 -0
  431. package/scripts/ops/chaos.sh +49 -0
  432. package/scripts/ops/chezmoi-apply.sh +270 -0
  433. package/scripts/ops/chezmoi-diff.sh +15 -0
  434. package/scripts/ops/chezmoi-remove.sh +45 -0
  435. package/scripts/ops/chezmoi-update.sh +48 -0
  436. package/scripts/ops/heal-chezmoi.sh +51 -0
  437. package/scripts/ops/heal-system.sh +128 -0
  438. package/scripts/ops/heal-tools.sh +340 -0
  439. package/scripts/ops/heal.sh +222 -0
  440. package/scripts/ops/post-apply-repair.sh +106 -0
  441. package/scripts/ops/prewarm.sh +127 -0
  442. package/scripts/ops/release.sh +252 -0
  443. package/scripts/ops/rollback.sh +589 -0
  444. package/scripts/ops/setup.sh +137 -0
  445. package/scripts/ops/teleport.sh +33 -0
  446. package/scripts/qa/coverage-baseline.sh +60 -0
  447. package/scripts/qa/docs-coverage.sh +111 -0
  448. package/scripts/qa/reliability-audit.sh +138 -0
  449. package/scripts/qa/traceability-coverage.sh +116 -0
  450. package/scripts/qa/validate-examples.sh +26 -0
  451. package/scripts/qa/wsl-contract.sh +11 -0
  452. package/scripts/release/package-policy-bundles.sh +125 -0
  453. package/scripts/secrets/age-init.sh +70 -0
  454. package/scripts/secrets/create-secrets-file.sh +45 -0
  455. package/scripts/secrets/encrypt-ssh-key.sh +43 -0
  456. package/scripts/security/backup.sh +57 -0
  457. package/scripts/security/dns-doh.sh +51 -0
  458. package/scripts/security/encryption-check.sh +54 -0
  459. package/scripts/security/enforce-policies.sh +334 -0
  460. package/scripts/security/firewall.sh +90 -0
  461. package/scripts/security/lock-configs.sh +57 -0
  462. package/scripts/security/lock-screen.sh +55 -0
  463. package/scripts/security/manage-secrets.sh +428 -0
  464. package/scripts/security/ssh-cert.sh +203 -0
  465. package/scripts/security/telemetry-kill.sh +50 -0
  466. package/scripts/security/usb-safety.sh +51 -0
  467. package/scripts/theme/apply-gnome-theme.sh +328 -0
  468. package/scripts/theme/extract-theme.py +677 -0
  469. package/scripts/theme/install-boot-logo.sh +62 -0
  470. package/scripts/theme/install-catppuccin-themes.sh +370 -0
  471. package/scripts/theme/install-cursors.sh +25 -0
  472. package/scripts/theme/install-file-icons.sh +26 -0
  473. package/scripts/theme/install-grub-theme.sh +61 -0
  474. package/scripts/theme/install-lock-icon.sh +30 -0
  475. package/scripts/theme/merge-wallpaper.sh +141 -0
  476. package/scripts/theme/rebuild-themes.sh +309 -0
  477. package/scripts/theme/switch.sh +421 -0
  478. package/scripts/theme/wallpaper-rotate.sh +136 -0
  479. package/scripts/theme/wallpaper-sync.sh +397 -0
  480. package/scripts/tools/cmatrix.sh +21 -0
  481. package/scripts/{detect-collisions.py → tools/detect-collisions.py} +2 -2
  482. package/scripts/tools/emoji-picker.sh +48 -0
  483. package/scripts/tools/figlet-banner.sh +18 -0
  484. package/scripts/tools/log-rotate.sh +30 -0
  485. package/scripts/tools/lolcat-wrap.sh +19 -0
  486. package/scripts/tools/pipes.sh +48 -0
  487. package/scripts/tuning/linux.sh +185 -0
  488. package/scripts/tuning/macos.sh +55 -0
  489. package/scripts/uninstall.sh +85 -0
  490. package/scripts/version-sync.sh +487 -0
  491. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  492. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  493. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  494. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  495. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  496. package/templates/projects/go/README.md +4 -0
  497. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  498. package/templates/projects/go/go.sum +0 -0
  499. package/templates/projects/molecule/README.md +7 -0
  500. package/templates/projects/molecule/converge.yml +7 -0
  501. package/templates/projects/molecule/molecule.yml +16 -0
  502. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  503. package/templates/projects/node/README.md +4 -0
  504. package/templates/projects/node/package-lock.json +12 -0
  505. package/templates/projects/node/src/index.js +1 -0
  506. package/templates/projects/packer/README.md +15 -0
  507. package/templates/projects/packer/main.pkr.hcl +15 -0
  508. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  509. package/templates/projects/python/README.md +4 -0
  510. package/templates/projects/python/pyproject.toml +15 -0
  511. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  512. package/templates/projects/python/tests/test_basic.py +1 -0
  513. package/docs/ARCHITECTURE.md +0 -62
  514. package/docs/COMPLIANCE.md +0 -47
  515. package/docs/OPERATIONS.md +0 -103
  516. package/docs/PR_DESCRIPTION.md +0 -150
  517. package/docs/ROADMAP_legacy.md +0 -556
  518. package/docs/SECURITY_CHECKLIST.md +0 -25
  519. package/docs/TASK.md +0 -99
  520. package/docs/WALKTHROUGH.md +0 -46
  521. package/scripts/backup.sh +0 -142
  522. package/scripts/banner.sh +0 -20
  523. package/scripts/benchmark.sh +0 -20
  524. package/scripts/build.sh +0 -41
  525. package/scripts/clean.sh +0 -31
  526. package/scripts/compile.sh +0 -54
  527. package/scripts/copy.sh +0 -108
  528. package/scripts/doctor.sh +0 -79
  529. package/scripts/dotfiles.sh +0 -63
  530. package/scripts/download.sh +0 -35
  531. package/scripts/help.sh +0 -57
  532. package/scripts/lock-configs.sh +0 -57
  533. package/scripts/package.sh +0 -46
  534. package/scripts/ssh.sh +0 -55
  535. package/scripts/teleport.sh +0 -23
  536. package/scripts/test-aliases.sh +0 -25
  537. package/scripts/test_smoke.sh +0 -88
  538. package/scripts/unpack.sh +0 -28
@@ -0,0 +1,279 @@
1
+ # Tutorial: Deploy to a Fleet
2
+
3
+ Roll out `.dotfiles` across multiple workstations and verify they're in sync.
4
+
5
+ ## Scenario
6
+
7
+ You have three hosts:
8
+
9
+ - **macbook-t2** — your MacBook (current host, already installed)
10
+ - **surface-pro** — your Linux laptop (new install)
11
+ - **geekom-a9** — your desktop NUC (new install)
12
+
13
+ Goal: all three running identical `.dotfiles` with per-host customization, with auditable cross-host attestation.
14
+
15
+ ## Step 1: Per-Host Install
16
+
17
+ On each new host:
18
+
19
+ ```sh
20
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
21
+ ```
22
+
23
+ During `chezmoi init`, answer with the host's preset:
24
+
25
+ - Surface Pro → `machine = "surface-pro"`
26
+ - Geekom A9 → `machine = "geekom-a9"`
27
+
28
+ ## Step 2: Exchange Signing Keys
29
+
30
+ Each host has its own SSH ED25519 key. To verify commits and attestations across the fleet, publish each host's public key to every other host.
31
+
32
+ **On each host, copy the public key:**
33
+
34
+ ```sh
35
+ cat ~/.ssh/id_ed25519.pub
36
+ # ssh-ed25519 AAAAC3N...jkl5 user@macbook-t2
37
+ ```
38
+
39
+ **Collect all three keys. Append them to `~/.ssh/allowed_signers` on every host:**
40
+
41
+ ```
42
+ user@macbook-t2 ssh-ed25519 AAAAC3N...jkl5
43
+ user@surface-pro ssh-ed25519 AAAAC3N...abc7
44
+ user@geekom-a9 ssh-ed25519 AAAAC3N...def9
45
+ ```
46
+
47
+ Optionally commit `allowed_signers` as a template so all hosts receive updates via `dot update`:
48
+
49
+ ```sh
50
+ # On macbook-t2
51
+ chezmoi add ~/.ssh/allowed_signers
52
+ git add -A && git commit -sS -m "feat(ssh): add fleet signing keys"
53
+ git push
54
+ ```
55
+
56
+ Now every other host gets the updated list on `dot update`.
57
+
58
+ ## Step 3: Share the Age Key (for Shared Secrets)
59
+
60
+ If you want shared secrets decrypted on all three hosts, each host must have an Age key recipient in `.sops.yaml`.
61
+
62
+ Option A: Share one key across all hosts (simpler, less granular).
63
+ Option B: Each host has its own key; all three are listed as recipients (better operational security).
64
+
65
+ For Option B:
66
+
67
+ ```sh
68
+ # On macbook-t2 (already set up)
69
+ grep "public key:" ~/.config/age/keys.txt
70
+
71
+ # On surface-pro
72
+ age-keygen -o ~/.config/age/keys.txt
73
+ grep "public key:" ~/.config/age/keys.txt
74
+
75
+ # On geekom-a9
76
+ age-keygen -o ~/.config/age/keys.txt
77
+ grep "public key:" ~/.config/age/keys.txt
78
+ ```
79
+
80
+ Add all three public keys to `.sops.yaml`:
81
+
82
+ ```yaml
83
+ creation_rules:
84
+ - path_regex: \.sops\.yaml$
85
+ age: >-
86
+ age1aaa...111, # macbook-t2
87
+ age1bbb...222, # surface-pro
88
+ age1ccc...333 # geekom-a9
89
+ ```
90
+
91
+ Re-encrypt existing secrets for the new recipients:
92
+
93
+ ```sh
94
+ # On macbook-t2
95
+ find . -name '*.sops.yaml' -exec sops updatekeys {} \;
96
+ git add .sops.yaml dot_config/*.sops.yaml
97
+ git commit -sS -m "chore(secrets): add fleet recipients"
98
+ git push
99
+ ```
100
+
101
+ Other hosts on `dot update` decrypt with their own private key automatically.
102
+
103
+ ## Step 4: Verify Fleet Alignment
104
+
105
+ From any host:
106
+
107
+ ```sh
108
+ dot fleet attest
109
+ ```
110
+
111
+ Expected output:
112
+
113
+ ```
114
+ Fleet Attestation — v0.2.500
115
+
116
+ Host Git SHA Policy Tools OK Drift Verified
117
+ -------------- ---------- --------- ---------- ------- --------
118
+ macbook-t2 abc123d 0x7f2a… ✓ 0 ✓
119
+ surface-pro abc123d 0x7f2a… ✓ 0 ✓
120
+ geekom-a9 abc123d 0x7f2a… ✓ 0 ✓
121
+ -------------- ---------- --------- ---------- ------- --------
122
+ FLEET STATUS: 3/3 aligned
123
+ ```
124
+
125
+ If any row shows drift or missing verification:
126
+
127
+ ```sh
128
+ # Check which host is out of sync
129
+ dot fleet diff
130
+
131
+ # SSH into the affected host and fix
132
+ ssh surface-pro
133
+ dot doctor && dot heal
134
+ dot update
135
+ ```
136
+
137
+ ## Step 5: Per-Host Customization
138
+
139
+ Each host has its own `~/.config/chezmoi/chezmoi.toml` — use it for things that shouldn't propagate:
140
+
141
+ ```toml
142
+ # surface-pro's chezmoi.toml
143
+ [data]
144
+ machine = "surface-pro"
145
+ theme = "dome-dark" # per-host default
146
+ default_shell = "fish"
147
+ terminal_font_size = 11 # smaller for HiDPI
148
+ ```
149
+
150
+ ```toml
151
+ # geekom-a9's chezmoi.toml
152
+ [data]
153
+ machine = "geekom-a9"
154
+ theme = "valley-dark" # different default
155
+ default_shell = "zsh"
156
+ terminal_font_size = 14 # larger for external 1440p
157
+ ```
158
+
159
+ Both hosts render from the same templates, producing correct platform-appropriate output.
160
+
161
+ ## Step 6: Fleet-Wide Updates
162
+
163
+ When you push a commit to master, each host pulls independently:
164
+
165
+ ```sh
166
+ # On each host
167
+ dot update
168
+ ```
169
+
170
+ `dot update` does:
171
+
172
+ 1. `git pull --rebase --autostash` in `~/.dotfiles`
173
+ 2. `chezmoi apply` with progress output
174
+ 3. `dot heal` if apply detected drift
175
+ 4. Reports changes applied
176
+
177
+ For simultaneous update across the fleet (requires SSH):
178
+
179
+ ```sh
180
+ dot fleet sync
181
+ # Connects to each host in parallel
182
+ # Runs `dot update` via SSH
183
+ # Collects outcomes
184
+ ```
185
+
186
+ ## Step 7: Secrets Rotation
187
+
188
+ When a secret is compromised (or as part of routine rotation):
189
+
190
+ ```sh
191
+ # 1. Edit the secret on any host
192
+ sops dot_config/credentials.sops.yaml
193
+ # Change the compromised value, save
194
+
195
+ # 2. Commit and push
196
+ git commit -sS -am "chore(secrets): rotate stripe key"
197
+ git push
198
+
199
+ # 3. All fleet hosts pick up the new value on next update
200
+ # On each host:
201
+ dot update
202
+ ```
203
+
204
+ Since hosts all have the Age private key for themselves, decryption is automatic.
205
+
206
+ ## Step 8: Decommission a Host
207
+
208
+ When retiring a host:
209
+
210
+ ```sh
211
+ # 1. Remove the host's public key from allowed_signers
212
+ # Edit dot_ssh/allowed_signers.tmpl (on any host)
213
+
214
+ # 2. Remove the host's Age public key from .sops.yaml
215
+
216
+ # 3. Re-encrypt all SOPS files (remove the decommissioned recipient)
217
+ find . -name '*.sops.yaml' -exec sops updatekeys {} \;
218
+
219
+ # 4. Commit
220
+ git commit -sS -am "chore(fleet): decommission geekom-a9"
221
+ git push
222
+
223
+ # 5. On the decommissioned host: wipe the dotfiles state
224
+ rm -rf ~/.dotfiles ~/.local/bin/dot ~/.config/chezmoi ~/.config/age
225
+ ```
226
+
227
+ ## Troubleshooting
228
+
229
+ ### "Fleet host unreachable"
230
+
231
+ `dot fleet` couldn't SSH to a host. Check:
232
+
233
+ ```sh
234
+ ssh surface-pro 'dot version'
235
+ # If this fails, fix SSH connectivity first
236
+ ```
237
+
238
+ ### Drift on One Host
239
+
240
+ Run `dot heal` on that host:
241
+
242
+ ```sh
243
+ ssh surface-pro 'dot heal'
244
+ ```
245
+
246
+ If drift persists:
247
+
248
+ ```sh
249
+ ssh surface-pro 'chezmoi diff | head -50'
250
+ # Inspect what's different
251
+ ```
252
+
253
+ ### Policy Hash Mismatch
254
+
255
+ One host has an older policy than the others. Usually means that host missed an update:
256
+
257
+ ```sh
258
+ ssh surface-pro 'dot update'
259
+ ```
260
+
261
+ ### Attestation Signature Failed
262
+
263
+ The host's SSH key isn't in `~/.ssh/allowed_signers` on the verifying host. Fix by redistributing `allowed_signers`.
264
+
265
+ ## Summary
266
+
267
+ A three-host fleet:
268
+
269
+ - Installs from one repository
270
+ - Has independent signing keys (each host verifies commits from others)
271
+ - Can share secrets across specific hosts via SOPS recipients
272
+ - Is auditable via `dot fleet attest`
273
+ - Updates independently with `dot update` (or in parallel with `dot fleet sync`)
274
+
275
+ ## Next
276
+
277
+ - [Concept: Fleet Architecture](../01-concepts/04-fleet.md)
278
+ - [Reference: Fleet Commands](../03-reference/01-dot-cli.md#fleet)
279
+ - [Operations: Fleet Deployment](../../architecture/fleet-deployment.md)
@@ -0,0 +1,413 @@
1
+ # Reference: The `dot` CLI
2
+
3
+ Complete command reference. Every subcommand, every flag, every exit code.
4
+
5
+ ## Invocation
6
+
7
+ ```
8
+ dot [<command>] [<subcommand>] [<flags>] [<args>]
9
+ ```
10
+
11
+ With no arguments, `dot` prints the overview (same as `dot help`).
12
+
13
+ ## Global Flags
14
+
15
+ | Flag | Purpose |
16
+ |:---|:---|
17
+ | `-h`, `--help` | Show help for the command (or overview if no command given) |
18
+ | `-v`, `--verbose` | Verbose output |
19
+ | `--version` | Print the dotfiles version and exit |
20
+ | `--json` | Machine-readable JSON output (where supported) |
21
+
22
+ ## Start Here
23
+
24
+ ### `dot sync` / `dot apply`
25
+
26
+ Apply the tracked configuration to the machine. Aliases: `dot sync == dot apply`.
27
+
28
+ ```
29
+ dot sync [--dry-run|-n] [--force|-f] [--verbose|-v]
30
+ ```
31
+
32
+ | Flag | Effect |
33
+ |:---|:---|
34
+ | `--dry-run`, `-n` | Preview changes without applying |
35
+ | `--force`, `-f` | Skip confirmation prompts |
36
+ | `--verbose`, `-v` | Show per-file actions |
37
+
38
+ Exit codes: 0 (clean apply), 1 (drift reconciled), 2 (apply failed).
39
+
40
+ ### `dot doctor`
41
+
42
+ Check the environment and surface issues.
43
+
44
+ ```
45
+ dot doctor [--score|-s] [--heal|-H] [--json|-j] [--verbose|-v]
46
+ ```
47
+
48
+ | Flag | Effect |
49
+ |:---|:---|
50
+ | `--score`, `-s` | Print numeric score (0-100) only |
51
+ | `--heal`, `-H` | Auto-fix detected issues |
52
+ | `--json`, `-j` | Machine-readable output |
53
+ | `--verbose`, `-v` | Show every check (default: failures only) |
54
+
55
+ Exit codes: 0 (healthy), 1 (warnings), 2 (critical failures).
56
+
57
+ ### `dot learn`
58
+
59
+ Interactive guided tour of the environment. Takes ~5-10 minutes, covers shells, secrets, themes, performance, security. Press `q` to exit at any time.
60
+
61
+ ### `dot help [<command>]`
62
+
63
+ Show the overview (no arg) or detailed help for a specific command.
64
+
65
+ ## Daily Use
66
+
67
+ ### `dot status` / `dot diff`
68
+
69
+ Show local drift or preview pending changes.
70
+
71
+ ```
72
+ dot status # list changed managed files
73
+ dot diff [<path>] # show unified diff (all or one path)
74
+ ```
75
+
76
+ ### `dot edit`
77
+
78
+ Open the source directory in `$EDITOR`. Shorthand for `cd ~/.dotfiles && $EDITOR`.
79
+
80
+ ### `dot upgrade`
81
+
82
+ Update tools, plugins, and dotfiles.
83
+
84
+ ```
85
+ dot upgrade [--tools-only] [--dotfiles-only]
86
+ ```
87
+
88
+ Runs `topgrade`-style upgrade of Mise tools, Nix flakes, homebrew (macOS), and pulls the latest `.dotfiles`.
89
+
90
+ ### `dot commit`
91
+
92
+ Create an AI-assisted conventional commit from staged changes.
93
+
94
+ ```
95
+ dot commit
96
+ ```
97
+
98
+ Uses the configured AI provider (via `dot mode`) to generate a commit message matching the Conventional Commits spec.
99
+
100
+ ### `dot search <term>`
101
+
102
+ Find commands by keyword.
103
+
104
+ ```
105
+ dot search theme # lists all theme-related commands
106
+ dot search secret # lists all secret-related commands
107
+ ```
108
+
109
+ ## Inspect & Repair
110
+
111
+ ### `dot heal`
112
+
113
+ Auto-repair missing tools, chezmoi drift, broken symlinks, and critical files.
114
+
115
+ ```
116
+ dot heal [--dry-run|-n] [--force|-f] [--tool <name>]
117
+ ```
118
+
119
+ See [Self-Healing concept](../01-concepts/05-self-healing.md).
120
+
121
+ ### `dot rollback`
122
+
123
+ Return to a previous snapshot.
124
+
125
+ ```
126
+ dot rollback # restore most recent snapshot
127
+ dot rollback status # list snapshots
128
+ dot rollback restore <n> # restore snapshot #n
129
+ dot rollback clean # delete snapshots older than 30 days
130
+ ```
131
+
132
+ ### `dot chaos`
133
+
134
+ Simulate corruption to test self-healing. **Destructive.** Use only in ephemeral environments.
135
+
136
+ ```
137
+ dot chaos [symlink|config|tool|permission|all]
138
+ ```
139
+
140
+ ### `dot attest`
141
+
142
+ Export signed workstation evidence (see [Trust Model](../01-concepts/02-trust-model.md)).
143
+
144
+ ```
145
+ dot attest [--output|-o <file>] [--sign|-s]
146
+ ```
147
+
148
+ Default output: `~/.local/state/dotfiles/attestation/YYYY-MM-DD-HHMMSS.json`. With `--sign`, the JSON is signed with the user's SSH ED25519 key.
149
+
150
+ ### `dot verify`
151
+
152
+ Verify integrity of the installation.
153
+
154
+ ```
155
+ dot verify [--security|-s] [--attestation <path>]
156
+ ```
157
+
158
+ | Flag | Effect |
159
+ |:---|:---|
160
+ | `--security`, `-s` | Run gitleaks + signature checks + policy hash |
161
+ | `--attestation <path>` | Verify an external attestation file |
162
+
163
+ ### `dot lint`
164
+
165
+ Lint shell scripts (shellcheck, shfmt).
166
+
167
+ ```
168
+ dot lint [--path <glob>] [--strict]
169
+ ```
170
+
171
+ ## Performance
172
+
173
+ ### `dot benchmark`
174
+
175
+ Measure shell startup time.
176
+
177
+ ```
178
+ dot benchmark [--detailed|-d] [--profile|-p] [--compare|-c] [--waterfall|-w] [--runs|-r <n>]
179
+ ```
180
+
181
+ | Flag | Effect |
182
+ |:---|:---|
183
+ | `--detailed`, `-d` | Per-module timing breakdown |
184
+ | `--profile`, `-p` | Profile with `$SHELL -ixc ""` |
185
+ | `--compare`, `-c` | Compare against baseline |
186
+ | `--waterfall`, `-w` | Waterfall visualization |
187
+ | `--runs`, `-r <n>` | Number of hyperfine runs (default 10) |
188
+
189
+ Exit codes: 0 (<500ms target), 1 (regression).
190
+
191
+ ### `dot perf`
192
+
193
+ Quick performance snapshot.
194
+
195
+ ```
196
+ dot perf [--json|-j] [--profile|-p] [--runs|-r <n>] [--target|-t <ms>]
197
+ ```
198
+
199
+ ### `dot prewarm`
200
+
201
+ Regenerate shell init caches for fast startup.
202
+
203
+ ### `dot cache-refresh`
204
+
205
+ Rebuild generated shell state (cold-start alternative to prewarm).
206
+
207
+ ### `dot clean-cache`
208
+
209
+ Clear generated shell initialization caches. Next shell startup will be slow; use `dot prewarm` afterward.
210
+
211
+ ### `dot score`
212
+
213
+ Show system health + security score.
214
+
215
+ ### `dot metrics`
216
+
217
+ Show recent observability metrics (startup times, heal events, score history).
218
+
219
+ ### `dot load-bench`
220
+
221
+ Measure heavy-layer (nvm, rbenv, direnv) readiness time.
222
+
223
+ ## AI & Agents
224
+
225
+ ### `dot ai`
226
+
227
+ Show installed AI tools with versions and status.
228
+
229
+ ```
230
+ dot ai
231
+ ```
232
+
233
+ ### `dot mcp`
234
+
235
+ Inspect MCP policy and registry.
236
+
237
+ ```
238
+ dot mcp [--strict|-s] [--json|-j]
239
+ ```
240
+
241
+ With `--strict`, validates the active MCP registry matches the policy hash. Exit code 1 on mismatch.
242
+
243
+ ### `dot mode [<profile>]`
244
+
245
+ Show or set the agent profile.
246
+
247
+ ```
248
+ dot mode # show current profile
249
+ dot mode architect # switch to architect profile
250
+ dot mode list # list all profiles
251
+ ```
252
+
253
+ Available profiles (see `dot_config/ai/patterns/`): `architect`, `hardener`, `refactor`. Custom profiles can be added by dropping `<name>.md` in the patterns directory.
254
+
255
+ ### `dot agent`
256
+
257
+ Agent metadata, logs, checkpoints, and conformance reports.
258
+
259
+ ```
260
+ dot agent status # current agent state
261
+ dot agent logs [--since <t>] # recent agent invocations
262
+ dot agent conformance # MCP policy conformance report
263
+ ```
264
+
265
+ ## Configuration
266
+
267
+ ### `dot theme`
268
+
269
+ Switch terminal and desktop themes. See [Theme Engine](../01-concepts/03-theme-engine.md) and [Theming Guide](../../guides/THEMING.md).
270
+
271
+ ```
272
+ dot theme # interactive picker
273
+ dot theme <name> # switch directly (e.g. dot theme tahoe-dark)
274
+ dot theme toggle # swap dark↔light within family
275
+ dot theme list # show paired themes with System/Custom source
276
+ dot theme rebuild [--force|--list] # regenerate from wallpapers
277
+ ```
278
+
279
+ ### `dot env`
280
+
281
+ Show managed tool versions.
282
+
283
+ ```
284
+ dot env # all managed tools
285
+ dot env <tool> # single tool
286
+ ```
287
+
288
+ ### `dot profile [<name>]`
289
+
290
+ Show or switch the active profile.
291
+
292
+ ```
293
+ dot profile # show active profile
294
+ dot profile list # all profiles
295
+ dot profile laptop # switch to 'laptop' profile
296
+ ```
297
+
298
+ Profiles live in `.chezmoidata.toml` under `[profiles.<name>]`.
299
+
300
+ ### `dot secrets`
301
+
302
+ Edit or manage encrypted secrets.
303
+
304
+ ```
305
+ dot secrets list # all encrypted files
306
+ dot secrets edit <path> # open in $EDITOR (decrypted)
307
+ dot secrets rotate # re-encrypt with current recipients
308
+ dot secrets verify # integrity check (no decryption)
309
+ ```
310
+
311
+ ## Fleet
312
+
313
+ ### `dot fleet`
314
+
315
+ Multi-node status, drift, and namespace.
316
+
317
+ ```
318
+ dot fleet # show all known hosts
319
+ dot fleet attest # collect signed attestations
320
+ dot fleet diff # compare rendered config across hosts
321
+ dot fleet sync # run `dot update` on every host
322
+ ```
323
+
324
+ Fleet hosts are configured in `~/.config/dotfiles/fleet.toml`.
325
+
326
+ ## Reference
327
+
328
+ ### `dot version`
329
+
330
+ Show the installed version.
331
+
332
+ ```
333
+ dot version [--json]
334
+ ```
335
+
336
+ ### `dot manual`
337
+
338
+ Open or download the manual in multiple formats.
339
+
340
+ ```
341
+ dot manual # open latest HTML manual in browser
342
+ dot manual pdf # download + open PDF
343
+ dot manual text # pipe ASCII text to pager
344
+ dot manual download <format> # save to current directory
345
+ dot manual --offline # use bundled offline copy (from `dot bundle`)
346
+ ```
347
+
348
+ Formats: `html`, `html-multi`, `pdf`, `epub`, `text`, `markdown`.
349
+
350
+ ### `dot add <path>`
351
+
352
+ Import a file into chezmoi's source directory.
353
+
354
+ ```
355
+ dot add ~/.somefile # plaintext
356
+ dot add --encrypt ~/.somefile # encrypted with Age
357
+ dot add --template ~/.somefile # templatize
358
+ ```
359
+
360
+ ### `dot remove <path>`
361
+
362
+ Safely remove a managed file (removes from source and unmanages).
363
+
364
+ ### `dot cd`
365
+
366
+ Print the source directory path. Useful for `cd $(dot cd)`.
367
+
368
+ ### `dot bundle`
369
+
370
+ Create an offline portable archive.
371
+
372
+ ```
373
+ dot bundle # default output ~/Downloads/
374
+ dot bundle --to <dir|file> # custom location
375
+ dot bundle --manual # include offline manual
376
+ dot bundle restore <bundle.tar.zst> # restore from bundle
377
+ ```
378
+
379
+ ### `dot packages`
380
+
381
+ Show installed packages and package managers.
382
+
383
+ ```
384
+ dot packages
385
+ dot packages --manager mise|nix|brew|apt
386
+ ```
387
+
388
+ ## Environment Variables
389
+
390
+ | Variable | Purpose |
391
+ |:---|:---|
392
+ | `DOTFILES_VERBOSE=1` | Verbose output for all `dot` commands |
393
+ | `DOTFILES_NONINTERACTIVE=1` | Skip interactive prompts |
394
+ | `DOTFILES_SILENT=1` | Suppress non-error output |
395
+ | `DOTFILES_SOURCE_DIR` | Override the source directory |
396
+ | `DOTFILES_WALLPAPER_DIR` | Override `~/Pictures/Wallpapers/` |
397
+ | `DOTFILES_DEBUG=1` | Print timing info during shell init |
398
+
399
+ ## Exit Codes
400
+
401
+ | Code | Meaning |
402
+ |:---|:---|
403
+ | 0 | Success |
404
+ | 1 | Warnings or recoverable errors |
405
+ | 2 | Critical failure — manual intervention required |
406
+ | 127 | Command not found |
407
+
408
+ ## See Also
409
+
410
+ - [Configuration Files Reference](02-config-files.md)
411
+ - [Environment Reference](03-environment.md)
412
+ - [Template Variables](04-templates.md)
413
+ - [Feature Flags](05-feature-flags.md)