@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,281 @@
1
+ # Cookbook: Recipes
2
+
3
+ Thirty short recipes for common tasks.
4
+
5
+ ## Installation & Update
6
+
7
+ ### 1. Install on a fresh machine
8
+
9
+ ```sh
10
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
11
+ ```
12
+
13
+ ### 2. Update everything
14
+
15
+ ```sh
16
+ dot upgrade
17
+ ```
18
+
19
+ ### 3. Update dotfiles only (no tools)
20
+
21
+ ```sh
22
+ dot update
23
+ ```
24
+
25
+ ### 4. Preview what would change
26
+
27
+ ```sh
28
+ dot apply --dry-run
29
+ ```
30
+
31
+ ## Themes
32
+
33
+ ### 5. Switch to a specific theme
34
+
35
+ ```sh
36
+ dot theme tahoe-dark
37
+ ```
38
+
39
+ ### 6. Toggle between dark and light
40
+
41
+ ```sh
42
+ dot theme toggle
43
+ ```
44
+
45
+ ### 7. Open the interactive theme picker
46
+
47
+ ```sh
48
+ dot theme
49
+ ```
50
+
51
+ ### 8. List paired wallpaper themes
52
+
53
+ ```sh
54
+ dot theme list
55
+ ```
56
+
57
+ ### 9. Add a new wallpaper-driven theme
58
+
59
+ ```sh
60
+ cp my-wallpaper.jpg ~/Pictures/Wallpapers/myname-dark.jpg
61
+ cp my-wallpaper-light.jpg ~/Pictures/Wallpapers/myname-light.jpg
62
+ bash scripts/theme/merge-wallpaper.sh myname
63
+ dot theme rebuild
64
+ dot theme myname-dark
65
+ ```
66
+
67
+ ### 10. Regenerate all themes from scratch
68
+
69
+ ```sh
70
+ dot theme rebuild --force
71
+ ```
72
+
73
+ ## Configuration
74
+
75
+ ### 11. Edit the source directory
76
+
77
+ ```sh
78
+ dot edit
79
+ ```
80
+
81
+ ### 12. Add a new config file to chezmoi
82
+
83
+ ```sh
84
+ dot add ~/.some-config-file
85
+ ```
86
+
87
+ ### 13. Remove a managed file
88
+
89
+ ```sh
90
+ dot remove ~/.some-config-file
91
+ ```
92
+
93
+ ### 14. Show configuration drift
94
+
95
+ ```sh
96
+ dot status
97
+ ```
98
+
99
+ ### 15. Show diff against source
100
+
101
+ ```sh
102
+ dot diff
103
+ ```
104
+
105
+ ## Secrets
106
+
107
+ ### 16. Encrypt a new secret file
108
+
109
+ ```sh
110
+ chezmoi add --encrypt ~/some-secret.txt
111
+ ```
112
+
113
+ ### 17. Edit an encrypted file
114
+
115
+ ```sh
116
+ sops dot_config/credentials.sops.yaml
117
+ # or
118
+ chezmoi edit ~/some-secret.txt.age
119
+ ```
120
+
121
+ ### 18. Rotate your Age key
122
+
123
+ ```sh
124
+ age-keygen -o ~/.config/age/keys.txt.new
125
+ # Update .sops.yaml with new public key
126
+ # Then:
127
+ find . -name '*.sops.yaml' -exec sops updatekeys {} \;
128
+ git commit -sS -am "chore(secrets): rotate age key"
129
+ ```
130
+
131
+ ### 19. Check for accidental secret leaks
132
+
133
+ ```sh
134
+ dot verify --security
135
+ ```
136
+
137
+ ## Diagnostics
138
+
139
+ ### 20. Quick health check
140
+
141
+ ```sh
142
+ dot doctor
143
+ ```
144
+
145
+ ### 21. Auto-fix common issues
146
+
147
+ ```sh
148
+ dot heal
149
+ ```
150
+
151
+ ### 22. Check startup performance
152
+
153
+ ```sh
154
+ dot benchmark
155
+ ```
156
+
157
+ ### 23. See the health score
158
+
159
+ ```sh
160
+ dot score
161
+ ```
162
+
163
+ ### 24. Recent metrics
164
+
165
+ ```sh
166
+ dot metrics
167
+ ```
168
+
169
+ ## Fleet
170
+
171
+ ### 25. Attest across all fleet hosts
172
+
173
+ ```sh
174
+ dot fleet attest
175
+ ```
176
+
177
+ ### 26. Sync dotfiles to every fleet host
178
+
179
+ ```sh
180
+ dot fleet sync
181
+ ```
182
+
183
+ ### 27. Diff config across hosts
184
+
185
+ ```sh
186
+ dot fleet diff
187
+ ```
188
+
189
+ ## AI & Agents
190
+
191
+ ### 28. Show installed AI tools
192
+
193
+ ```sh
194
+ dot ai
195
+ ```
196
+
197
+ ### 29. Switch agent profile
198
+
199
+ ```sh
200
+ dot mode architect # or hardener, refactor
201
+ ```
202
+
203
+ ### 30. Verify MCP policy
204
+
205
+ ```sh
206
+ dot mcp --strict
207
+ ```
208
+
209
+ ## Recovery
210
+
211
+ ### 31. Rollback the last apply
212
+
213
+ ```sh
214
+ dot rollback
215
+ ```
216
+
217
+ ### 32. Create an offline bundle
218
+
219
+ ```sh
220
+ dot bundle
221
+ ```
222
+
223
+ ### 33. Restore from a bundle
224
+
225
+ ```sh
226
+ dot bundle restore ~/Downloads/dotfiles-bundle-*.tar.zst
227
+ ```
228
+
229
+ ## Development
230
+
231
+ ### 34. Run a test locally
232
+
233
+ ```sh
234
+ bash tests/unit/theme/test_themes_toml.sh
235
+ ```
236
+
237
+ ### 35. Run all tests
238
+
239
+ ```sh
240
+ ./tests/framework/test_runner.sh
241
+ ```
242
+
243
+ ### 36. Lint shell scripts
244
+
245
+ ```sh
246
+ dot lint
247
+ ```
248
+
249
+ ### 37. Simulate chaos to test self-healing
250
+
251
+ ```sh
252
+ dot chaos symlink # in an ephemeral container only
253
+ dot heal
254
+ dot doctor
255
+ ```
256
+
257
+ ## Manual
258
+
259
+ ### 38. Open the manual in a browser
260
+
261
+ ```sh
262
+ dot manual
263
+ ```
264
+
265
+ ### 39. Download the PDF
266
+
267
+ ```sh
268
+ dot manual pdf
269
+ ```
270
+
271
+ ### 40. Read the manual in a terminal
272
+
273
+ ```sh
274
+ dot manual text | less
275
+ ```
276
+
277
+ ## See Also
278
+
279
+ - [Troubleshooting](02-troubleshooting.md)
280
+ - [FAQ](03-faq.md)
281
+ - [CLI Reference](../03-reference/01-dot-cli.md)
@@ -0,0 +1,319 @@
1
+ # Cookbook: Troubleshooting
2
+
3
+ Symptom → cause → fix.
4
+
5
+ ## Installation
6
+
7
+ ### Symptom: `install.sh` fails with "chezmoi not found"
8
+
9
+ **Cause**: `/usr/local/bin` or `~/.local/bin` not in PATH at install time.
10
+
11
+ **Fix**:
12
+ ```sh
13
+ export PATH="$HOME/.local/bin:$PATH"
14
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
15
+ ```
16
+
17
+ ### Symptom: "could not create directory ~/.local/share/chezmoi"
18
+
19
+ **Cause**: Permission issue on `~/.local`.
20
+
21
+ **Fix**:
22
+ ```sh
23
+ mkdir -p ~/.local/share ~/.local/state ~/.local/bin
24
+ chmod 755 ~/.local ~/.local/share
25
+ ```
26
+
27
+ ### Symptom: Install hangs at "Downloading chezmoi"
28
+
29
+ **Cause**: Slow network or corporate proxy.
30
+
31
+ **Fix**:
32
+ ```sh
33
+ export https_proxy=$HTTP_PROXY # if applicable
34
+ # Or pre-download chezmoi manually
35
+ brew install chezmoi # macOS
36
+ apt install chezmoi # Debian 13+
37
+ ```
38
+
39
+ ## Apply / Sync
40
+
41
+ ### Symptom: `dot apply` reports "file modified, skipping"
42
+
43
+ **Cause**: Chezmoi detected local drift on a managed file.
44
+
45
+ **Fix**:
46
+ ```sh
47
+ dot diff # see what differs
48
+ dot apply --force # overwrite local
49
+ # OR
50
+ dot add <path> # import local change to source
51
+ ```
52
+
53
+ ### Symptom: "template: error calling index"
54
+
55
+ **Cause**: A template references a missing data field.
56
+
57
+ **Fix**: Check that your `.chezmoidata.toml` has the required field. For example:
58
+ ```sh
59
+ chezmoi execute-template '{{- $hw := index .hardware .machine -}}{{ $hw.wm }}'
60
+ ```
61
+ If `machine` is not set in your `~/.config/chezmoi/chezmoi.toml`, `index` returns nil. Set:
62
+ ```toml
63
+ [data]
64
+ machine = "macbook-t2"
65
+ ```
66
+
67
+ ### Symptom: Apply succeeds but shell doesn't reflect changes
68
+
69
+ **Cause**: Cached init scripts are stale.
70
+
71
+ **Fix**:
72
+ ```sh
73
+ dot clean-cache
74
+ dot prewarm
75
+ exec $SHELL -l
76
+ ```
77
+
78
+ ## Theme
79
+
80
+ ### Symptom: `dot theme` shows no themes
81
+
82
+ **Cause**: No wallpapers discovered, themes.toml not generated.
83
+
84
+ **Fix**:
85
+ ```sh
86
+ dot theme rebuild --force
87
+ ```
88
+
89
+ ### Symptom: `dot theme <name>` errors "unknown theme"
90
+
91
+ **Cause**: Theme name doesn't exist in `themes.toml`.
92
+
93
+ **Fix**:
94
+ ```sh
95
+ dot theme list # see valid names
96
+ dot theme rebuild --force # regenerate if expected but missing
97
+ ```
98
+
99
+ ### Symptom: macOS accent color doesn't update
100
+
101
+ **Cause**: System Settings UI cached the old value.
102
+
103
+ **Fix**: `dot-theme-sync` now calls `killall cfprefsd SystemUIServer Dock "System Settings"`. If it still doesn't refresh:
104
+ ```sh
105
+ killall -KILL Dock SystemUIServer
106
+ sudo killall -KILL cfprefsd
107
+ ```
108
+ Or log out and back in.
109
+
110
+ ### Symptom: Wallpaper not applying
111
+
112
+ **Cause**: Wrong format or missing DE support on Linux.
113
+
114
+ **Fix**:
115
+ ```sh
116
+ # Check the wallpaper file exists
117
+ ls -la ~/Pictures/Wallpapers/
118
+
119
+ # On Linux, verify HEIC → PNG conversion tool
120
+ command -v magick || command -v heif-convert || command -v convert
121
+ # Install if needed:
122
+ sudo apt install imagemagick-7
123
+ ```
124
+
125
+ ### Symptom: Theme applies but Ghostty doesn't reload
126
+
127
+ **Cause**: Ghostty DBus or SIGUSR2 signaling failed.
128
+
129
+ **Fix**:
130
+ ```sh
131
+ # Restart Ghostty manually, or:
132
+ pkill -USR2 ghostty 2>/dev/null
133
+ # Or quit+relaunch the app
134
+ ```
135
+
136
+ ## Secrets
137
+
138
+ ### Symptom: "could not decrypt: no age key"
139
+
140
+ **Cause**: `~/.config/age/keys.txt` missing or unreadable.
141
+
142
+ **Fix**:
143
+ ```sh
144
+ ls -la ~/.config/age/keys.txt
145
+ # Should be: -rw------- 1 user user
146
+ chmod 600 ~/.config/age/keys.txt
147
+
148
+ # If missing, restore from password manager or regenerate (requires re-encrypting all secrets)
149
+ ```
150
+
151
+ ### Symptom: SOPS says "wrong recipient"
152
+
153
+ **Cause**: Your Age public key isn't listed in the file's recipients.
154
+
155
+ **Fix**:
156
+ ```sh
157
+ # Add your public key to .sops.yaml
158
+ sops updatekeys path/to/file.sops.yaml
159
+
160
+ # Or, ask a recipient to re-encrypt for you
161
+ ```
162
+
163
+ ### Symptom: Plaintext leak detected by gitleaks
164
+
165
+ **Cause**: A secret was committed to Git history.
166
+
167
+ **Fix**:
168
+ ```sh
169
+ # Immediate mitigation
170
+ dot verify --security # confirm which file
171
+ git rm --cached <file>
172
+ echo "<file>" >> .gitignore
173
+ git commit -sS -m "fix(security): remove leaked file"
174
+
175
+ # Rotate the leaked secret upstream (it's now public)
176
+ # Rewrite Git history if needed (requires force-push):
177
+ git filter-repo --path <file> --invert-paths
178
+ ```
179
+
180
+ ## Performance
181
+
182
+ ### Symptom: Shell startup >500ms
183
+
184
+ **Cause**: Heavy modules loaded synchronously.
185
+
186
+ **Fix**:
187
+ ```sh
188
+ dot benchmark --detailed
189
+ # Identify which module is slow
190
+
191
+ # Rebuild caches
192
+ dot prewarm
193
+
194
+ # Disable heavy modules temporarily
195
+ # Edit ~/.config/zsh/.zshrc.local (or equivalent) to skip them
196
+ ```
197
+
198
+ ### Symptom: `dot doctor` score <70
199
+
200
+ **Cause**: Multiple health issues.
201
+
202
+ **Fix**:
203
+ ```sh
204
+ dot doctor --verbose # see every failure
205
+ dot heal # auto-fix what's possible
206
+ dot doctor # recheck
207
+ ```
208
+
209
+ ### Symptom: Mise tools not found
210
+
211
+ **Cause**: Mise shim not activated.
212
+
213
+ **Fix**:
214
+ ```sh
215
+ eval "$(mise activate zsh)" # or fish, bash
216
+ dot doctor # confirm
217
+ ```
218
+
219
+ ## Build Artifacts
220
+
221
+ ### Symptom: Cargo builds to `target/` instead of `/tmp/builds/cargo`
222
+
223
+ **Cause**: `~/.cargo/config.toml` not managed or was overridden.
224
+
225
+ **Fix**:
226
+ ```sh
227
+ chezmoi apply ~/.cargo/config.toml
228
+ cat ~/.cargo/config.toml | grep target-dir
229
+ # Should be: target-dir = "/tmp/builds/cargo"
230
+ ```
231
+
232
+ ### Symptom: `/tmp/builds/` doesn't exist
233
+
234
+ **Cause**: Created by shell init, but shell wasn't restarted.
235
+
236
+ **Fix**:
237
+ ```sh
238
+ mkdir -p /tmp/builds
239
+ # Or restart shell
240
+ exec $SHELL -l
241
+ ```
242
+
243
+ ## Fleet
244
+
245
+ ### Symptom: `dot fleet attest` hangs
246
+
247
+ **Cause**: A fleet host is unreachable.
248
+
249
+ **Fix**:
250
+ ```sh
251
+ # Check connectivity to each host
252
+ for host in macbook-t2 surface-pro geekom-a9; do
253
+ ssh -o ConnectTimeout=5 $host 'echo OK' || echo "FAIL: $host"
254
+ done
255
+
256
+ # Remove unreachable hosts from ~/.config/dotfiles/fleet.toml temporarily
257
+ ```
258
+
259
+ ### Symptom: Attestation signature fails
260
+
261
+ **Cause**: Remote host's SSH public key not in local `~/.ssh/allowed_signers`.
262
+
263
+ **Fix**:
264
+ ```sh
265
+ # On the remote host:
266
+ ssh remote-host 'cat ~/.ssh/id_ed25519.pub'
267
+ # Copy the output and append to your ~/.ssh/allowed_signers
268
+ ```
269
+
270
+ ## CI
271
+
272
+ ### Symptom: PR fails on "Shell Lint (Zero Warnings)"
273
+
274
+ **Cause**: `shfmt` formatting differs from canonical.
275
+
276
+ **Fix**:
277
+ ```sh
278
+ shfmt -w -i 2 -ci scripts/**/*.sh install.sh .chezmoitemplates/**/*.sh
279
+ # Commit the changes
280
+ ```
281
+
282
+ ### Symptom: PR fails on "100% Coverage"
283
+
284
+ **Cause**: New code added without tests.
285
+
286
+ **Fix**:
287
+ ```sh
288
+ bash examples/example-coverage-gate.sh
289
+ # Identifies uncovered modules
290
+
291
+ # Add a test in tests/unit/<domain>/test_<module>.sh
292
+ ```
293
+
294
+ ### Symptom: Checkov SARIF upload times out
295
+
296
+ **Cause**: Known infrastructure flake (Azure runner slow apt mirrors).
297
+
298
+ **Fix**: The workflow already guards this with `hashFiles('reports/checkov.sarif')`. If you see this after the guard was added, check the Checkov step output for errors.
299
+
300
+ ## Getting More Help
301
+
302
+ 1. Check [FAQ](03-faq.md)
303
+ 2. Read the relevant [concept chapter](../01-concepts/)
304
+ 3. Open an issue: <https://github.com/sebastienrousseau/dotfiles/issues>
305
+
306
+ When filing an issue, include:
307
+
308
+ ```sh
309
+ dot doctor --json
310
+ dot version
311
+ uname -a
312
+ chezmoi --version
313
+ ```
314
+
315
+ ## See Also
316
+
317
+ - [Self-Healing concept](../01-concepts/05-self-healing.md)
318
+ - [FAQ](03-faq.md)
319
+ - [Security: Incident Response](../../security/INCIDENT_RESPONSE.md)