@sebastienrousseau/dotfiles 0.2.481 → 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 (546) hide show
  1. package/CHANGELOG.md +122 -32
  2. package/LICENSE +1 -1
  3. package/README.md +211 -242
  4. package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
  5. package/docs/AI.md +102 -0
  6. package/docs/COPYRIGHT +2 -2
  7. package/docs/NAMING_CONVENTIONS.md +95 -0
  8. package/docs/README.md +58 -249
  9. package/docs/adr/ADR-004-cli-architecture.md +2 -2
  10. package/docs/adr/ADR-006-shell-selection.md +2 -2
  11. package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
  12. package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
  13. package/docs/adr/README.md +2 -3
  14. package/docs/architecture/ARCHITECTURE.md +113 -0
  15. package/docs/architecture/INTEROP.md +36 -0
  16. package/docs/architecture/REPO_LAYOUT.md +237 -0
  17. package/docs/architecture/WALKTHROUGH.md +82 -0
  18. package/docs/architecture/fleet-deployment.md +73 -0
  19. package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
  20. package/docs/archive/MILESTONE_v0.2.493.md +43 -0
  21. package/docs/{PLAN.md → archive/PLAN.md} +1 -1
  22. package/docs/guides/INSTALL.md +140 -0
  23. package/docs/{NEOVIM_IDE_GUIDE.md → guides/NEOVIM_IDE_GUIDE.md} +12 -12
  24. package/docs/guides/THEMING.md +222 -0
  25. package/docs/{TROUBLESHOOTING.md → guides/TROUBLESHOOTING.md} +36 -0
  26. package/docs/{WSL2_NIX_TROUBLESHOOTING.md → guides/WSL2_NIX_TROUBLESHOOTING.md} +8 -8
  27. package/docs/index.md +39 -0
  28. package/docs/interop/A2A.md +32 -0
  29. package/docs/manual/00-introduction.md +85 -0
  30. package/docs/manual/01-concepts/01-architecture.md +134 -0
  31. package/docs/manual/01-concepts/02-trust-model.md +178 -0
  32. package/docs/manual/01-concepts/03-theme-engine.md +182 -0
  33. package/docs/manual/01-concepts/04-fleet.md +142 -0
  34. package/docs/manual/01-concepts/05-self-healing.md +197 -0
  35. package/docs/manual/02-tutorials/01-first-install.md +192 -0
  36. package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
  37. package/docs/manual/02-tutorials/03-create-profile.md +238 -0
  38. package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
  39. package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
  40. package/docs/manual/03-reference/01-dot-cli.md +413 -0
  41. package/docs/manual/03-reference/02-config-files.md +259 -0
  42. package/docs/manual/03-reference/03-environment.md +120 -0
  43. package/docs/manual/03-reference/04-templates.md +184 -0
  44. package/docs/manual/03-reference/05-feature-flags.md +118 -0
  45. package/docs/manual/04-cookbook/01-recipes.md +281 -0
  46. package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
  47. package/docs/manual/04-cookbook/03-faq.md +167 -0
  48. package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
  49. package/docs/manual/05-appendices/B-security-checklist.md +78 -0
  50. package/docs/manual/05-appendices/C-glossary.md +36 -0
  51. package/docs/manual/05-appendices/D-bibliography.md +54 -0
  52. package/docs/manual/05-appendices/E-license.md +34 -0
  53. package/docs/manual/_toc.yml +58 -0
  54. package/docs/manual/command-index.md +58 -0
  55. package/docs/manual/concept-index.md +164 -0
  56. package/docs/operations/ATTESTATION.md +39 -0
  57. package/docs/operations/MAINTENANCE.md +59 -0
  58. package/docs/operations/MIGRATION.md +101 -0
  59. package/docs/operations/OPERATIONS.md +164 -0
  60. package/docs/operations/RELIABILITY.md +116 -0
  61. package/docs/{ROADMAP.md → operations/ROADMAP.md} +11 -11
  62. package/docs/operations/TESTING.md +195 -0
  63. package/docs/operations/TRACEABILITY.md +31 -0
  64. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
  65. package/docs/operations/VERSION_SYNC.md +344 -0
  66. package/docs/{ALIASES.md → reference/ALIASES.md} +2 -6
  67. package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
  68. package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
  69. package/docs/reference/FEATURES.md +62 -0
  70. package/docs/reference/FONTS.md +108 -0
  71. package/docs/reference/PROFILES.md +65 -0
  72. package/docs/{SCREENSHOTS.md → reference/SCREENSHOTS.md} +26 -25
  73. package/docs/reference/SCRIPTS.md +67 -0
  74. package/docs/reference/SUPPORT_MATRIX.md +74 -0
  75. package/docs/reference/THEMES.md +113 -0
  76. package/docs/reference/TOOLS.md +105 -0
  77. package/docs/reference/UTILS.md +151 -0
  78. package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
  79. package/docs/security/AUTOMATION_SECRETS.md +22 -0
  80. package/docs/security/COMPLIANCE.md +453 -0
  81. package/docs/security/ENCRYPTION.md +52 -0
  82. package/docs/security/FMEA.md +155 -0
  83. package/docs/security/INCIDENT_RESPONSE.md +575 -0
  84. package/docs/security/KEYS.md +45 -0
  85. package/docs/security/MCP_POLICY.md +69 -0
  86. package/docs/security/POLICY_RELEASES.md +33 -0
  87. package/docs/security/README.md +24 -0
  88. package/docs/security/SECRETS.md +146 -0
  89. package/docs/security/SECURITY.md +41 -0
  90. package/docs/security/SECURITY_CHECKLIST.md +44 -0
  91. package/docs/security/SOUP_REGISTER.md +32 -0
  92. package/docs/security/THREAT_MODEL.md +120 -0
  93. package/docs/security/VERIFICATION_VALIDATION.md +224 -0
  94. package/docs/themes/README.md +3 -17
  95. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
  96. package/docs/themes/hero-shot.svg +78 -0
  97. package/dot_config/.module-manifest.json +69 -0
  98. package/dot_config/ai/identity.md +20 -0
  99. package/dot_config/ai/patterns/architect.md +14 -0
  100. package/dot_config/ai/patterns/hardener.md +13 -0
  101. package/dot_config/ai/patterns/refactor.md +13 -0
  102. package/dot_config/aider/aider.conf.yml +1 -1
  103. package/dot_config/alacritty/alacritty.toml.tmpl +41 -469
  104. package/dot_config/atuin/config.toml +18 -1
  105. package/dot_config/bat/config +16 -1
  106. package/dot_config/claude/mcp_servers.json +3 -32
  107. package/dot_config/dotfiles/agent-card.json +29 -0
  108. package/dot_config/dotfiles/agent-profiles.json +92 -0
  109. package/dot_config/dotfiles/boot/README.md +1 -1
  110. package/dot_config/dotfiles/grub/README.md +1 -1
  111. package/dot_config/dotfiles/lock/README.md +1 -1
  112. package/dot_config/dotfiles/mcp-lock.json +33 -0
  113. package/dot_config/dotfiles/mcp-policy.json +52 -0
  114. package/dot_config/dotfiles/mcp-registry.json +47 -0
  115. package/dot_config/dotfiles/model-registry.json +20 -0
  116. package/dot_config/dotfiles/policy-bundles.json +38 -0
  117. package/dot_config/dotfiles/prompt-registry.json +16 -0
  118. package/dot_config/dotfiles/versions.env +18 -0
  119. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  120. package/dot_config/environment.d/90-wayland.conf +19 -0
  121. package/dot_config/firefox/user.js.tmpl +58 -0
  122. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  123. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  124. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  125. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  126. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  127. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  128. package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
  129. package/dot_config/fish/config.fish.tmpl +44 -0
  130. package/dot_config/fish/fish_plugins +1 -0
  131. package/dot_config/fish/functions/_.fish +3 -0
  132. package/dot_config/fish/functions/_cached_eval.fish +58 -0
  133. package/dot_config/fish/functions/als.fish +46 -0
  134. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  135. package/dot_config/fish/functions/c.fish +3 -0
  136. package/dot_config/fish/functions/cat.fish +9 -0
  137. package/dot_config/fish/functions/d.fish +7 -0
  138. package/dot_config/fish/functions/dot.fish +34 -0
  139. package/dot_config/fish/functions/h.fish +3 -0
  140. package/dot_config/fish/functions/l.fish +7 -0
  141. package/dot_config/fish/functions/la.fish +7 -0
  142. package/dot_config/fish/functions/ll.fish +7 -0
  143. package/dot_config/fish/functions/log_error.fish +13 -0
  144. package/dot_config/fish/functions/log_info.fish +13 -0
  145. package/dot_config/fish/functions/lr.fish +7 -0
  146. package/dot_config/fish/functions/lra.fish +7 -0
  147. package/dot_config/fish/functions/ls.fish +7 -0
  148. package/dot_config/fish/functions/lt.fish +7 -0
  149. package/dot_config/fish/functions/lta.fish +7 -0
  150. package/dot_config/fish/functions/notify-run.fish +11 -0
  151. package/dot_config/fish/functions/q.fish +3 -0
  152. package/dot_config/fish/functions/silent-run.fish +7 -0
  153. package/dot_config/fish/functions/yy.fish +8 -0
  154. package/dot_config/fontconfig/fonts.conf.tmpl +13 -0
  155. package/dot_config/foot/foot.ini.tmpl +33 -0
  156. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  157. package/dot_config/fzf/fzf.zsh +48 -0
  158. package/dot_config/ghostty/config.tmpl +69 -565
  159. package/dot_config/git/allowed_signers.tmpl +18 -0
  160. package/dot_config/git/commit-template +10 -0
  161. package/dot_config/gnupg/{gpg-agent.conf.tmpl → gpg-agent.conf} +3 -3
  162. package/dot_config/goose/config.yaml +2 -2
  163. package/dot_config/gtk-3.0/gtk.css.tmpl +59 -180
  164. package/dot_config/gtk-3.0/settings.ini.tmpl +5 -44
  165. package/dot_config/gtk-4.0/gtk.css.tmpl +79 -136
  166. package/dot_config/gtk-4.0/settings.ini.tmpl +5 -8
  167. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  168. package/dot_config/just/justfile +18 -0
  169. package/dot_config/kanshi/config.tmpl +22 -0
  170. package/dot_config/kitty/kitty.conf.tmpl +44 -508
  171. package/dot_config/lazygit/config.yml +18 -6
  172. package/dot_config/mako/config +47 -0
  173. package/dot_config/micro/settings.json +3 -0
  174. package/dot_config/mimeapps.list +77 -0
  175. package/dot_config/mise/config.toml +63 -5
  176. package/dot_config/mongosh/mongoshrc.js +1 -0
  177. package/dot_config/mpv/input.conf +47 -0
  178. package/dot_config/mpv/mpv.conf +47 -0
  179. package/dot_config/niri/config.kdl.tmpl +327 -0
  180. package/dot_config/nushell/aliases.nu +18 -0
  181. package/dot_config/nushell/completions.nu.tmpl +52 -0
  182. package/dot_config/nushell/config.nu.tmpl +86 -0
  183. package/dot_config/nushell/env.nu.tmpl +94 -0
  184. package/dot_config/nushell/functions.nu.tmpl +17 -0
  185. package/dot_config/nvim/init.lua +14 -0
  186. package/dot_config/nvim/lazy-lock.json +45 -14
  187. package/dot_config/nvim/lua/config/autocmds.lua +45 -1
  188. package/dot_config/nvim/lua/config/keymaps.lua +13 -8
  189. package/dot_config/nvim/lua/config/lazy.lua +22 -12
  190. package/dot_config/nvim/lua/config/options.lua +1 -0
  191. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  192. package/dot_config/nvim/lua/plugins/coding.lua +11 -29
  193. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  194. package/dot_config/nvim/lua/plugins/dap.lua +215 -4
  195. package/dot_config/nvim/lua/plugins/editor.lua +6 -10
  196. package/dot_config/nvim/lua/plugins/git.lua +1 -0
  197. package/dot_config/nvim/lua/plugins/lsp.lua +16 -81
  198. package/dot_config/nvim/lua/plugins/markdown.lua +1 -0
  199. package/dot_config/nvim/lua/plugins/rust.lua +1 -0
  200. package/dot_config/nvim/lua/plugins/sessions.lua +1 -0
  201. package/dot_config/nvim/lua/plugins/ui.lua +23 -51
  202. package/dot_config/paru/paru.conf +10 -0
  203. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  204. package/dot_config/pueue/pueue.yml +34 -0
  205. package/dot_config/raycast/README.md +1 -1
  206. package/dot_config/ripgrep/ripgreprc +21 -0
  207. package/dot_config/shell/00-core-paths.sh.tmpl +62 -24
  208. package/dot_config/shell/05-core-safety.sh +47 -0
  209. package/dot_config/shell/10-secrets.sh +40 -0
  210. package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
  211. package/dot_config/shell/40-ls-colors.sh +48 -0
  212. package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
  213. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
  214. package/dot_config/shell/90-ux-aliases.sh.tmpl +90 -5
  215. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +33 -2
  216. package/dot_config/shell/Brewfile.cli +8 -0
  217. package/dot_config/shell/README.md +9 -9
  218. package/dot_config/shell/als_data.txt.tmpl +65 -0
  219. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  220. package/dot_config/shell/custom/context_suggest.zsh +50 -50
  221. package/dot_config/shell/custom/error_analysis.zsh +29 -29
  222. package/dot_config/starship.toml.tmpl +85 -7
  223. package/dot_config/swaylock/config +43 -0
  224. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  225. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  226. package/dot_config/systemd/user/pueued.service +12 -0
  227. package/dot_config/systemd/user/ssh-agent.service +12 -0
  228. package/dot_config/tmux/tmux.conf.tmpl +80 -38
  229. package/dot_config/topgrade.toml.tmpl +54 -0
  230. package/dot_config/user-dirs.dirs +9 -0
  231. package/dot_config/vscode/settings.json.tmpl +9 -50
  232. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  233. package/dot_config/waybar/style.css.tmpl +211 -0
  234. package/dot_config/wezterm/wezterm.lua.tmpl +31 -203
  235. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  236. package/dot_config/yazi/keymap.toml +67 -0
  237. package/dot_config/yazi/theme.toml +102 -0
  238. package/dot_config/zathura/zathurarc +52 -0
  239. package/dot_config/zellij/{config.kdl → config.kdl.tmpl} +1 -1
  240. package/dot_config/zsh/dot_zprofile +1 -7
  241. package/dot_config/zsh/dot_zshenv +2 -3
  242. package/dot_config/zsh/dot_zshrc.tmpl +368 -69
  243. package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
  244. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +17 -4
  245. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +4 -4
  246. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  247. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +101 -30
  248. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  249. package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
  250. package/dot_local/bin/executable_ai-update +195 -0
  251. package/dot_local/bin/executable_ai_core +113 -91
  252. package/dot_local/bin/executable_antigravity +11 -0
  253. package/dot_local/bin/executable_b64 +61 -36
  254. package/dot_local/bin/executable_bm +77 -0
  255. package/dot_local/bin/executable_cb +39 -0
  256. package/dot_local/bin/executable_dot +543 -132
  257. package/dot_local/bin/executable_dot-ai +36 -0
  258. package/dot_local/bin/executable_dot-bootstrap +77 -0
  259. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  260. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  261. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  262. package/dot_local/bin/executable_dot-theme-sync +952 -0
  263. package/dot_local/bin/executable_dot_completion +2 -0
  264. package/dot_local/bin/executable_dtags +28 -0
  265. package/dot_local/bin/executable_epoch +43 -38
  266. package/dot_local/bin/executable_extract +32 -99
  267. package/dot_local/bin/executable_gbd +52 -0
  268. package/dot_local/bin/executable_gd +42 -0
  269. package/dot_local/bin/executable_git-ai-commit +35 -20
  270. package/dot_local/bin/executable_git-ai-diff +33 -18
  271. package/dot_local/bin/executable_gl +101 -0
  272. package/dot_local/bin/executable_hash +56 -18
  273. package/dot_local/bin/executable_hashsum +160 -0
  274. package/dot_local/bin/executable_hex +44 -8
  275. package/dot_local/bin/executable_jsonv +34 -10
  276. package/dot_local/bin/executable_jwt +22 -6
  277. package/dot_local/bin/executable_kill-port +18 -2
  278. package/dot_local/bin/executable_lorem +21 -6
  279. package/dot_local/bin/executable_mkscript +35 -0
  280. package/dot_local/bin/executable_monitor +56 -0
  281. package/dot_local/bin/{executable_ip → executable_myip} +16 -2
  282. package/dot_local/bin/executable_notify +22 -0
  283. package/dot_local/bin/executable_open +36 -0
  284. package/dot_local/bin/executable_pw +27 -0
  285. package/dot_local/bin/executable_rec-start +46 -0
  286. package/dot_local/bin/executable_rec-stop +35 -0
  287. package/dot_local/bin/executable_regex +49 -13
  288. package/dot_local/bin/executable_start-niri +8 -0
  289. package/dot_local/bin/executable_tmux-sessionizer +276 -149
  290. package/dot_local/bin/executable_tour +112 -74
  291. package/dot_local/bin/executable_up +21 -0
  292. package/dot_local/bin/executable_update +45 -11
  293. package/dot_local/bin/executable_uuid +37 -7
  294. package/dot_local/bin/executable_win +32 -0
  295. package/dot_local/bin/executable_yamlv +25 -7
  296. package/dot_local/share/bash-completion/completions/dot +62 -44
  297. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  298. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  299. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  300. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  301. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  302. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  303. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  304. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  305. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  306. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  307. package/dot_local/share/man/man1/dot.1 +149 -0
  308. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  309. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  310. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  311. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  312. package/dot_local/share/zsh/completions/_dot +283 -0
  313. package/install.sh +297 -210
  314. package/package.json +17 -5
  315. package/scripts/ci/check-copyright-headers.sh +96 -0
  316. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  317. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  318. package/scripts/ci/validate-ci-config.sh +41 -39
  319. package/scripts/demo/record.sh +3 -2
  320. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  321. package/scripts/diagnostics/alias-governance.sh +137 -0
  322. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  323. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  324. package/scripts/diagnostics/benchmark.sh +209 -29
  325. package/scripts/diagnostics/conflicts.sh +72 -0
  326. package/scripts/diagnostics/doctor-unified.sh +38 -0
  327. package/scripts/diagnostics/doctor.sh +491 -65
  328. package/scripts/diagnostics/drift-dashboard.sh +17 -6
  329. package/scripts/diagnostics/health.sh +351 -110
  330. package/scripts/diagnostics/history-analysis.sh +12 -4
  331. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  332. package/scripts/diagnostics/perf.sh +225 -0
  333. package/scripts/diagnostics/scorecard.sh +118 -0
  334. package/scripts/diagnostics/secret-governance.sh +58 -0
  335. package/scripts/diagnostics/security-score.sh +139 -93
  336. package/scripts/diagnostics/smoke-test.sh +87 -0
  337. package/scripts/diagnostics/snapshot.sh +89 -0
  338. package/scripts/diagnostics/verify.sh +107 -0
  339. package/scripts/diagnostics/verify_state.sh +2 -2
  340. package/scripts/diagnostics/version-locks.sh +79 -0
  341. package/scripts/diagnostics/workstation-attestation.sh +181 -0
  342. package/scripts/docs/build-manual.sh +883 -0
  343. package/scripts/docs/check-manual.sh +213 -0
  344. package/scripts/dot/commands/agent.sh +465 -0
  345. package/scripts/dot/commands/ai.sh +416 -0
  346. package/scripts/dot/commands/aliases.sh +250 -0
  347. package/scripts/dot/commands/appearance.sh +21 -4
  348. package/scripts/dot/commands/core.sh +59 -4
  349. package/scripts/dot/commands/diagnostics.sh +132 -3
  350. package/scripts/dot/commands/fleet.sh +399 -0
  351. package/scripts/dot/commands/lint.sh +177 -0
  352. package/scripts/dot/commands/manual.sh +168 -0
  353. package/scripts/dot/commands/meta.sh +148 -17
  354. package/scripts/dot/commands/patterns.sh +54 -0
  355. package/scripts/dot/commands/restore.sh +57 -35
  356. package/scripts/dot/commands/secrets.sh +151 -9
  357. package/scripts/dot/commands/security.sh +3 -0
  358. package/scripts/dot/commands/tools.sh +268 -27
  359. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  360. package/scripts/dot/lib/bento.sh +49 -0
  361. package/scripts/dot/lib/log.sh +194 -0
  362. package/scripts/dot/lib/platform.sh +98 -0
  363. package/scripts/dot/lib/ui.sh +507 -0
  364. package/scripts/dot/lib/utils.sh +318 -18
  365. package/scripts/fonts/install-nerd-fonts.sh +19 -10
  366. package/scripts/fonts/patch-fonts.sh +1 -0
  367. package/scripts/git-hooks/install.sh +11 -0
  368. package/scripts/git-hooks/pre-commit +12 -0
  369. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  370. package/scripts/git-hooks/pre-push +29 -0
  371. package/scripts/git-hooks/prepare-commit-msg +29 -0
  372. package/scripts/lib/secrets_provider.sh +158 -0
  373. package/scripts/maintenance/check-updates.sh +131 -0
  374. package/scripts/ops/ai-setup.sh +55 -0
  375. package/scripts/ops/bundle.sh +77 -0
  376. package/scripts/ops/chaos.sh +49 -0
  377. package/scripts/ops/chezmoi-apply.sh +245 -17
  378. package/scripts/ops/chezmoi-diff.sh +1 -0
  379. package/scripts/ops/chezmoi-remove.sh +2 -0
  380. package/scripts/ops/chezmoi-update.sh +34 -2
  381. package/scripts/ops/heal-chezmoi.sh +51 -0
  382. package/scripts/ops/heal-system.sh +128 -0
  383. package/scripts/ops/heal-tools.sh +340 -0
  384. package/scripts/ops/heal.sh +98 -342
  385. package/scripts/ops/post-apply-repair.sh +106 -0
  386. package/scripts/ops/prewarm.sh +127 -0
  387. package/scripts/ops/release.sh +252 -0
  388. package/scripts/ops/rollback.sh +86 -28
  389. package/scripts/ops/setup.sh +137 -0
  390. package/scripts/ops/teleport.sh +2 -1
  391. package/scripts/qa/coverage-baseline.sh +60 -0
  392. package/scripts/qa/docs-coverage.sh +111 -0
  393. package/scripts/qa/reliability-audit.sh +138 -0
  394. package/scripts/qa/traceability-coverage.sh +116 -0
  395. package/scripts/qa/validate-examples.sh +26 -0
  396. package/scripts/qa/wsl-contract.sh +11 -0
  397. package/scripts/release/package-policy-bundles.sh +125 -0
  398. package/scripts/secrets/age-init.sh +1 -0
  399. package/scripts/secrets/create-secrets-file.sh +1 -0
  400. package/scripts/secrets/encrypt-ssh-key.sh +1 -0
  401. package/scripts/security/backup.sh +44 -4
  402. package/scripts/security/dns-doh.sh +36 -14
  403. package/scripts/security/encryption-check.sh +27 -12
  404. package/scripts/security/enforce-policies.sh +11 -16
  405. package/scripts/security/firewall.sh +76 -20
  406. package/scripts/security/lock-configs.sh +2 -2
  407. package/scripts/security/lock-screen.sh +40 -18
  408. package/scripts/security/manage-secrets.sh +42 -29
  409. package/scripts/security/ssh-cert.sh +203 -0
  410. package/scripts/security/telemetry-kill.sh +40 -18
  411. package/scripts/security/usb-safety.sh +37 -15
  412. package/scripts/theme/apply-gnome-theme.sh +87 -56
  413. package/scripts/theme/extract-theme.py +677 -0
  414. package/scripts/theme/install-boot-logo.sh +1 -0
  415. package/scripts/theme/install-catppuccin-themes.sh +57 -33
  416. package/scripts/theme/install-cursors.sh +1 -0
  417. package/scripts/theme/install-file-icons.sh +1 -0
  418. package/scripts/theme/install-grub-theme.sh +11 -1
  419. package/scripts/theme/install-lock-icon.sh +1 -0
  420. package/scripts/theme/merge-wallpaper.sh +141 -0
  421. package/scripts/theme/rebuild-themes.sh +309 -0
  422. package/scripts/theme/switch.sh +308 -137
  423. package/scripts/theme/wallpaper-rotate.sh +66 -12
  424. package/scripts/theme/wallpaper-sync.sh +386 -31
  425. package/scripts/tools/cmatrix.sh +1 -0
  426. package/scripts/tools/detect-collisions.py +1 -1
  427. package/scripts/tools/emoji-picker.sh +4 -1
  428. package/scripts/tools/figlet-banner.sh +1 -0
  429. package/scripts/tools/log-rotate.sh +2 -1
  430. package/scripts/tools/lolcat-wrap.sh +1 -0
  431. package/scripts/tools/pipes.sh +1 -0
  432. package/scripts/tuning/linux.sh +23 -13
  433. package/scripts/tuning/macos.sh +13 -4
  434. package/scripts/uninstall.sh +85 -0
  435. package/scripts/version-sync.sh +487 -0
  436. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  437. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  438. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  439. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  440. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  441. package/templates/projects/go/README.md +1 -1
  442. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  443. package/templates/projects/go/go.sum +0 -0
  444. package/templates/projects/molecule/README.md +1 -1
  445. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  446. package/templates/projects/node/README.md +1 -1
  447. package/templates/projects/node/package-lock.json +12 -0
  448. package/templates/projects/node/src/index.js +1 -0
  449. package/templates/projects/packer/README.md +1 -1
  450. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  451. package/templates/projects/python/README.md +1 -1
  452. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  453. package/templates/projects/python/tests/test_basic.py +1 -0
  454. package/docs/ARCHITECTURE.md +0 -229
  455. package/docs/COMPLIANCE.md +0 -47
  456. package/docs/FEATURES.md +0 -166
  457. package/docs/FONTS.md +0 -147
  458. package/docs/INSTALL.md +0 -119
  459. package/docs/KEYS.md +0 -40
  460. package/docs/OPERATIONS.md +0 -130
  461. package/docs/PR_DESCRIPTION.md +0 -149
  462. package/docs/SECRETS.md +0 -76
  463. package/docs/SECURITY.md +0 -30
  464. package/docs/SECURITY_CHECKLIST.md +0 -25
  465. package/docs/TASK.md +0 -99
  466. package/docs/TESTING.md +0 -190
  467. package/docs/TOOLS.md +0 -146
  468. package/docs/UTILS.md +0 -105
  469. package/docs/WALKTHROUGH.md +0 -165
  470. package/dot_config/clippy.toml +0 -55
  471. package/dot_config/dotfiles/versions.env.tmpl +0 -19
  472. package/dot_config/firefox/user.js +0 -8
  473. package/dot_config/git/config.tmpl +0 -77
  474. package/dot_config/go/aliases.sh +0 -61
  475. package/dot_config/go/env.sh +0 -24
  476. package/dot_config/ice/README.md +0 -13
  477. package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
  478. package/dot_config/lsd/config.yaml +0 -19
  479. package/dot_config/nvim/snippets/all.lua +0 -9
  480. package/dot_config/nvim/snippets/python.lua +0 -16
  481. package/dot_config/shell/00-container-detect.sh +0 -53
  482. package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
  483. package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
  484. package/dot_config/shell/90-theme-switch.sh +0 -70
  485. package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
  486. package/dot_config/waybar/style.css +0 -8
  487. package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
  488. package/dot_local/bin/executable_zig-install +0 -89
  489. package/dot_local/bin/voice_ops +0 -7
  490. package/scripts/ops/health-check.sh +0 -380
  491. package/scripts/tests/README.md +0 -241
  492. package/scripts/tests/benchmark.sh +0 -91
  493. package/scripts/tests/framework/assertions.sh +0 -283
  494. package/scripts/tests/framework/mocks.sh +0 -201
  495. package/scripts/tests/framework/test_runner.sh +0 -189
  496. package/scripts/tests/integration/test_install.sh +0 -237
  497. package/scripts/tests/performance/benchmark_runner.sh +0 -156
  498. package/scripts/tests/performance/regression_check.sh +0 -73
  499. package/scripts/tests/performance/stress_test.sh +0 -65
  500. package/scripts/tests/test-aliases.sh +0 -25
  501. package/scripts/tests/test-docker.sh +0 -48
  502. package/scripts/tests/unit/test_ai_aliases.sh +0 -158
  503. package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
  504. package/scripts/tests/unit/test_backup.sh +0 -227
  505. package/scripts/tests/unit/test_case_functions.sh +0 -238
  506. package/scripts/tests/unit/test_cd_aliases.sh +0 -367
  507. package/scripts/tests/unit/test_dot_cli.sh +0 -217
  508. package/scripts/tests/unit/test_encode64.sh +0 -67
  509. package/scripts/tests/unit/test_environment.sh +0 -78
  510. package/scripts/tests/unit/test_extract.sh +0 -163
  511. package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
  512. package/scripts/tests/unit/test_genpass.sh +0 -298
  513. package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
  514. package/scripts/tests/unit/test_installers.sh +0 -172
  515. package/scripts/tests/unit/test_keygen.sh +0 -68
  516. package/scripts/tests/unit/test_logging.sh +0 -96
  517. package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
  518. package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
  519. package/scripts/tests/unit/test_prependpath.sh +0 -66
  520. package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
  521. package/scripts/tests/unit/test_rd.sh +0 -230
  522. package/scripts/tests/unit/test_security_fixes.sh +0 -130
  523. package/scripts/tests/unit/test_security_scripts.sh +0 -87
  524. package/scripts/tests/unit/test_template_validation.sh +0 -238
  525. package/scripts/tests/unit/test_utility_functions.sh +0 -144
  526. package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
  527. package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
  528. package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
  529. package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
  530. package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
  531. package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
  532. package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
  533. package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
  534. package/scripts/tests/unit/test_zipf.sh +0 -76
  535. /package/docs/{LEGACY_ROADMAP.md → archive/LEGACY_ROADMAP.md} +0 -0
  536. /package/docs/{REPO_AUDIT.md → archive/REPO_AUDIT.md} +0 -0
  537. /package/docs/{KEY_ROTATION.md → security/KEY_ROTATION.md} +0 -0
  538. /package/dot_config/ansible/{ansible.cfg.tmpl → ansible.cfg} +0 -0
  539. /package/dot_config/docker/{config.json.tmpl → config.json} +0 -0
  540. /package/dot_config/k9s/{config.yaml.tmpl → config.yaml} +0 -0
  541. /package/dot_config/pypoetry/{config.toml.tmpl → config.toml} +0 -0
  542. /package/dot_config/{pyrightconfig.json.tmpl → pyrightconfig.json} +0 -0
  543. /package/dot_config/tflint/{tflint.hcl.tmpl → tflint.hcl} +0 -0
  544. /package/dot_config/yarn/{yarnrc.yml.tmpl → yarnrc.yml} +0 -0
  545. /package/dot_config/zsh/rc.d/{40-bell.zsh.tmpl → 40-bell.zsh} +0 -0
  546. /package/dot_config/zsh/rc.d/{50-login-fortune.zsh.tmpl → 50-login-fortune.zsh} +0 -0
