@sebastienrousseau/dotfiles 0.2.499 → 0.2.500

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/CHANGELOG.md +375 -0
  2. package/LICENSE +1283 -0
  3. package/README.md +284 -0
  4. package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
  5. package/docs/AI.md +102 -0
  6. package/docs/COPYRIGHT +4 -3
  7. package/docs/NAMING_CONVENTIONS.md +95 -0
  8. package/docs/README.md +78 -0
  9. package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
  10. package/docs/adr/ADR-002-shell-performance.md +121 -0
  11. package/docs/adr/ADR-003-security-first.md +140 -0
  12. package/docs/adr/ADR-004-cli-architecture.md +157 -0
  13. package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
  14. package/docs/adr/ADR-006-shell-selection.md +115 -0
  15. package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
  16. package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
  17. package/docs/adr/README.md +32 -0
  18. package/docs/architecture/ARCHITECTURE.md +113 -0
  19. package/docs/architecture/INTEROP.md +36 -0
  20. package/docs/architecture/REPO_LAYOUT.md +237 -0
  21. package/docs/architecture/WALKTHROUGH.md +82 -0
  22. package/docs/architecture/fleet-deployment.md +73 -0
  23. package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
  24. package/docs/archive/LEGACY_ROADMAP.md +142 -0
  25. package/docs/archive/MILESTONE_v0.2.493.md +43 -0
  26. package/docs/{PLAN.md → archive/PLAN.md} +4 -4
  27. package/docs/archive/REPO_AUDIT.md +23 -0
  28. package/docs/guides/INSTALL.md +140 -0
  29. package/docs/guides/NEOVIM_IDE_GUIDE.md +52 -0
  30. package/docs/guides/THEMING.md +222 -0
  31. package/docs/guides/TROUBLESHOOTING.md +148 -0
  32. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +723 -0
  33. package/docs/index.md +39 -0
  34. package/docs/interop/A2A.md +32 -0
  35. package/docs/manual/00-introduction.md +85 -0
  36. package/docs/manual/01-concepts/01-architecture.md +134 -0
  37. package/docs/manual/01-concepts/02-trust-model.md +178 -0
  38. package/docs/manual/01-concepts/03-theme-engine.md +182 -0
  39. package/docs/manual/01-concepts/04-fleet.md +142 -0
  40. package/docs/manual/01-concepts/05-self-healing.md +197 -0
  41. package/docs/manual/02-tutorials/01-first-install.md +192 -0
  42. package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
  43. package/docs/manual/02-tutorials/03-create-profile.md +238 -0
  44. package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
  45. package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
  46. package/docs/manual/03-reference/01-dot-cli.md +413 -0
  47. package/docs/manual/03-reference/02-config-files.md +259 -0
  48. package/docs/manual/03-reference/03-environment.md +120 -0
  49. package/docs/manual/03-reference/04-templates.md +184 -0
  50. package/docs/manual/03-reference/05-feature-flags.md +118 -0
  51. package/docs/manual/04-cookbook/01-recipes.md +281 -0
  52. package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
  53. package/docs/manual/04-cookbook/03-faq.md +167 -0
  54. package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
  55. package/docs/manual/05-appendices/B-security-checklist.md +78 -0
  56. package/docs/manual/05-appendices/C-glossary.md +36 -0
  57. package/docs/manual/05-appendices/D-bibliography.md +54 -0
  58. package/docs/manual/05-appendices/E-license.md +34 -0
  59. package/docs/manual/_toc.yml +58 -0
  60. package/docs/manual/command-index.md +58 -0
  61. package/docs/manual/concept-index.md +164 -0
  62. package/docs/operations/ATTESTATION.md +39 -0
  63. package/docs/operations/MAINTENANCE.md +59 -0
  64. package/docs/operations/MIGRATION.md +101 -0
  65. package/docs/operations/OPERATIONS.md +164 -0
  66. package/docs/operations/RELIABILITY.md +116 -0
  67. package/docs/{ROADMAP.md → operations/ROADMAP.md} +22 -22
  68. package/docs/operations/TESTING.md +195 -0
  69. package/docs/operations/TRACEABILITY.md +31 -0
  70. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
  71. package/docs/operations/VERSION_SYNC.md +344 -0
  72. package/docs/reference/ALIASES.md +124 -0
  73. package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
  74. package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
  75. package/docs/reference/FEATURES.md +62 -0
  76. package/docs/reference/FONTS.md +108 -0
  77. package/docs/reference/PROFILES.md +65 -0
  78. package/docs/reference/SCREENSHOTS.md +117 -0
  79. package/docs/reference/SCRIPTS.md +67 -0
  80. package/docs/reference/SUPPORT_MATRIX.md +74 -0
  81. package/docs/reference/THEMES.md +113 -0
  82. package/docs/reference/TOOLS.md +105 -0
  83. package/docs/reference/UTILS.md +151 -0
  84. package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
  85. package/docs/security/AUTOMATION_SECRETS.md +22 -0
  86. package/docs/security/COMPLIANCE.md +453 -0
  87. package/docs/security/ENCRYPTION.md +52 -0
  88. package/docs/security/FMEA.md +155 -0
  89. package/docs/security/INCIDENT_RESPONSE.md +575 -0
  90. package/docs/security/KEYS.md +45 -0
  91. package/docs/security/KEY_ROTATION.md +219 -0
  92. package/docs/security/MCP_POLICY.md +69 -0
  93. package/docs/security/POLICY_RELEASES.md +33 -0
  94. package/docs/security/README.md +24 -0
  95. package/docs/security/SECRETS.md +146 -0
  96. package/docs/security/SECURITY.md +41 -0
  97. package/docs/security/SECURITY_CHECKLIST.md +44 -0
  98. package/docs/security/SOUP_REGISTER.md +32 -0
  99. package/docs/security/THREAT_MODEL.md +120 -0
  100. package/docs/security/VERIFICATION_VALIDATION.md +224 -0
  101. package/docs/themes/README.md +6 -0
  102. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
  103. package/docs/themes/hero-shot.svg +78 -0
  104. package/dot_config/.module-manifest.json +69 -0
  105. package/dot_config/ai/identity.md +20 -0
  106. package/dot_config/ai/patterns/architect.md +14 -0
  107. package/dot_config/ai/patterns/hardener.md +13 -0
  108. package/dot_config/ai/patterns/refactor.md +13 -0
  109. package/dot_config/aider/aider.conf.yml +32 -0
  110. package/dot_config/alacritty/alacritty.toml.tmpl +55 -0
  111. package/dot_config/ansible/ansible.cfg +11 -0
  112. package/dot_config/atuin/config.toml +40 -0
  113. package/dot_config/bat/config +23 -0
  114. package/dot_config/brave-flags.conf.tmpl +7 -0
  115. package/dot_config/btop/btop.conf +16 -0
  116. package/dot_config/btop/themes/tokyonight.theme +34 -0
  117. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  118. package/dot_config/claude/mcp_servers.json +20 -0
  119. package/dot_config/containers/containers.conf +14 -0
  120. package/dot_config/curl/dot_curlrc +18 -0
  121. package/dot_config/dlv/config.yml +39 -0
  122. package/dot_config/docker/config.json +15 -0
  123. package/dot_config/dotfiles/agent-card.json +29 -0
  124. package/dot_config/dotfiles/agent-profiles.json +92 -0
  125. package/dot_config/dotfiles/boot/README.md +11 -0
  126. package/dot_config/dotfiles/grub/README.md +11 -0
  127. package/dot_config/dotfiles/lock/README.md +11 -0
  128. package/dot_config/dotfiles/mcp-lock.json +33 -0
  129. package/dot_config/dotfiles/mcp-policy.json +52 -0
  130. package/dot_config/dotfiles/mcp-registry.json +47 -0
  131. package/dot_config/dotfiles/model-registry.json +20 -0
  132. package/dot_config/dotfiles/policy-bundles.json +38 -0
  133. package/dot_config/dotfiles/prompt-registry.json +16 -0
  134. package/dot_config/dotfiles/versions.env +18 -0
  135. package/dot_config/duf/duf.conf +6 -0
  136. package/dot_config/duti/defaults.duti +5 -0
  137. package/dot_config/emoji/emoji.txt +34 -0
  138. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  139. package/dot_config/environment.d/90-wayland.conf +19 -0
  140. package/dot_config/fastfetch/config.jsonc +28 -0
  141. package/dot_config/firefox/user.js.tmpl +58 -0
  142. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  143. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  144. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  145. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  146. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  147. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  148. package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
  149. package/dot_config/fish/config.fish.tmpl +44 -0
  150. package/dot_config/fish/fish_plugins +1 -0
  151. package/dot_config/fish/functions/_.fish +3 -0
  152. package/dot_config/fish/functions/_cached_eval.fish +58 -0
  153. package/dot_config/fish/functions/als.fish +46 -0
  154. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  155. package/dot_config/fish/functions/c.fish +3 -0
  156. package/dot_config/fish/functions/cat.fish +9 -0
  157. package/dot_config/fish/functions/d.fish +7 -0
  158. package/dot_config/fish/functions/dot.fish +34 -0
  159. package/dot_config/fish/functions/h.fish +3 -0
  160. package/dot_config/fish/functions/l.fish +7 -0
  161. package/dot_config/fish/functions/la.fish +7 -0
  162. package/dot_config/fish/functions/ll.fish +7 -0
  163. package/dot_config/fish/functions/log_error.fish +13 -0
  164. package/dot_config/fish/functions/log_info.fish +13 -0
  165. package/dot_config/fish/functions/lr.fish +7 -0
  166. package/dot_config/fish/functions/lra.fish +7 -0
  167. package/dot_config/fish/functions/ls.fish +7 -0
  168. package/dot_config/fish/functions/lt.fish +7 -0
  169. package/dot_config/fish/functions/lta.fish +7 -0
  170. package/dot_config/fish/functions/notify-run.fish +11 -0
  171. package/dot_config/fish/functions/q.fish +3 -0
  172. package/dot_config/fish/functions/silent-run.fish +7 -0
  173. package/dot_config/fish/functions/yy.fish +8 -0
  174. package/dot_config/flatpak/flatpak.list +4 -0
  175. package/dot_config/fontconfig/fonts.conf.tmpl +57 -0
  176. package/dot_config/foot/foot.ini.tmpl +33 -0
  177. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  178. package/dot_config/fzf/fzf.zsh +48 -0
  179. package/dot_config/gem/gemrc +9 -0
  180. package/dot_config/gh/config.yml +12 -0
  181. package/dot_config/ghostty/config.tmpl +165 -0
  182. package/dot_config/git/allowed_signers.tmpl +18 -0
  183. package/dot_config/git/attributes +12 -0
  184. package/dot_config/git/commit-template +10 -0
  185. package/dot_config/git/ignore +27 -0
  186. package/dot_config/gnupg/gpg-agent.conf +11 -0
  187. package/dot_config/go/golangci.yml +118 -0
  188. package/dot_config/go/gopls.json +30 -0
  189. package/dot_config/goose/config.yaml +29 -0
  190. package/dot_config/gtk-3.0/gtk.css.tmpl +184 -0
  191. package/dot_config/gtk-3.0/settings.ini.tmpl +27 -0
  192. package/dot_config/gtk-4.0/gtk.css.tmpl +252 -0
  193. package/dot_config/gtk-4.0/settings.ini.tmpl +18 -0
  194. package/dot_config/htop/htoprc +20 -0
  195. package/dot_config/inputrc +2 -0
  196. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  197. package/dot_config/just/justfile +122 -0
  198. package/dot_config/k9s/config.yaml +65 -0
  199. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  200. package/dot_config/kanshi/config.tmpl +22 -0
  201. package/dot_config/karabiner/karabiner.json +14 -0
  202. package/dot_config/kitty/kitty.conf.tmpl +53 -0
  203. package/dot_config/lazydocker/config.yml +186 -0
  204. package/dot_config/lazygit/config.yml +35 -0
  205. package/dot_config/mako/config +47 -0
  206. package/dot_config/mas/masapps.txt +5 -0
  207. package/dot_config/micro/settings.json +3 -0
  208. package/dot_config/mimeapps.list +77 -0
  209. package/dot_config/minikube/config.json +13 -0
  210. package/dot_config/mise/config.toml +99 -0
  211. package/dot_config/mongosh/mongoshrc.js +68 -0
  212. package/dot_config/mpv/input.conf +47 -0
  213. package/dot_config/mpv/mpv.conf +47 -0
  214. package/dot_config/mycli/myclirc +67 -0
  215. package/dot_config/nano/nanorc +28 -0
  216. package/dot_config/ncdu/config +12 -0
  217. package/dot_config/niri/config.kdl.tmpl +327 -0
  218. package/dot_config/nushell/aliases.nu +18 -0
  219. package/dot_config/nushell/completions.nu.tmpl +52 -0
  220. package/dot_config/nushell/config.nu.tmpl +86 -0
  221. package/dot_config/nushell/env.nu.tmpl +94 -0
  222. package/dot_config/nushell/functions.nu.tmpl +17 -0
  223. package/dot_config/nvim/init.lua +18 -0
  224. package/dot_config/nvim/lazy-lock.json +58 -0
  225. package/dot_config/nvim/lua/config/autocmds.lua +107 -0
  226. package/dot_config/nvim/lua/config/keymaps.lua +92 -0
  227. package/dot_config/nvim/lua/config/lazy.lua +44 -0
  228. package/dot_config/nvim/lua/config/options.lua +49 -0
  229. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  230. package/dot_config/nvim/lua/plugins/coding.lua +216 -0
  231. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  232. package/dot_config/nvim/lua/plugins/dap.lua +412 -0
  233. package/dot_config/nvim/lua/plugins/editor.lua +55 -0
  234. package/dot_config/nvim/lua/plugins/git.lua +10 -0
  235. package/dot_config/nvim/lua/plugins/lsp.lua +156 -0
  236. package/dot_config/nvim/lua/plugins/markdown.lua +18 -0
  237. package/dot_config/nvim/lua/plugins/rust.lua +34 -0
  238. package/dot_config/nvim/lua/plugins/sessions.lua +33 -0
  239. package/dot_config/nvim/lua/plugins/ui.lua +509 -0
  240. package/dot_config/paru/paru.conf +10 -0
  241. package/dot_config/pip/pip.conf.tmpl +32 -0
  242. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  243. package/dot_config/pueue/pueue.yml +34 -0
  244. package/dot_config/pypoetry/config.toml +6 -0
  245. package/dot_config/pyrightconfig.json +5 -0
  246. package/dot_config/raycast/README.md +13 -0
  247. package/dot_config/redis/redisclirc +41 -0
  248. package/dot_config/ripgrep/ripgreprc +21 -0
  249. package/dot_config/shell/00-core-paths.sh.tmpl +133 -0
  250. package/dot_config/shell/05-core-safety.sh +47 -0
  251. package/dot_config/shell/10-secrets.sh +40 -0
  252. package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
  253. package/dot_config/shell/40-ls-colors.sh +48 -0
  254. package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
  255. package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
  256. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
  257. package/dot_config/shell/90-ux-aliases.sh.tmpl +120 -0
  258. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +54 -0
  259. package/dot_config/shell/Brewfile +207 -0
  260. package/dot_config/shell/Brewfile.cask +92 -0
  261. package/dot_config/shell/Brewfile.cli +127 -0
  262. package/dot_config/shell/README.md +267 -0
  263. package/dot_config/shell/als_data.txt.tmpl +65 -0
  264. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  265. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  266. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  267. package/dot_config/sops/dot_sops.yaml +23 -0
  268. package/dot_config/starship.toml.tmpl +202 -0
  269. package/dot_config/swaylock/config +43 -0
  270. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  271. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  272. package/dot_config/systemd/user/pueued.service +12 -0
  273. package/dot_config/systemd/user/ssh-agent.service +12 -0
  274. package/dot_config/task/Taskfile.yml +86 -0
  275. package/dot_config/tflint/tflint.hcl +9 -0
  276. package/dot_config/tmux/tmux.conf.tmpl +223 -0
  277. package/dot_config/topgrade.toml.tmpl +54 -0
  278. package/dot_config/user-dirs.dirs +9 -0
  279. package/dot_config/vscode/extensions.txt +11 -0
  280. package/dot_config/vscode/settings.json.tmpl +82 -0
  281. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  282. package/dot_config/waybar/style.css.tmpl +211 -0
  283. package/dot_config/wezterm/wezterm.lua.tmpl +64 -0
  284. package/dot_config/wget/wgetrc +12 -0
  285. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  286. package/dot_config/yarn/yarnrc.yml +36 -0
  287. package/dot_config/yazi/keymap.toml +67 -0
  288. package/dot_config/yazi/theme.toml +102 -0
  289. package/dot_config/yazi/yazi.toml +40 -0
  290. package/dot_config/zathura/zathurarc +52 -0
  291. package/dot_config/zellij/config.kdl.tmpl +79 -0
  292. package/dot_config/zsh/dot_zprofile +7 -0
  293. package/dot_config/zsh/dot_zshenv +5 -0
  294. package/dot_config/zsh/dot_zshrc.tmpl +498 -0
  295. package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
  296. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +18 -0
  297. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  298. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  299. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +194 -0
  300. package/dot_config/zsh/rc.d/40-bell.zsh +20 -0
  301. package/dot_config/zsh/rc.d/50-login-fortune.zsh +9 -0
  302. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  303. package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
  304. package/dot_local/bin/executable_ai-update +195 -0
  305. package/dot_local/bin/executable_ai_core +152 -0
  306. package/dot_local/bin/executable_antigravity +11 -0
  307. package/dot_local/bin/executable_b64 +84 -0
  308. package/dot_local/bin/executable_bm +77 -0
  309. package/dot_local/bin/executable_cb +39 -0
  310. package/dot_local/bin/executable_dot +589 -0
  311. package/dot_local/bin/executable_dot-ai +36 -0
  312. package/dot_local/bin/executable_dot-bootstrap +77 -0
  313. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  314. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  315. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  316. package/dot_local/bin/executable_dot-theme-sync +952 -0
  317. package/dot_local/bin/executable_dot_completion +57 -0
  318. package/dot_local/bin/executable_dtags +28 -0
  319. package/dot_local/bin/executable_epoch +67 -0
  320. package/dot_local/bin/executable_extract +41 -0
  321. package/dot_local/bin/executable_gbd +52 -0
  322. package/dot_local/bin/executable_gd +42 -0
  323. package/dot_local/bin/executable_git-ai-commit +175 -0
  324. package/dot_local/bin/executable_git-ai-diff +169 -0
  325. package/dot_local/bin/executable_gl +101 -0
  326. package/dot_local/bin/executable_hash +161 -0
  327. package/dot_local/bin/executable_hashsum +160 -0
  328. package/dot_local/bin/executable_hex +115 -0
  329. package/dot_local/bin/executable_jsonv +78 -0
  330. package/dot_local/bin/executable_jwt +94 -0
  331. package/dot_local/bin/executable_kill-port +75 -0
  332. package/dot_local/bin/executable_lorem +118 -0
  333. package/dot_local/bin/executable_mkscript +35 -0
  334. package/dot_local/bin/executable_monitor +56 -0
  335. package/dot_local/bin/executable_myip +51 -0
  336. package/dot_local/bin/executable_notify +22 -0
  337. package/dot_local/bin/executable_open +36 -0
  338. package/dot_local/bin/executable_pw +27 -0
  339. package/dot_local/bin/executable_rec-start +46 -0
  340. package/dot_local/bin/executable_rec-stop +35 -0
  341. package/dot_local/bin/executable_regex +132 -0
  342. package/dot_local/bin/executable_start-niri +8 -0
  343. package/dot_local/bin/executable_tmux-sessionizer +314 -0
  344. package/dot_local/bin/executable_tour +175 -0
  345. package/dot_local/bin/executable_up +21 -0
  346. package/dot_local/bin/executable_update +142 -0
  347. package/dot_local/bin/executable_uuid +87 -0
  348. package/dot_local/bin/executable_win +32 -0
  349. package/dot_local/bin/executable_yamlv +57 -0
  350. package/dot_local/share/bash-completion/completions/dot +72 -0
  351. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  352. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  353. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  354. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  355. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  356. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  357. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  358. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  359. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  360. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  361. package/dot_local/share/man/man1/dot.1 +149 -0
  362. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  363. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  364. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  365. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  366. package/dot_local/share/zsh/completions/.keep +0 -0
  367. package/dot_local/share/zsh/completions/_dot +283 -0
  368. package/install.sh +342 -0
  369. package/package.json +1 -1
  370. package/scripts/ci/check-copyright-headers.sh +96 -0
  371. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  372. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  373. package/scripts/ci/validate-ci-config.sh +224 -0
  374. package/scripts/demo/record.sh +42 -0
  375. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  376. package/scripts/diagnostics/alias-governance.sh +137 -0
  377. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  378. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  379. package/scripts/diagnostics/benchmark.sh +381 -0
  380. package/scripts/diagnostics/conflicts.sh +72 -0
  381. package/scripts/diagnostics/doctor-unified.sh +38 -0
  382. package/scripts/diagnostics/doctor.sh +541 -0
  383. package/scripts/diagnostics/drift-dashboard.sh +37 -0
  384. package/scripts/diagnostics/health.sh +597 -0
  385. package/scripts/diagnostics/history-analysis.sh +85 -0
  386. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  387. package/scripts/diagnostics/perf.sh +225 -0
  388. package/scripts/diagnostics/scorecard.sh +118 -0
  389. package/scripts/diagnostics/secret-governance.sh +58 -0
  390. package/scripts/diagnostics/security-score.sh +438 -0
  391. package/scripts/diagnostics/smoke-test.sh +87 -0
  392. package/scripts/diagnostics/snapshot.sh +89 -0
  393. package/scripts/diagnostics/verify.sh +107 -0
  394. package/scripts/{verify_state.sh → diagnostics/verify_state.sh} +22 -22
  395. package/scripts/diagnostics/version-locks.sh +79 -0
  396. package/scripts/diagnostics/workstation-attestation.sh +181 -0
  397. package/scripts/docs/build-manual.sh +883 -0
  398. package/scripts/docs/check-manual.sh +213 -0
  399. package/scripts/dot/commands/agent.sh +465 -0
  400. package/scripts/dot/commands/ai.sh +416 -0
  401. package/scripts/dot/commands/aliases.sh +250 -0
  402. package/scripts/dot/commands/appearance.sh +80 -0
  403. package/scripts/dot/commands/core.sh +185 -0
  404. package/scripts/dot/commands/diagnostics.sh +229 -0
  405. package/scripts/dot/commands/fleet.sh +399 -0
  406. package/scripts/dot/commands/lint.sh +177 -0
  407. package/scripts/dot/commands/manual.sh +168 -0
  408. package/scripts/dot/commands/meta.sh +248 -0
  409. package/scripts/dot/commands/patterns.sh +54 -0
  410. package/scripts/dot/commands/restore.sh +231 -0
  411. package/scripts/dot/commands/secrets.sh +223 -0
  412. package/scripts/dot/commands/security.sh +76 -0
  413. package/scripts/dot/commands/tools.sh +469 -0
  414. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  415. package/scripts/dot/lib/bento.sh +49 -0
  416. package/scripts/dot/lib/log.sh +194 -0
  417. package/scripts/dot/lib/platform.sh +98 -0
  418. package/scripts/dot/lib/ui.sh +507 -0
  419. package/scripts/dot/lib/utils.sh +372 -0
  420. package/scripts/fonts/install-nerd-fonts.sh +68 -0
  421. package/scripts/fonts/patch-fonts.sh +35 -0
  422. package/scripts/git-hooks/install.sh +11 -0
  423. package/scripts/git-hooks/pre-commit +12 -0
  424. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  425. package/scripts/git-hooks/pre-push +29 -0
  426. package/scripts/git-hooks/prepare-commit-msg +29 -0
  427. package/scripts/lib/secrets_provider.sh +158 -0
  428. package/scripts/maintenance/check-updates.sh +131 -0
  429. package/scripts/ops/ai-setup.sh +55 -0
  430. package/scripts/ops/bundle.sh +77 -0
  431. package/scripts/ops/chaos.sh +49 -0
  432. package/scripts/ops/chezmoi-apply.sh +270 -0
  433. package/scripts/ops/chezmoi-diff.sh +15 -0
  434. package/scripts/ops/chezmoi-remove.sh +45 -0
  435. package/scripts/ops/chezmoi-update.sh +48 -0
  436. package/scripts/ops/heal-chezmoi.sh +51 -0
  437. package/scripts/ops/heal-system.sh +128 -0
  438. package/scripts/ops/heal-tools.sh +340 -0
  439. package/scripts/ops/heal.sh +222 -0
  440. package/scripts/ops/post-apply-repair.sh +106 -0
  441. package/scripts/ops/prewarm.sh +127 -0
  442. package/scripts/ops/release.sh +252 -0
  443. package/scripts/ops/rollback.sh +589 -0
  444. package/scripts/ops/setup.sh +137 -0
  445. package/scripts/ops/teleport.sh +33 -0
  446. package/scripts/qa/coverage-baseline.sh +60 -0
  447. package/scripts/qa/docs-coverage.sh +111 -0
  448. package/scripts/qa/reliability-audit.sh +138 -0
  449. package/scripts/qa/traceability-coverage.sh +116 -0
  450. package/scripts/qa/validate-examples.sh +26 -0
  451. package/scripts/qa/wsl-contract.sh +11 -0
  452. package/scripts/release/package-policy-bundles.sh +125 -0
  453. package/scripts/secrets/age-init.sh +70 -0
  454. package/scripts/secrets/create-secrets-file.sh +45 -0
  455. package/scripts/secrets/encrypt-ssh-key.sh +43 -0
  456. package/scripts/security/backup.sh +57 -0
  457. package/scripts/security/dns-doh.sh +51 -0
  458. package/scripts/security/encryption-check.sh +54 -0
  459. package/scripts/security/enforce-policies.sh +334 -0
  460. package/scripts/security/firewall.sh +90 -0
  461. package/scripts/security/lock-configs.sh +57 -0
  462. package/scripts/security/lock-screen.sh +55 -0
  463. package/scripts/security/manage-secrets.sh +428 -0
  464. package/scripts/security/ssh-cert.sh +203 -0
  465. package/scripts/security/telemetry-kill.sh +50 -0
  466. package/scripts/security/usb-safety.sh +51 -0
  467. package/scripts/theme/apply-gnome-theme.sh +328 -0
  468. package/scripts/theme/extract-theme.py +677 -0
  469. package/scripts/theme/install-boot-logo.sh +62 -0
  470. package/scripts/theme/install-catppuccin-themes.sh +370 -0
  471. package/scripts/theme/install-cursors.sh +25 -0
  472. package/scripts/theme/install-file-icons.sh +26 -0
  473. package/scripts/theme/install-grub-theme.sh +61 -0
  474. package/scripts/theme/install-lock-icon.sh +30 -0
  475. package/scripts/theme/merge-wallpaper.sh +141 -0
  476. package/scripts/theme/rebuild-themes.sh +309 -0
  477. package/scripts/theme/switch.sh +421 -0
  478. package/scripts/theme/wallpaper-rotate.sh +136 -0
  479. package/scripts/theme/wallpaper-sync.sh +397 -0
  480. package/scripts/tools/cmatrix.sh +21 -0
  481. package/scripts/{detect-collisions.py → tools/detect-collisions.py} +2 -2
  482. package/scripts/tools/emoji-picker.sh +48 -0
  483. package/scripts/tools/figlet-banner.sh +18 -0
  484. package/scripts/tools/log-rotate.sh +30 -0
  485. package/scripts/tools/lolcat-wrap.sh +19 -0
  486. package/scripts/tools/pipes.sh +48 -0
  487. package/scripts/tuning/linux.sh +185 -0
  488. package/scripts/tuning/macos.sh +55 -0
  489. package/scripts/uninstall.sh +85 -0
  490. package/scripts/version-sync.sh +487 -0
  491. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  492. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  493. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  494. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  495. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  496. package/templates/projects/go/README.md +4 -0
  497. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  498. package/templates/projects/go/go.sum +0 -0
  499. package/templates/projects/molecule/README.md +7 -0
  500. package/templates/projects/molecule/converge.yml +7 -0
  501. package/templates/projects/molecule/molecule.yml +16 -0
  502. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  503. package/templates/projects/node/README.md +4 -0
  504. package/templates/projects/node/package-lock.json +12 -0
  505. package/templates/projects/node/src/index.js +1 -0
  506. package/templates/projects/packer/README.md +15 -0
  507. package/templates/projects/packer/main.pkr.hcl +15 -0
  508. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  509. package/templates/projects/python/README.md +4 -0
  510. package/templates/projects/python/pyproject.toml +15 -0
  511. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  512. package/templates/projects/python/tests/test_basic.py +1 -0
  513. package/docs/ARCHITECTURE.md +0 -62
  514. package/docs/COMPLIANCE.md +0 -47
  515. package/docs/OPERATIONS.md +0 -103
  516. package/docs/PR_DESCRIPTION.md +0 -150
  517. package/docs/ROADMAP_legacy.md +0 -556
  518. package/docs/SECURITY_CHECKLIST.md +0 -25
  519. package/docs/TASK.md +0 -99
  520. package/docs/WALKTHROUGH.md +0 -46
  521. package/scripts/backup.sh +0 -142
  522. package/scripts/banner.sh +0 -20
  523. package/scripts/benchmark.sh +0 -20
  524. package/scripts/build.sh +0 -41
  525. package/scripts/clean.sh +0 -31
  526. package/scripts/compile.sh +0 -54
  527. package/scripts/copy.sh +0 -108
  528. package/scripts/doctor.sh +0 -79
  529. package/scripts/dotfiles.sh +0 -63
  530. package/scripts/download.sh +0 -35
  531. package/scripts/help.sh +0 -57
  532. package/scripts/lock-configs.sh +0 -57
  533. package/scripts/package.sh +0 -46
  534. package/scripts/ssh.sh +0 -55
  535. package/scripts/teleport.sh +0 -23
  536. package/scripts/test-aliases.sh +0 -25
  537. package/scripts/test_smoke.sh +0 -88
  538. package/scripts/unpack.sh +0 -28
