@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,54 @@
1
+ # Appendix D: Bibliography
2
+
3
+ Cited works and recommended reading.
4
+
5
+ ## Algorithms
6
+
7
+ - **MacQueen, J. (1967).** *Some methods for classification and analysis of multivariate observations.* Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability. — The original K-Means paper.
8
+ - **Arthur, D. & Vassilvitskii, S. (2007).** *K-Means++: The advantages of careful seeding.* ACM-SIAM Symposium on Discrete Algorithms. <https://theory.stanford.edu/~sergei/papers/kMeansPP-soda.pdf>
9
+ - **Heckbert, P. (1982).** *Color image quantization for frame buffer display.* Computer Graphics 16(3). — Median cut algorithm, the alternative to K-Means.
10
+
11
+ ## Color Science
12
+
13
+ - **CIE (1976).** *Recommendations on uniform color spaces, color-difference equations, psychometric color terms.* Supplement No. 2 to CIE Publication No. 15. — Defines CIELAB.
14
+ - **Lindbloom, B. J.** *RGB/XYZ matrices.* <http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html> — sRGB → XYZ conversion reference.
15
+ - **Fairchild, M. D. (2013).** *Color Appearance Models, 3rd Edition.* Wiley. — Comprehensive treatment of perceptual color spaces.
16
+
17
+ ## Accessibility
18
+
19
+ - **W3C (2023).** *Web Content Accessibility Guidelines (WCAG) 2.2.* <https://www.w3.org/TR/WCAG22/> — Accessibility standards including contrast ratios.
20
+ - **W3C.** *Techniques for WCAG 2.2: G17 Using a contrast ratio of at least 7:1.* <https://www.w3.org/WAI/WCAG22/Techniques/general/G17>
21
+
22
+ ## Cryptography
23
+
24
+ - **Valsorda, F. (2020).** *age: A simple, modern and secure encryption tool.* <https://age-encryption.org/>
25
+ - **Mozilla.** *SOPS: Secrets OPerationS.* <https://github.com/getsops/sops>
26
+ - **Barnes, R., et al. (2023).** *RFC 9420: The Messaging Layer Security (MLS) Protocol.* — Modern group-key agreement, relevant to multi-recipient encryption.
27
+
28
+ ## Protocols
29
+
30
+ - **Anthropic.** *Model Context Protocol specification.* <https://modelcontextprotocol.io/>
31
+ - **OpenID Foundation.** *Model Context Protocol A2A (Agent-to-Agent).* — Referenced in `dot_config/dotfiles/agent-card.json`.
32
+
33
+ ## Tools & Systems
34
+
35
+ - **Twpayne, T.** *chezmoi: Manage your dotfiles across multiple machines.* <https://chezmoi.io>
36
+ - **jdxcode.** *mise: Dev tools, env vars, task runner.* <https://mise.jdx.dev/>
37
+ - **NixOS.** *Nix Flakes.* <https://nixos.wiki/wiki/Flakes>
38
+ - **Microsoft / CycloneDX.** *CycloneDX SBOM specification.* <https://cyclonedx.org/>
39
+ - **Anchore.** *Syft + Grype.* <https://github.com/anchore/syft>, <https://github.com/anchore/grype>
40
+
41
+ ## Shell Performance
42
+
43
+ - **Yoo, D.** *How to benchmark shell startup time.* <https://web.archive.org/web/2023/https://hermann.blog/benchmark-shell-startup-time>
44
+ - **Zsh manual.** *Startup files: zshenv, zprofile, zshrc.* <https://zsh.sourceforge.io/Doc/Release/Files.html>
45
+
46
+ ## Documentation Systems
47
+
48
+ - **GNU Stow documentation.** <https://www.gnu.org/software/stow/manual/> — Inspiration for this manual's multi-format publishing model.
49
+ - **Pandoc.** *Universal document converter.* <https://pandoc.org/>
50
+ - **GNU Texinfo.** <https://www.gnu.org/software/texinfo/> — The original GNU documentation system.
51
+
52
+ ## Author
53
+
54
+ - **Rousseau, S.** *Dotfiles v0.2.500.* <https://github.com/sebastienrousseau/dotfiles>
@@ -0,0 +1,34 @@
1
+ # Appendix E: License
2
+
3
+ ## MIT License
4
+
5
+ Copyright (c) 2015-2026 Sebastien Rousseau
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
8
+
9
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
12
+
13
+ ## Third-Party Licenses
14
+
15
+ This repository references, configures, or wraps many third-party tools. Each tool retains its own license:
16
+
17
+ | Tool | License |
18
+ |:---|:---|
19
+ | Chezmoi | MIT |
20
+ | Mise | MIT |
21
+ | Nix | LGPL-2.1 |
22
+ | Age | BSD-3-Clause |
23
+ | SOPS | MPL-2.0 |
24
+ | Fish shell | GPL-2.0 |
25
+ | Zsh | Zsh License (MIT-like) |
26
+ | Neovim | Apache-2.0 |
27
+ | ImageMagick | ImageMagick License (Apache-2.0-like) |
28
+ | Pandoc | GPL-2.0+ |
29
+
30
+ Wallpapers referenced from `/System/Library/Desktop Pictures/` or `/usr/share/backgrounds/` retain their original vendors' licenses (Apple, Microsoft, distribution vendors). They are not redistributed by this repository — they are discovered and processed in place.
31
+
32
+ ## Contributions
33
+
34
+ Contributions are accepted under the MIT License. By submitting a pull request, you assert that your contribution is your own work (or properly attributed) and that it may be relicensed under MIT.
@@ -0,0 +1,58 @@
1
+ # Master ordering for build-manual.sh
2
+ # Determines concatenation order for single-page HTML/PDF/EPUB
3
+ title: "The .dotfiles Manual"
4
+ subtitle: "A Trusted Agent Workstation for macOS, Linux, and WSL"
5
+ version: "0.2.500"
6
+
7
+ sections:
8
+ - file: 00-introduction.md
9
+ title: "Introduction"
10
+
11
+ - group: "Concepts"
12
+ prefix: "01-concepts"
13
+ files:
14
+ - 01-architecture.md
15
+ - 02-trust-model.md
16
+ - 03-theme-engine.md
17
+ - 04-fleet.md
18
+ - 05-self-healing.md
19
+
20
+ - group: "Tutorials"
21
+ prefix: "02-tutorials"
22
+ files:
23
+ - 01-first-install.md
24
+ - 02-add-wallpaper.md
25
+ - 03-create-profile.md
26
+ - 04-encrypt-secret.md
27
+ - 05-deploy-fleet.md
28
+
29
+ - group: "Reference"
30
+ prefix: "03-reference"
31
+ files:
32
+ - 01-dot-cli.md
33
+ - 02-config-files.md
34
+ - 03-environment.md
35
+ - 04-templates.md
36
+ - 05-feature-flags.md
37
+
38
+ - group: "Cookbook"
39
+ prefix: "04-cookbook"
40
+ files:
41
+ - 01-recipes.md
42
+ - 02-troubleshooting.md
43
+ - 03-faq.md
44
+
45
+ - group: "Appendices"
46
+ prefix: "05-appendices"
47
+ files:
48
+ - A-platform-matrix.md
49
+ - B-security-checklist.md
50
+ - C-glossary.md
51
+ - D-bibliography.md
52
+ - E-license.md
53
+
54
+ - file: concept-index.md
55
+ title: "Concept Index"
56
+
57
+ - file: command-index.md
58
+ title: "Command Index"
@@ -0,0 +1,58 @@
1
+ # Command Index
2
+
3
+ Alphabetical list of `dot` subcommands referenced in the manual.
4
+
5
+ - `dot agent`
6
+ - `dot ai`
7
+ - `dot apply --dry-run`
8
+ - `dot apply`
9
+ - `dot attest`
10
+ - `dot benchmark --detailed`
11
+ - `dot benchmark`
12
+ - `dot bundle`
13
+ - `dot cache-refresh`
14
+ - `dot cd`
15
+ - `dot chaos`
16
+ - `dot clean-cache`
17
+ - `dot commit`
18
+ - `dot diff`
19
+ - `dot doctor --json`
20
+ - `dot doctor`
21
+ - `dot drift`
22
+ - `dot edit`
23
+ - `dot env`
24
+ - `dot fleet attest`
25
+ - `dot fleet diff`
26
+ - `dot fleet sync`
27
+ - `dot fleet`
28
+ - `dot heal`
29
+ - `dot help`
30
+ - `dot learn`
31
+ - `dot lint`
32
+ - `dot load-bench`
33
+ - `dot manual text`
34
+ - `dot manual`
35
+ - `dot mcp --strict`
36
+ - `dot mcp`
37
+ - `dot metrics`
38
+ - `dot mode`
39
+ - `dot packages`
40
+ - `dot perf`
41
+ - `dot prewarm`
42
+ - `dot profile`
43
+ - `dot rollback`
44
+ - `dot score`
45
+ - `dot secrets rotate`
46
+ - `dot secrets`
47
+ - `dot status`
48
+ - `dot sync`
49
+ - `dot theme list`
50
+ - `dot theme rebuild`
51
+ - `dot theme toggle`
52
+ - `dot theme`
53
+ - `dot tune`
54
+ - `dot update`
55
+ - `dot upgrade`
56
+ - `dot verify --security`
57
+ - `dot verify`
58
+ - `dot version`
@@ -0,0 +1,164 @@
1
+ # Concept Index
2
+
3
+ Alphabetical list of concepts covered in the manual.
4
+
5
+ - Accessibility
6
+ - Adding a New Flag
7
+ - Agent Policy Enforcement
8
+ - AI & Agents
9
+ - Algorithms
10
+ - Apply / Sync
11
+ - Attestation
12
+ - Author
13
+ - Auto-Populated
14
+ - Bibliography
15
+ - Build Artifacts
16
+ - Built-in Chezmoi Functions
17
+ - Built-in Chezmoi Variables
18
+ - Cache Files
19
+ - Caching
20
+ - Changing Presets on an Existing Host
21
+ - Checking Active Flags
22
+ - CI
23
+ - CI-Level Gates
24
+ - CI-Specific
25
+ - Color Science
26
+ - Configuration
27
+ - Contributions
28
+ - Cross-Host Trust
29
+ - Cryptography
30
+ - Daily Use
31
+ - Data Flow
32
+ - Design Principles
33
+ - Development
34
+ - Diagnostics
35
+ - Documentation Systems
36
+ - Drift Detection
37
+ - Dynamic HEIC (Apple Appearance Metadata)
38
+ - Environment Variables
39
+ - Example: Font Size by Preset
40
+ - Example: Platform × Preset
41
+ - Example: Using Theme in Ghostty Config
42
+ - Exit Codes
43
+ - Feature Matrix
44
+ - Flag Catalogue
45
+ - Flag Deprecation
46
+ - Fleet
47
+ - Fleet Attestation
48
+ - Fleet Deployment Workflow
49
+ - Fleet Operational Commands
50
+ - Fleet Trust Propagation
51
+ - From `.chezmoidata.toml`
52
+ - From `.chezmoidata/hardware.toml`
53
+ - From `.chezmoidata/themes.toml`
54
+ - From Feature Flags
55
+ - Gates Enforced by CI
56
+ - General
57
+ - Getting More Help
58
+ - Global Flags
59
+ - Global Flags (`.chezmoidata.toml`)
60
+ - Hardware Presets
61
+ - Helper Templates (in `.chezmoitemplates/`)
62
+ - Identity and Signing
63
+ - Incident Response
64
+ - Inspect & Repair
65
+ - Installation
66
+ - Installation & Update
67
+ - Invocation
68
+ - Limitations
69
+ - Listing Known Presets
70
+ - Log Files
71
+ - Machine-Scoped Secrets
72
+ - Manual
73
+ - MIT License
74
+ - Next
75
+ - Observability
76
+ - Ongoing (monthly)
77
+ - Ongoing (quarterly)
78
+ - Operational Rules
79
+ - Option A: Drop a Static Image
80
+ - Option B: Dynamic HEIC (Recommended)
81
+ - Option C: Golden Ratio Brightness (Advanced)
82
+ - Option D: Install System Wallpapers (Already-Available)
83
+ - Optional Binaries (installed by Mise on first apply)
84
+ - Per-Machine Profiles
85
+ - Per-Preset Overrides (`.chezmoidata/hardware.toml`)
86
+ - Performance
87
+ - Philosophy
88
+ - Post-Install
89
+ - Pre-Install
90
+ - Prerequisites
91
+ - Principles
92
+ - Protocols
93
+ - Read by Tools
94
+ - Recovery
95
+ - Reference
96
+ - Required Binaries
97
+ - Scenario
98
+ - Secret-Related
99
+ - Secrets
100
+ - See Also
101
+ - Shell Performance
102
+ - Single Source, Many Hosts
103
+ - Source Repository
104
+ - Start Here
105
+ - Startup Order
106
+ - Startup Performance Model
107
+ - Step 1: Choose or Create a Preset
108
+ - Step 1: Generate an Age Key (First Time Only)
109
+ - Step 1: Per-Host Install
110
+ - Step 1: Run the Installer
111
+ - Step 2: Choose Encryption Method
112
+ - Step 2: Exchange Signing Keys
113
+ - Step 2: Select the Preset for This Host
114
+ - Step 2: Verify
115
+ - Step 3: Reference the Preset in Templates
116
+ - Step 3: Share the Age Key (for Shared Secrets)
117
+ - Step 3: Take the Tour
118
+ - Step 3A: Chezmoi-Encrypted File
119
+ - Step 3B: SOPS-Encrypted YAML
120
+ - Step 4: Add a New Preset
121
+ - Step 4: Customize
122
+ - Step 4: Reference the Secret in a Template
123
+ - Step 4: Verify Fleet Alignment
124
+ - Step 5: Add Your Identity
125
+ - Step 5: Commit and Verify
126
+ - Step 5: Per-Host Customization
127
+ - Step 5: Per-Preset Feature Flags
128
+ - Step 6: First Theme Switch
129
+ - Step 6: Fleet-Wide Updates
130
+ - Step 6: Multi-Recipient (Fleet)
131
+ - Step 7: Rotate a Compromised Key
132
+ - Step 7: Secrets Rotation
133
+ - Step 8: Decommission a Host
134
+ - Summary
135
+ - Supported Architectures
136
+ - Supported Platforms
137
+ - Supported Shells
138
+ - Template Testing
139
+ - Tested CI Environments
140
+ - The Four Subsystems
141
+ - The Pipeline
142
+ - The Self-Healing Loop
143
+ - The Threat Model
144
+ - The Why
145
+ - Theme
146
+ - Theme Application
147
+ - Themes
148
+ - Third-Party Licenses
149
+ - Threat Model Summary
150
+ - Tools & Systems
151
+ - Troubleshooting
152
+ - Troubleshooting Community
153
+ - Trust Boundaries
154
+ - Unsetting
155
+ - User-Owned Configuration
156
+ - User-Settable
157
+ - Using a Flag in a Template
158
+ - Validation in CI
159
+ - Verified Files
160
+ - Verifying No Plaintext Leaks
161
+ - Verifying the Result
162
+ - Wallpaper Discovery
163
+ - What Got Installed
164
+ - When to Use a Profile
@@ -0,0 +1,39 @@
1
+ # Workstation Attestation
2
+
3
+ `dot attest` exports a machine-readable record of the current workstation state.
4
+
5
+ It captures:
6
+ - dotfiles version
7
+ - platform and architecture
8
+ - Git signing settings
9
+ - active agent profile
10
+ - MCP strict-mode audit status
11
+ - tracked agent card, profile, and registry data
12
+ - policy bundles
13
+ - model and prompt registries
14
+
15
+ Run:
16
+
17
+ ```bash
18
+ dot attest
19
+ dot attest --json
20
+ dot attest -j
21
+ dot attest --write ~/.local/state/dotfiles/attestations/workstation.json
22
+ dot attest -w ~/.local/state/dotfiles/attestations/workstation.json
23
+ dot attest --fleet-store /srv/dotfiles-fleet
24
+ dot attest -F /srv/dotfiles-fleet -I engineering
25
+ ```
26
+
27
+ The default output path is `~/.local/state/dotfiles/attestations/workstation-attestation.json`.
28
+
29
+ Fleet export writes:
30
+
31
+ - `<fleet-store>/<fleet-id>/<hostname>/workstation-attestation.json`
32
+ - timestamped copies for retention
33
+
34
+ Governance evidence is embedded directly in the JSON output. That includes:
35
+
36
+ - policy bundle definitions
37
+ - model registry metadata
38
+ - prompt registry metadata
39
+ - tracked MCP policy and registry artifacts
@@ -0,0 +1,59 @@
1
+ # Dotfiles Maintenance Runbook
2
+
3
+ This runbook captures recovery and release maintenance operations for this repository.
4
+
5
+ ## Signed History Recovery (February 19, 2026)
6
+
7
+ **Purpose:** Recover from strict signature enforcement failures caused by legacy/non-compliant commit history.
8
+
9
+ **When to use:**
10
+
11
+ - Pushes are blocked by signature policy on historical commits.
12
+ - Merge ancestry contains commits that can't be validated by the current principal/key policy.
13
+
14
+ **Procedure:**
15
+
16
+ 1. Create a backup ref for current `master`.
17
+ 2. Build a rewritten signed baseline commit from the current tree.
18
+ 3. Push the rewritten branch to remote.
19
+ 4. Temporarily allow force-push on `master` protections/rulesets.
20
+ 5. Force-update `master` to the rewritten signed baseline.
21
+ 6. Disable force-push again immediately.
22
+ 7. Re-run CI and verify required checks are green.
23
+ 8. Repoint the release tag/target as needed.
24
+
25
+ **Verification commands:**
26
+
27
+ ```bash
28
+ git verify-commit HEAD
29
+ gh run list --workflow ci.yml --branch master --limit 1
30
+ gh release view v0.2.500 --json tagName,targetCommitish,url
31
+ ```
32
+
33
+ ## Release Closeout Checklist
34
+
35
+ For every release update:
36
+
37
+ 1. `master` branch is clean and synced.
38
+ 2. CI is green on the release commit.
39
+ 3. Annotated release tag points to the intended commit.
40
+ 4. GitHub release target is correct (`master` or explicit commit).
41
+ 5. Branch protections/rulesets are restored to strict state.
42
+ 6. Local apply has completed:
43
+
44
+ ```bash
45
+ CHEZMOI_SOURCE_DIR="$HOME/.dotfiles" ./dot_local/bin/executable_dot apply
46
+ ```
47
+
48
+ ## Security Scan Guardrails
49
+
50
+ We prevent gitleaks historical-scan regressions with:
51
+
52
+ - Shallow checkout (`fetch-depth: 1`, `fetch-tags: false`) in gitleaks jobs.
53
+ - A workflow-dispatch guard script: `scripts/ci/guard-gitleaks-checkout.sh`.
54
+
55
+ **Manual verification:**
56
+
57
+ ```bash
58
+ bash scripts/ci/guard-gitleaks-checkout.sh
59
+ ```
@@ -0,0 +1,101 @@
1
+ # Migration and Upgrade Guide
2
+
3
+ ## How to Upgrade
4
+
5
+ ```bash
6
+ # 1. Pre-upgrade check
7
+ dot doctor
8
+
9
+ # 2. Pull latest changes
10
+ cd ~/.dotfiles && git pull
11
+
12
+ # 3. Apply with diagnostics
13
+ dot apply
14
+
15
+ # 4. Post-upgrade verification
16
+ dot doctor
17
+ ```
18
+
19
+ ## Version History
20
+
21
+ ### v0.2.500 (Current)
22
+ - **Wallpaper-driven theme engine** — themes auto-generated from wallpapers via K-Means in CIELAB color space (no hand-crafted themes)
23
+ - **Dynamic HEIC support** — custom wallpapers ship as Apple-compatible single-file dynamic HEIC; macOS auto-switches dark/light
24
+ - **System wallpaper discovery** — pulls themes from `/System/Library/Desktop Pictures/` (macOS) and `/usr/share/backgrounds/` (Linux)
25
+ - **`dot theme rebuild`** — parallel K-Means generation (4 jobs), mtime-based caching, orphan cleanup
26
+ - **WCAG AAA enforcement** — all generated themes pass 7:1 contrast for fg/bg, accent_text/accent, c15/bg
27
+ - **macOS accent from wallpaper hue** — `dot-theme-sync` reads `macos_accent` from themes.toml and forces UI refresh
28
+ - **HEIC → PNG auto-conversion** on Linux for non-HEIC-aware desktops
29
+ - **Build artifact redirection** — Cargo, Go, pip, uv, Zig caches → `/tmp/builds/` (cleared on reboot)
30
+ - **CI dedup** — `ci-enforced.yml` reuses `reusable-shell-lint.yml` and `reusable-test-suite.yml`
31
+
32
+ ### v0.2.499
33
+ - Added AI CLIs: Autohand Code, Mistral Vibe, Qwen Code, ZAI
34
+ - Removed Cline CLI (broken upstream dependency)
35
+ - Interactive mise installer for missing AI providers
36
+ - Mise-first provisioning for all AI tools
37
+ - User extension points: rc.d.local, modules.d, custom dot commands
38
+ - SSH config hardening template
39
+ - Ghostty and WezTerm terminal configs
40
+ - Modern CLI tools: delta, fd, dust, bottom, lazygit, lazydocker, tldr
41
+ - Auto-prewarm after dot apply
42
+ - Expanded Atuin history filters
43
+
44
+ ### v0.2.498
45
+ - Theme system with Catppuccin integration
46
+ - Linux desktop parity (Niri, Waybar, Fuzzel)
47
+ - AI tooling expansion (Kiro, OpenCode)
48
+ - Coverage contracts and QA docs
49
+
50
+ ### v0.2.497
51
+ - Verified chezmoi installer
52
+ - Shell startup optimization
53
+ - Property-based tests
54
+
55
+ ## Breaking Changes
56
+
57
+ If you are upgrading from v0.2.499 or earlier, note these changes:
58
+
59
+ 1. **`themes.toml` is now generated** — do not hand-edit. Run `dot theme rebuild` to regenerate from wallpapers
60
+ 2. **Theme names changed** — old hand-crafted names (e.g. `catppuccin-mocha`, `macos-tahoe-dark` with hardcoded palettes) are replaced by wallpaper-derived names. The picker only shows paired wallpaper themes.
61
+ 3. **Wallpaper format** — custom wallpapers should be dynamic HEIC (single file, both appearances). Use `bash scripts/theme/merge-wallpaper.sh` to merge separate dark/light pairs.
62
+ 4. **Build caches relocated** — Cargo/Go/pip/uv/Zig now write to `/tmp/builds/`. Restart your shell after upgrade so `mise [env]` picks up the new paths.
63
+
64
+ If you are upgrading from v0.2.498 or earlier:
65
+
66
+ 1. **Cline CLI removed** — if you used `dot cline`, switch to a different AI CLI
67
+ 2. **AI tools now install through mise** — run `mise install` to set up AI providers
68
+ 3. **SSH config hardening** — check `~/.ssh/config` after apply, as it may change your current settings
69
+
70
+ ## Rollback
71
+
72
+ If something goes wrong after an upgrade:
73
+
74
+ ```bash
75
+ # Quick rollback to previous state
76
+ dot rollback
77
+
78
+ # Rollback to specific backup
79
+ dot rollback status # List available backups
80
+ dot rollback rollback-to 3 # Restore backup #3
81
+
82
+ # Git-based rollback
83
+ cd ~/.dotfiles
84
+ git log --oneline -10 # Find last good commit
85
+ git reset --hard HEAD~1 # Reset to previous commit
86
+ dot apply # Re-apply
87
+ ```
88
+
89
+ ## Before You Upgrade
90
+
91
+ - [ ] Run `dot doctor` — make sure everything is healthy
92
+ - [ ] Run `dot diff` — review any pending changes
93
+ - [ ] Back up custom configs: `dot rollback backup`
94
+ - [ ] Read CHANGELOG.md for breaking changes
95
+
96
+ ## After You Upgrade
97
+
98
+ - [ ] Run `dot doctor` — make sure the upgrade worked
99
+ - [ ] Run `dot prewarm` — rebuild shell caches
100
+ - [ ] Restart your shell: `exec zsh`
101
+ - [ ] Test AI tools: `dot ai`