@@ -0,0 +1,149 @@
1
+ .TH DOT 1 "April 2026" "dotfiles v0.2.500" "User Commands"
2
+ .SH NAME
3
+ dot \- dotfiles management CLI
4
+ .SH SYNOPSIS
5
+ .B dot
6
+ .RI [ command ]
7
+ .RI [ options ]
8
+ .SH DESCRIPTION
9
+ .B dot
10
+ is the control plane for a chezmoi-managed dotfiles system. It provides
11
+ commands for applying configuration, diagnostics, repair, security, and
12
+ AI-assisted development workflows.
13
+ .SH COMMANDS
14
+ .SS Core
15
+ .TP
16
+ .B apply
17
+ Converge the machine onto the tracked configuration.
18
+ .TP
19
+ .B update
20
+ Pull the latest state and pre-warm slow paths.
21
+ .TP
22
+ .B sync
23
+ Alias for apply.
24
+ .TP
25
+ .B diff
26
+ Show chezmoi diff with exclusions.
27
+ .TP
28
+ .B status
29
+ Show configuration drift.
30
+ .TP
31
+ .B add \fIfile\fR
32
+ Add a file to chezmoi source.
33
+ .TP
34
+ .B remove \fIfile\fR
35
+ Safely remove a managed file.
36
+ .TP
37
+ .B edit
38
+ Open chezmoi source in $EDITOR.
39
+ .TP
40
+ .B cd
41
+ Print source directory path.
42
+ .SS Diagnostics
43
+ .TP
44
+ .B doctor
45
+ Audit tools, paths, portability, and security posture.
46
+ .TP
47
+ .B health
48
+ Run health dashboard.
49
+ .TP
50
+ .B heal
51
+ Auto-repair tools, chezmoi drift, broken symlinks, and missing files.
52
+ .TP
53
+ .B smoke\-test
54
+ Exercise critical toolchains and integrations.
55
+ .TP
56
+ .B benchmark
57
+ Run shell startup performance benchmarks.
58
+ .TP
59
+ .B score
60
+ Compute overall system health score.
61
+ .SS Recovery
62
+ .TP
63
+ .B rollback
64
+ Manage backups and rollback to previous states.
65
+ .TP
66
+ .B bundle
67
+ Produce a portable support or recovery archive.
68
+ .TP
69
+ .B snapshot
70
+ Create a baseline snapshot.
71
+ .SS Security
72
+ .TP
73
+ .B attest
74
+ Export machine-readable workstation evidence.
75
+ .TP
76
+ .B secrets \fIsubcommand\fR
77
+ Manage encrypted secrets (load, edit, provider).
78
+ .TP
79
+ .B mcp
80
+ MCP policy validation and server management.
81
+ .SS AI
82
+ .TP
83
+ .B ai
84
+ AI CLI status dashboard and interactive launcher.
85
+ .TP
86
+ .B ai\-setup
87
+ Bootstrap and authenticate AI CLIs.
88
+ .TP
89
+ .B cl, copilot, gemini, kiro, sgpt, ollama, opencode, aider
90
+ AI bridge commands with context pattern injection.
91
+ .TP
92
+ .B autohand, vibe, qwen, zai
93
+ Additional AI coding CLI bridges.
94
+ .SS Tools
95
+ .TP
96
+ .B env
97
+ Inspect or modify environment variables.
98
+ .TP
99
+ .B profile
100
+ Show or switch active profile.
101
+ .TP
102
+ .B prewarm
103
+ Regenerate shell caches for fast startup.
104
+ .TP
105
+ .B clean\-cache
106
+ Clear shell initialization caches.
107
+ .TP
108
+ .B learn
109
+ Interactive tour of dotfiles features.
110
+ .SH ENVIRONMENT
111
+ .TP
112
+ .B DOTFILES_FAST=1
113
+ Skip heavy layers (zinit, completions) for fast startup.
114
+ .TP
115
+ .B DOTFILES_ULTRA_FAST=1
116
+ Bare minimum shell (aliases + prompt only).
117
+ .TP
118
+ .B DOTFILES_AI=1
119
+ Enable AI helper scripts.
120
+ .TP
121
+ .B DOTFILES_NONINTERACTIVE=1
122
+ Force non-interactive mode (for CI/scripts).
123
+ .TP
124
+ .B DOTFILES_PREWARM_ON_APPLY=1
125
+ Auto-prewarm caches after dot apply (default: enabled).
126
+ .SH FILES
127
+ .TP
128
+ .I ~/.dotfiles/
129
+ Repository root (chezmoi source).
130
+ .TP
131
+ .I ~/.config/chezmoi/chezmoi.toml
132
+ Per-machine overrides.
133
+ .TP
134
+ .I ~/.config/dotfiles/commands/
135
+ User-provided custom dot commands.
136
+ .TP
137
+ .I ~/.config/dotfiles/modules.d/
138
+ User-provided aliases and functions.
139
+ .TP
140
+ .I ~/.config/zsh/rc.d.local/
141
+ User-provided zsh initialization scripts.
142
+ .SH SEE ALSO
143
+ .BR chezmoi (1),
144
+ .BR mise (1),
145
+ .BR zsh (1)
146
+ .SH AUTHORS
147
+ Sebastien Rousseau <sebastian.rousseau@gmail.com>
148
+ .SH BUGS
149
+ Report issues at https://github.com/sebastienrousseau/dotfiles/issues
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env bash
2
+ # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
+ set -euo pipefail
4
+
5
+ OS="$(uname -s)"
6
+ ARCH="$(uname -m)"
7
+
8
+ case "$OS" in
9
+ Darwin) target_os="darwin" ;;
10
+ Linux) target_os="linux" ;;
11
+ *)
12
+ echo "Unsupported OS: $OS" >&2
13
+ exit 1
14
+ ;;
15
+ esac
16
+
17
+ case "$ARCH" in
18
+ x86_64 | amd64) target_arch="x86_64" ;;
19
+ arm64 | aarch64) target_arch="aarch64" ;;
20
+ *)
21
+ echo "Unsupported arch: $ARCH" >&2
22
+ exit 1
23
+ ;;
24
+ esac
25
+
26
+ BASE_URL="https://desktop-release.q.us-east-1.amazonaws.com"
27
+
28
+ if [[ "$target_os" == "darwin" ]]; then
29
+ app_path="/Applications/Kiro CLI.app/Contents/MacOS"
30
+
31
+ if [[ ! -x "$app_path/kiro-cli" ]]; then
32
+ if ! command -v brew >/dev/null 2>&1; then
33
+ echo "Kiro CLI.app not found and Homebrew is unavailable." >&2
34
+ exit 1
35
+ fi
36
+
37
+ if brew list --cask kiro-cli >/dev/null 2>&1; then
38
+ brew upgrade --cask kiro-cli
39
+ else
40
+ brew install --cask kiro-cli
41
+ fi
42
+ fi
43
+
44
+ mkdir -p "$ASDF_DOWNLOAD_PATH/kirocli/bin"
45
+ cp "$app_path/kiro-cli" "$ASDF_DOWNLOAD_PATH/kirocli/bin/"
46
+ cp "$app_path/kiro-cli-chat" "$ASDF_DOWNLOAD_PATH/kirocli/bin/"
47
+ cp "$app_path/kiro-cli-term" "$ASDF_DOWNLOAD_PATH/kirocli/bin/"
48
+ exit 0
49
+ fi
50
+
51
+ # Linux
52
+ # Check for musl (simplified check)
53
+ if ldd /bin/ls 2>&1 | grep -q musl; then
54
+ filename="kirocli-${target_arch}-linux-musl.zip"
55
+ else
56
+ filename="kirocli-${target_arch}-linux.zip"
57
+ fi
58
+
59
+ download_url="${BASE_URL}/latest/$filename"
60
+
61
+ echo "Downloading Kiro CLI from $download_url..."
62
+ curl -fsSL -o "$ASDF_DOWNLOAD_PATH/kiro-cli.zip" "$download_url"
63
+ unzip -q "$ASDF_DOWNLOAD_PATH/kiro-cli.zip" -d "$ASDF_DOWNLOAD_PATH"
64
+ rm "$ASDF_DOWNLOAD_PATH/kiro-cli.zip"
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env bash
2
+ # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
+ set -euo pipefail
4
+
5
+ install_path="$ASDF_INSTALL_PATH"
6
+ download_path="$ASDF_DOWNLOAD_PATH"
7
+
8
+ mkdir -p "$install_path/bin"
9
+
10
+ # The zip contains a 'kirocli/bin' directory
11
+ cp "$download_path/kirocli/bin/kiro-cli" "$install_path/bin/"
12
+ cp "$download_path/kirocli/bin/kiro-cli-chat" "$install_path/bin/"
13
+ cp "$download_path/kirocli/bin/kiro-cli-term" "$install_path/bin/"
14
+
15
+ # Create symlink for 'kiro'
16
+ ln -sf "kiro-cli" "$install_path/bin/kiro"
17
+
18
+ echo "Kiro CLI installed to $install_path"
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env bash
2
+ # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
+ set -euo pipefail
4
+
5
+ if [[ "$(uname -s)" == "Darwin" ]] && command -v brew >/dev/null 2>&1; then
6
+ version="$(brew info --cask --json=v2 kiro-cli 2>/dev/null | sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -n 1)"
7
+ if [[ -n "${version:-}" ]]; then
8
+ printf '%s\n' "$version"
9
+ exit 0
10
+ fi
11
+ fi
12
+
13
+ echo "1.27.0 1.27.1"
@@ -0,0 +1,6 @@
1
+ [Desktop Entry]
2
+ Name=Niri
3
+ Comment=Scrollable Wayland compositor
4
+ Exec={{ .chezmoi.homeDir }}/.local/bin/start-niri
5
+ Type=Application
6
+ DesktopNames=niri
@@ -0,0 +1,283 @@
1
+ #compdef dot
2
+
3
+ # Zsh completion for the dot CLI (dotfiles manager)
4
+ # Installed to: ~/.local/share/zsh/completions/_dot
5
+
6
+ _dot() {
7
+ local -a commands
8
+
9
+ commands=(
10
+ # Core
11
+ 'apply:Apply dotfiles via chezmoi'
12
+ 'sync:Apply dotfiles (alias of apply)'
13
+ 'update:Pull latest changes and apply them'
14
+ 'clean-cache:Clear shell initialization caches'
15
+ 'prewarm:Regenerate shell caches for ultra-fast startup'
16
+ 'cl:Claude CLI with context patterns'
17
+ 'copilot:GitHub Copilot CLI with context patterns'
18
+ 'gemini:Gemini CLI with context patterns'
19
+ 'kiro:Kiro CLI with context patterns'
20
+ 'sgpt:Shell-GPT with context patterns'
21
+ 'ollama:Ollama with context patterns'
22
+ 'opencode:OpenCode with context patterns'
23
+ 'aider:Aider with context patterns'
24
+ 'add:Add a file to chezmoi source'
25
+ 'diff:Show chezmoi diff with exclusions'
26
+ 'status:Show configuration drift'
27
+ 'remove:Safely remove a managed file'
28
+ 'cd:Print source directory path'
29
+ 'edit:Open chezmoi source in \$EDITOR'
30
+ 'commit:AI-powered conventional commit'
31
+ 'patterns:Manage AI steering patterns'
32
+
33
+ # Diagnostics
34
+ 'doctor:Check system health and configuration'
35
+ 'heal:Auto-repair common dotfiles issues'
36
+ 'health:Run comprehensive health check'
37
+ 'smoke-test:Run automated toolchain verification'
38
+ 'chaos:Simulate config corruption to test self-healing'
39
+ 'scorecard:Unified health/security/performance scorecard'
40
+ 'security-score:Analyze infrastructure security score'
41
+ 'intelligence:Show Dotfiles Intelligence Surface'
42
+ 'rollback:Rollback dotfiles to a previous state'
43
+ 'drift:Drift dashboard (detailed chezmoi status)'
44
+ 'history:Shell history analysis'
45
+ 'benchmark:Run shell startup benchmark'
46
+ 'perf:Show performance mode and timing'
47
+ 'load:Preload heavy shell layers'
48
+ 'load-bench:Measure time to heavy-layer readiness'
49
+ 'load-bench-pty:Measure background prewarm via PTY'
50
+ 'ai:Show AI helper status'
51
+ 'ai-setup:Interactive setup for all AI CLI tools'
52
+ 'ai-query:Context-aware RAG query over your dotfiles'
53
+ 'conflicts:Report alias/command conflicts'
54
+ 'locks:Show version locks for key tools'
55
+ 'snapshot:Capture baseline system snapshot'
56
+ 'verify:Run post-merge verification checks'
57
+
58
+ # Tools
59
+ 'tools:Show or install nix packages'
60
+ 'new:Create a new project from a template'
61
+ 'sandbox:Launch a safe sandbox preview'
62
+ 'keys:Show keybindings catalog'
63
+ 'aliases:List/search/explain aliases and tiers'
64
+ 'learn:Start the interactive tour'
65
+ 'docs:Show repo README'
66
+ 'log-rotate:Rotate dotfiles log'
67
+ 'setup:Interactive setup (profile, features, secrets)'
68
+
69
+ # Appearance
70
+ 'theme:Switch terminal theme'
71
+ 'wallpaper:Apply a wallpaper'
72
+ 'fonts:Install Nerd Fonts'
73
+ 'tune:Apply OS tuning'
74
+
75
+ # Secrets
76
+ 'secrets-init:Initialize age key for secrets'
77
+ 'secrets:Manage secrets (edit|set|get|list|load|provider)'
78
+ 'secrets-create:Create an encrypted secrets file'
79
+ 'ssh-key:Encrypt an SSH key with age'
80
+ 'ssh-cert:Manage short-lived SSH certificates'
81
+ 'env:Load environment buckets from managed secrets'
82
+
83
+ # Security
84
+ 'backup:Create a compressed backup of home'
85
+ 'bundle:Create offline archive of dotfiles environment'
86
+ 'encrypt-check:Check disk encryption status'
87
+ 'firewall:Apply firewall hardening'
88
+ 'telemetry:Disable OS telemetry'
89
+ 'dns-doh:Enable DNS-over-HTTPS'
90
+ 'lock-screen:Enforce lock screen idle settings'
91
+ 'usb-safety:Disable automount for removable media'
92
+
93
+ # Meta
94
+ 'upgrade:Update flake, plugins, and dotfiles'
95
+ 'packages:List installed packages'
96
+ 'version:Show version information'
97
+ '--version:Show version information'
98
+ 'help:Show help message'
99
+ )
100
+
101
+ _arguments -C \
102
+ '1:command:->cmds' \
103
+ '*::arg:->args'
104
+
105
+ case "$state" in
106
+ cmds)
107
+ _describe -t commands 'dot command' commands
108
+ ;;
109
+ args)
110
+ case "$words[1]" in
111
+ new)
112
+ if ((CURRENT == 2)); then
113
+ local -a templates=(python go node packer molecule)
114
+ _describe -t templates 'project template' templates
115
+ else
116
+ _files
117
+ fi
118
+ ;;
119
+ add | remove)
120
+ _files
121
+ ;;
122
+ keys)
123
+ _message 'search pattern (optional)'
124
+ ;;
125
+ perf)
126
+ local -a perf_opts=(
127
+ '--json:Output as JSON'
128
+ '-j:Output as JSON'
129
+ '--profile:Include profile output'
130
+ '-p:Include profile output'
131
+ '--runs:Set the number of runs'
132
+ '-r:Set the number of runs'
133
+ '--target:Set the timing target in milliseconds'
134
+ '-t:Set the timing target in milliseconds'
135
+ )
136
+ _describe -t options 'perf option' perf_opts
137
+ ;;
138
+ doctor)
139
+ local -a doctor_opts=(
140
+ '--heal:Auto-repair common issues'
141
+ '-H:Auto-repair common issues'
142
+ '--score:Show score output'
143
+ '-s:Show score output'
144
+ '--json:Emit JSON summary'
145
+ '-j:Emit JSON summary'
146
+ '--ai:Include AI diagnostics'
147
+ '-A:Include AI diagnostics'
148
+ )
149
+ _describe -t options 'doctor option' doctor_opts
150
+ ;;
151
+ attest)
152
+ local -a attest_opts=(
153
+ '--json:Emit JSON output'
154
+ '-j:Emit JSON output'
155
+ '--write:Write attestation to a file'
156
+ '-w:Write attestation to a file'
157
+ )
158
+ _describe -t options 'attest option' attest_opts
159
+ ;;
160
+ lint)
161
+ local -a lint_opts=(
162
+ '--check:Run check-only mode'
163
+ '-c:Run check-only mode'
164
+ '--fix:Apply safe fixes'
165
+ '-f:Apply safe fixes'
166
+ )
167
+ _describe -t options 'lint option' lint_opts
168
+ ;;
169
+ mcp)
170
+ local -a mcp_opts=(
171
+ 'registry:Show the MCP registry'
172
+ '--strict:Treat policy warnings as errors'
173
+ '-s:Treat policy warnings as errors'
174
+ '--json:Emit JSON summary'
175
+ '-j:Emit JSON summary'
176
+ )
177
+ _describe -t options 'mcp option' mcp_opts
178
+ ;;
179
+ health)
180
+ local -a health_opts=(
181
+ '--verbose:Show detailed checks'
182
+ '-v:Show detailed checks'
183
+ '--json:Emit JSON summary'
184
+ '-j:Emit JSON summary'
185
+ '--fix:Apply common fixes'
186
+ '-f:Apply common fixes'
187
+ '--force:Apply fixes without prompts'
188
+ '-F:Apply fixes without prompts'
189
+ )
190
+ _describe -t options 'health option' health_opts
191
+ ;;
192
+ security-score)
193
+ local -a security_opts=(
194
+ '--verbose:Show detailed scoring'
195
+ '-v:Show detailed scoring'
196
+ '--quiet:Reduce output noise'
197
+ '-q:Reduce output noise'
198
+ '--json:Emit JSON summary'
199
+ '-j:Emit JSON summary'
200
+ )
201
+ _describe -t options 'security-score option' security_opts
202
+ ;;
203
+ snapshot)
204
+ local -a snapshot_opts=(
205
+ '--baseline:Capture the baseline snapshot'
206
+ '-b:Capture the baseline snapshot'
207
+ '--force:Overwrite an existing snapshot'
208
+ '-f:Overwrite an existing snapshot'
209
+ )
210
+ _describe -t options 'snapshot option' snapshot_opts
211
+ ;;
212
+ verify)
213
+ local -a verify_opts=(
214
+ '--security:Run security verification'
215
+ '-s:Run security verification'
216
+ )
217
+ _describe -t options 'verify option' verify_opts
218
+ ;;
219
+ restore)
220
+ local -a restore_opts=(
221
+ '--list:List available backups'
222
+ '-l:List available backups'
223
+ '--latest:Restore the latest backup'
224
+ '-L:Restore the latest backup'
225
+ '--git:Restore from a git ref'
226
+ '-g:Restore from a git ref'
227
+ '--diff:Show a diff for a git ref'
228
+ '-d:Show a diff for a git ref'
229
+ '--dry-run:Preview the restore'
230
+ '-n:Preview the restore'
231
+ )
232
+ _describe -t options 'restore option' restore_opts
233
+ ;;
234
+ load)
235
+ local -a load_opts=('--background:Load in background' '--status:Show load status')
236
+ _describe -t options 'load option' load_opts
237
+ ;;
238
+ tools)
239
+ local -a tool_cmds=('install:Enter Nix development shell')
240
+ _describe -t subcommands 'tools subcommand' tool_cmds
241
+ ;;
242
+ theme)
243
+ local -a themes=(dark light)
244
+ _describe -t themes 'theme mode' themes
245
+ ;;
246
+ ssh-cert)
247
+ local -a cert_cmds=(
248
+ 'issue:Request a short-lived SSH certificate'
249
+ 'status:Show current certificate status'
250
+ 'revoke:Revoke an active certificate'
251
+ )
252
+ _describe -t subcommands 'ssh-cert subcommand' cert_cmds
253
+ ;;
254
+ secrets)
255
+ local -a secrets_cmds=(
256
+ 'edit:Edit encrypted secrets'
257
+ 'set:Set a secret value'
258
+ 'get:Get a secret value'
259
+ 'list:List secret keys'
260
+ 'load:Load secrets into environment'
261
+ 'provider:Show/switch secrets provider'
262
+ )
263
+ _describe -t subcommands 'secrets subcommand' secrets_cmds
264
+ ;;
265
+ cl | copilot | gemini | kiro | sgpt | ollama | opencode | aider)
266
+ _arguments -C \
267
+ '(--pattern -p)'{--pattern,-p}'[Specify steering pattern]:pattern:->patterns' \
268
+ '*:prompt: '
269
+ if [[ "$state" == "patterns" ]]; then
270
+ local -a patterns
271
+ patterns=($(ls -1 "${XDG_CONFIG_HOME:-$HOME/.config}/ai/patterns" 2>/dev/null | sed 's/\.md$//'))
272
+ _describe -t patterns 'AI pattern' patterns
273
+ fi
274
+ ;;
275
+ *)
276
+ _default
277
+ ;;
278
+ esac
279
+ ;;
280
+ esac
281
+ }
282
+
283
+ _dot "$@"