@@ -0,0 +1,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`
@@ -0,0 +1,164 @@
1
+ # Operations
2
+
3
+ Core workflows for keeping your dotfiles running across platforms.
4
+
5
+ ---
6
+
7
+ ## Platforms
8
+
9
+ ### macOS
10
+
11
+ **Primary manager**: `Homebrew`
12
+
13
+ - **Update**:
14
+ ```bash
15
+ chezmoi update
16
+ ```
17
+ This runs `brew bundle install` behind the scenes to reconcile against the declared Brewfiles.
18
+ - **Permission issues**: `sudo chown -R $(whoami) $(brew --prefix)/*`
19
+ - **Drift**: Run `brew bundle cleanup` to remove unmanaged packages.
20
+
21
+ ### Linux (Debian, Ubuntu, Kali)
22
+
23
+ **Primary manager**: `apt-get` / `snap`
24
+
25
+ - **Update**:
26
+ ```bash
27
+ sudo apt update && sudo apt upgrade -y
28
+ chezmoi update
29
+ ```
30
+ On Linux, `chezmoi` focuses on configuration. Package updates work best through the OS package manager to avoid `sudo` conflicts.
31
+ - **Font issues**: If icons are missing, run `./install/provision/run_onchange_50-install-fonts.sh.tmpl` manually via `chezmoi apply` or source directly with `bash`.
32
+
33
+ ### Windows (WSL2)
34
+
35
+ **Primary manager**: `apt-get` (inside WSL)
36
+
37
+ - **Update**: Same as Linux.
38
+ - **Clipboard**: Dotfiles configures `win32yank.exe` automatically for clipboard sharing.
39
+ - **Performance**: Keep project files inside the Linux filesystem (`~/projects`), not in `/mnt/c/`, for dramatically better IO.
40
+
41
+ ---
42
+
43
+ ## Workflows
44
+
45
+ ### Apply changes
46
+
47
+ After editing any config file:
48
+
49
+ ```bash
50
+ dot apply
51
+ ```
52
+
53
+ Triggers `dot_zshrc` reload and audit logging.
54
+
55
+ ### Upgrade-safe apply (recommended)
56
+
57
+ ```bash
58
+ git pull
59
+ DOTFILES_NONINTERACTIVE=1 dot apply --force
60
+ dot doctor
61
+ ```
62
+
63
+ `dot apply` includes post-apply checks that:
64
+ - Remove stale read-only zsh cache files (`~/.config/shell/*.zwc`, `~/.config/zsh/**/*.zwc`)
65
+ - Validate that `dot` resolves to `~/.local/bin/dot` in a fresh login shell
66
+
67
+ Finish by reloading your session (`exec zsh`) or restarting the terminal.
68
+
69
+ ### Async updates
70
+
71
+ Run updates in the background; you'll get a status banner on the next shell launch:
72
+
73
+ ```bash
74
+ dot update --async
75
+ ```
76
+
77
+ ### Roll back
78
+
79
+ If an update breaks your setup:
80
+
81
+ ```bash
82
+ cd ~/.dotfiles
83
+ git reset --hard HEAD@{1}
84
+ chezmoi apply
85
+ ```
86
+
87
+ ### Offline / air-gapped mode
88
+
89
+ ```bash
90
+ # 1. On a connected machine, bundle your setup:
91
+ dot bundle ~/Downloads
92
+
93
+ # 2. Transfer the archive to the offline machine, then:
94
+ tar --zstd -xf dotfiles_offline_bundle_*.tar.zst -P
95
+ cd ~/.dotfiles
96
+ ./install.sh --force
97
+ ```
98
+
99
+ ### Pre-warm caches
100
+
101
+ Regenerate all tool caches to eliminate shell startup latency:
102
+
103
+ ```bash
104
+ dot prewarm
105
+ ```
106
+
107
+ ### Debug
108
+
109
+ If something's slow or broken:
110
+
111
+ 1. **Check health**:
112
+ ```bash
113
+ dot doctor
114
+ dot health --fix
115
+ ```
116
+ 2. **Smoke test**:
117
+ ```bash
118
+ dot smoke-test
119
+ ```
120
+ 3. **Scorecard**:
121
+ ```bash
122
+ dot scorecard
123
+ ```
124
+ 4. **Chaos testing (self-healing)**:
125
+ ```bash
126
+ dot chaos --force
127
+ dot heal --force
128
+ ```
129
+ 5. **Startup profiling**:
130
+ ```bash
131
+ dot perf --profile
132
+ ```
133
+ 6. **Post-merge verification**:
134
+ ```bash
135
+ dot verify
136
+ ```
137
+ 7. **Inspect alias behavior**:
138
+ ```bash
139
+ dot aliases list
140
+ dot aliases why dprune
141
+ DOTFILES_ALIAS_POLICY=strict bash ~/.dotfiles/scripts/diagnostics/alias-governance.sh
142
+ ```
143
+ 8. **Verbose mode**:
144
+ ```bash
145
+ DOTFILES_DEBUG=1 dot apply
146
+ ```
147
+
148
+ ### Safety flags
149
+
150
+ Destructive aliases are disabled by default. Enable only when needed:
151
+
152
+ ```bash
153
+ export DOTFILES_ENABLE_DANGEROUS_ALIASES=1
154
+ ```
155
+
156
+ ### Tiered alias loading
157
+
158
+ Core aliases load eagerly. Ecosystem aliases are lazy-loaded and can be filtered:
159
+
160
+ ```bash
161
+ export DOTFILES_ALIAS_ECOSYSTEMS=python,node
162
+ ```
163
+
164
+ Valid ecosystem tags: `python`, `node`, `rust`, `network`, `legacy`.
@@ -0,0 +1,116 @@
1
+ # Reliability
2
+
3
+ ## Reliability scorecard
4
+
5
+ - Unit coverage: 100% module mapping target, enforced by `tests/framework/module_coverage.sh`
6
+ - Integration depth: 11 integration test files in `tests/integration/`
7
+ - Regression automation: 436 discovered test files and 2149 named tests in the current baseline
8
+
9
+ ## Coverage gap map
10
+
11
+ | Module | Missing path | Risk level | Proposed test case |
12
+ | :--- | :--- | :--- | :--- |
13
+ | `scripts/qa/reliability-audit.sh` | Quick mode and integration mode branch handling | Closed | Covered by `tests/unit/misc/test_qa_reliability_behaviour.sh` |
14
+ | `scripts/git-hooks/pre-push` | Audit command failure path | Closed | Covered by `tests/unit/misc/test_git_hooks_pre_push_behaviour.sh` |
15
+ | `tests/framework/module_coverage.sh` | False-positive module matches | Closed | Covered by `tests/unit/misc/test_module_coverage_behaviour.sh` |
16
+ | `examples/*.sh` | Drift between examples and real commands | Closed | Examples execute in CI through `Examples Contract` and `validate-examples.sh` |
17
+
18
+ ## Integration boundaries
19
+
20
+ ```mermaid
21
+ flowchart LR
22
+ Dev[Developer] --> Hook[pre-push hook]
23
+ Hook --> Audit[reliability-audit.sh]
24
+ Audit --> Syntax[Shell syntax gate]
25
+ Audit --> Unit[Unit suite]
26
+ Audit --> Coverage[Module coverage]
27
+ Audit --> Examples[Example validation]
28
+ Audit --> WSL[WSL contract]
29
+ Audit --> Integration[Integration suite]
30
+ Integration --> Repo[Dotfiles workflows]
31
+ WSL --> Repo
32
+ ```
33
+
34
+ ```mermaid
35
+ sequenceDiagram
36
+ participant Dev as Developer
37
+ participant Git as Git client
38
+ participant Hook as pre-push
39
+ participant Audit as reliability-audit.sh
40
+ participant Suite as tests/framework/test_runner.sh
41
+ participant Cov as module_coverage.sh
42
+ participant Ex as validate-examples.sh
43
+ participant WSL as wsl-contract.sh
44
+
45
+ Dev->>Git: git push
46
+ Git->>Hook: invoke pre-push
47
+ Hook->>Hook: verify signed commits
48
+ Hook->>Audit: run quick gate
49
+ Audit->>Suite: run unit suite
50
+ Audit->>Cov: enforce 100% module mapping
51
+ Audit->>Ex: execute examples
52
+ Audit->>WSL: verify WSL parity contract
53
+ Ex-->>Audit: pass
54
+ Cov-->>Audit: pass
55
+ WSL-->>Audit: pass
56
+ Suite-->>Audit: pass
57
+ Audit-->>Hook: pass
58
+ Hook-->>Git: allow push
59
+ ```
60
+
61
+ ## CI gate
62
+
63
+ ```yaml
64
+ name: Reliability Gate
65
+
66
+ on:
67
+ pull_request:
68
+ push:
69
+ branches: [master]
70
+ workflow_dispatch:
71
+
72
+ jobs:
73
+ reliability:
74
+ strategy:
75
+ fail-fast: false
76
+ matrix:
77
+ os: [ubuntu-latest, macos-latest]
78
+ runs-on: ${{ matrix.os }}
79
+ steps:
80
+ - uses: actions/checkout@v6
81
+ - name: Reliability audit
82
+ run: bash ./scripts/qa/reliability-audit.sh --with-integration
83
+
84
+ examples-contract:
85
+ runs-on: ubuntu-latest
86
+ steps:
87
+ - uses: actions/checkout@v6
88
+ - name: Validate executable examples
89
+ run: bash ./scripts/qa/validate-examples.sh
90
+
91
+ wsl-contract:
92
+ runs-on: ubuntu-latest
93
+ steps:
94
+ - uses: actions/checkout@v6
95
+ - name: Validate WSL parity contract
96
+ run: bash ./scripts/qa/wsl-contract.sh
97
+
98
+ reliability-summary:
99
+ needs: [reliability, examples-contract, wsl-contract]
100
+ runs-on: ubuntu-latest
101
+ ```
102
+
103
+ ## Functional examples
104
+
105
+ - `examples/example-test-suite.sh`: Runs a focused unit slice.
106
+ - `examples/example-coverage-gate.sh`: Runs the module coverage contract.
107
+ - `examples/example-git-hooks.sh`: Shows the local hook entrypoints.
108
+ - `examples/example-platform-contract.sh`: Shows the platform and host contract across macOS, Linux, and WSL.
109
+
110
+ ## Local guardrail
111
+
112
+ `make test` is the canonical reliability command. It runs syntax checks, unit tests, module coverage, executable examples, and integration tests.
113
+
114
+ For a lightweight repository-wide snapshot, run `bash ./scripts/qa/coverage-baseline.sh --with-module-coverage`.
115
+
116
+ Core internal behaviors are traced through `bash ./scripts/qa/traceability-coverage.sh`.