@sebastienrousseau/dotfiles 0.2.481 → 0.2.500

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/CHANGELOG.md +122 -32
  2. package/LICENSE +1 -1
  3. package/README.md +211 -242
  4. package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
  5. package/docs/AI.md +102 -0
  6. package/docs/COPYRIGHT +2 -2
  7. package/docs/NAMING_CONVENTIONS.md +95 -0
  8. package/docs/README.md +58 -249
  9. package/docs/adr/ADR-004-cli-architecture.md +2 -2
  10. package/docs/adr/ADR-006-shell-selection.md +2 -2
  11. package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
  12. package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
  13. package/docs/adr/README.md +2 -3
  14. package/docs/architecture/ARCHITECTURE.md +113 -0
  15. package/docs/architecture/INTEROP.md +36 -0
  16. package/docs/architecture/REPO_LAYOUT.md +237 -0
  17. package/docs/architecture/WALKTHROUGH.md +82 -0
  18. package/docs/architecture/fleet-deployment.md +73 -0
  19. package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
  20. package/docs/archive/MILESTONE_v0.2.493.md +43 -0
  21. package/docs/{PLAN.md → archive/PLAN.md} +1 -1
  22. package/docs/guides/INSTALL.md +140 -0
  23. package/docs/{NEOVIM_IDE_GUIDE.md → guides/NEOVIM_IDE_GUIDE.md} +12 -12
  24. package/docs/guides/THEMING.md +222 -0
  25. package/docs/{TROUBLESHOOTING.md → guides/TROUBLESHOOTING.md} +36 -0
  26. package/docs/{WSL2_NIX_TROUBLESHOOTING.md → guides/WSL2_NIX_TROUBLESHOOTING.md} +8 -8
  27. package/docs/index.md +39 -0
  28. package/docs/interop/A2A.md +32 -0
  29. package/docs/manual/00-introduction.md +85 -0
  30. package/docs/manual/01-concepts/01-architecture.md +134 -0
  31. package/docs/manual/01-concepts/02-trust-model.md +178 -0
  32. package/docs/manual/01-concepts/03-theme-engine.md +182 -0
  33. package/docs/manual/01-concepts/04-fleet.md +142 -0
  34. package/docs/manual/01-concepts/05-self-healing.md +197 -0
  35. package/docs/manual/02-tutorials/01-first-install.md +192 -0
  36. package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
  37. package/docs/manual/02-tutorials/03-create-profile.md +238 -0
  38. package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
  39. package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
  40. package/docs/manual/03-reference/01-dot-cli.md +413 -0
  41. package/docs/manual/03-reference/02-config-files.md +259 -0
  42. package/docs/manual/03-reference/03-environment.md +120 -0
  43. package/docs/manual/03-reference/04-templates.md +184 -0
  44. package/docs/manual/03-reference/05-feature-flags.md +118 -0
  45. package/docs/manual/04-cookbook/01-recipes.md +281 -0
  46. package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
  47. package/docs/manual/04-cookbook/03-faq.md +167 -0
  48. package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
  49. package/docs/manual/05-appendices/B-security-checklist.md +78 -0
  50. package/docs/manual/05-appendices/C-glossary.md +36 -0
  51. package/docs/manual/05-appendices/D-bibliography.md +54 -0
  52. package/docs/manual/05-appendices/E-license.md +34 -0
  53. package/docs/manual/_toc.yml +58 -0
  54. package/docs/manual/command-index.md +58 -0
  55. package/docs/manual/concept-index.md +164 -0
  56. package/docs/operations/ATTESTATION.md +39 -0
  57. package/docs/operations/MAINTENANCE.md +59 -0
  58. package/docs/operations/MIGRATION.md +101 -0
  59. package/docs/operations/OPERATIONS.md +164 -0
  60. package/docs/operations/RELIABILITY.md +116 -0
  61. package/docs/{ROADMAP.md → operations/ROADMAP.md} +11 -11
  62. package/docs/operations/TESTING.md +195 -0
  63. package/docs/operations/TRACEABILITY.md +31 -0
  64. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
  65. package/docs/operations/VERSION_SYNC.md +344 -0
  66. package/docs/{ALIASES.md → reference/ALIASES.md} +2 -6
  67. package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
  68. package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
  69. package/docs/reference/FEATURES.md +62 -0
  70. package/docs/reference/FONTS.md +108 -0
  71. package/docs/reference/PROFILES.md +65 -0
  72. package/docs/{SCREENSHOTS.md → reference/SCREENSHOTS.md} +26 -25
  73. package/docs/reference/SCRIPTS.md +67 -0
  74. package/docs/reference/SUPPORT_MATRIX.md +74 -0
  75. package/docs/reference/THEMES.md +113 -0
  76. package/docs/reference/TOOLS.md +105 -0
  77. package/docs/reference/UTILS.md +151 -0
  78. package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
  79. package/docs/security/AUTOMATION_SECRETS.md +22 -0
  80. package/docs/security/COMPLIANCE.md +453 -0
  81. package/docs/security/ENCRYPTION.md +52 -0
  82. package/docs/security/FMEA.md +155 -0
  83. package/docs/security/INCIDENT_RESPONSE.md +575 -0
  84. package/docs/security/KEYS.md +45 -0
  85. package/docs/security/MCP_POLICY.md +69 -0
  86. package/docs/security/POLICY_RELEASES.md +33 -0
  87. package/docs/security/README.md +24 -0
  88. package/docs/security/SECRETS.md +146 -0
  89. package/docs/security/SECURITY.md +41 -0
  90. package/docs/security/SECURITY_CHECKLIST.md +44 -0
  91. package/docs/security/SOUP_REGISTER.md +32 -0
  92. package/docs/security/THREAT_MODEL.md +120 -0
  93. package/docs/security/VERIFICATION_VALIDATION.md +224 -0
  94. package/docs/themes/README.md +3 -17
  95. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
  96. package/docs/themes/hero-shot.svg +78 -0
  97. package/dot_config/.module-manifest.json +69 -0
  98. package/dot_config/ai/identity.md +20 -0
  99. package/dot_config/ai/patterns/architect.md +14 -0
  100. package/dot_config/ai/patterns/hardener.md +13 -0
  101. package/dot_config/ai/patterns/refactor.md +13 -0
  102. package/dot_config/aider/aider.conf.yml +1 -1
  103. package/dot_config/alacritty/alacritty.toml.tmpl +41 -469
  104. package/dot_config/atuin/config.toml +18 -1
  105. package/dot_config/bat/config +16 -1
  106. package/dot_config/claude/mcp_servers.json +3 -32
  107. package/dot_config/dotfiles/agent-card.json +29 -0
  108. package/dot_config/dotfiles/agent-profiles.json +92 -0
  109. package/dot_config/dotfiles/boot/README.md +1 -1
  110. package/dot_config/dotfiles/grub/README.md +1 -1
  111. package/dot_config/dotfiles/lock/README.md +1 -1
  112. package/dot_config/dotfiles/mcp-lock.json +33 -0
  113. package/dot_config/dotfiles/mcp-policy.json +52 -0
  114. package/dot_config/dotfiles/mcp-registry.json +47 -0
  115. package/dot_config/dotfiles/model-registry.json +20 -0
  116. package/dot_config/dotfiles/policy-bundles.json +38 -0
  117. package/dot_config/dotfiles/prompt-registry.json +16 -0
  118. package/dot_config/dotfiles/versions.env +18 -0
  119. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  120. package/dot_config/environment.d/90-wayland.conf +19 -0
  121. package/dot_config/firefox/user.js.tmpl +58 -0
  122. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  123. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  124. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  125. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  126. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  127. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  128. package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
  129. package/dot_config/fish/config.fish.tmpl +44 -0
  130. package/dot_config/fish/fish_plugins +1 -0
  131. package/dot_config/fish/functions/_.fish +3 -0
  132. package/dot_config/fish/functions/_cached_eval.fish +58 -0
  133. package/dot_config/fish/functions/als.fish +46 -0
  134. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  135. package/dot_config/fish/functions/c.fish +3 -0
  136. package/dot_config/fish/functions/cat.fish +9 -0
  137. package/dot_config/fish/functions/d.fish +7 -0
  138. package/dot_config/fish/functions/dot.fish +34 -0
  139. package/dot_config/fish/functions/h.fish +3 -0
  140. package/dot_config/fish/functions/l.fish +7 -0
  141. package/dot_config/fish/functions/la.fish +7 -0
  142. package/dot_config/fish/functions/ll.fish +7 -0
  143. package/dot_config/fish/functions/log_error.fish +13 -0
  144. package/dot_config/fish/functions/log_info.fish +13 -0
  145. package/dot_config/fish/functions/lr.fish +7 -0
  146. package/dot_config/fish/functions/lra.fish +7 -0
  147. package/dot_config/fish/functions/ls.fish +7 -0
  148. package/dot_config/fish/functions/lt.fish +7 -0
  149. package/dot_config/fish/functions/lta.fish +7 -0
  150. package/dot_config/fish/functions/notify-run.fish +11 -0
  151. package/dot_config/fish/functions/q.fish +3 -0
  152. package/dot_config/fish/functions/silent-run.fish +7 -0
  153. package/dot_config/fish/functions/yy.fish +8 -0
  154. package/dot_config/fontconfig/fonts.conf.tmpl +13 -0
  155. package/dot_config/foot/foot.ini.tmpl +33 -0
  156. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  157. package/dot_config/fzf/fzf.zsh +48 -0
  158. package/dot_config/ghostty/config.tmpl +69 -565
  159. package/dot_config/git/allowed_signers.tmpl +18 -0
  160. package/dot_config/git/commit-template +10 -0
  161. package/dot_config/gnupg/{gpg-agent.conf.tmpl → gpg-agent.conf} +3 -3
  162. package/dot_config/goose/config.yaml +2 -2
  163. package/dot_config/gtk-3.0/gtk.css.tmpl +59 -180
  164. package/dot_config/gtk-3.0/settings.ini.tmpl +5 -44
  165. package/dot_config/gtk-4.0/gtk.css.tmpl +79 -136
  166. package/dot_config/gtk-4.0/settings.ini.tmpl +5 -8
  167. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  168. package/dot_config/just/justfile +18 -0
  169. package/dot_config/kanshi/config.tmpl +22 -0
  170. package/dot_config/kitty/kitty.conf.tmpl +44 -508
  171. package/dot_config/lazygit/config.yml +18 -6
  172. package/dot_config/mako/config +47 -0
  173. package/dot_config/micro/settings.json +3 -0
  174. package/dot_config/mimeapps.list +77 -0
  175. package/dot_config/mise/config.toml +63 -5
  176. package/dot_config/mongosh/mongoshrc.js +1 -0
  177. package/dot_config/mpv/input.conf +47 -0
  178. package/dot_config/mpv/mpv.conf +47 -0
  179. package/dot_config/niri/config.kdl.tmpl +327 -0
  180. package/dot_config/nushell/aliases.nu +18 -0
  181. package/dot_config/nushell/completions.nu.tmpl +52 -0
  182. package/dot_config/nushell/config.nu.tmpl +86 -0
  183. package/dot_config/nushell/env.nu.tmpl +94 -0
  184. package/dot_config/nushell/functions.nu.tmpl +17 -0
  185. package/dot_config/nvim/init.lua +14 -0
  186. package/dot_config/nvim/lazy-lock.json +45 -14
  187. package/dot_config/nvim/lua/config/autocmds.lua +45 -1
  188. package/dot_config/nvim/lua/config/keymaps.lua +13 -8
  189. package/dot_config/nvim/lua/config/lazy.lua +22 -12
  190. package/dot_config/nvim/lua/config/options.lua +1 -0
  191. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  192. package/dot_config/nvim/lua/plugins/coding.lua +11 -29
  193. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  194. package/dot_config/nvim/lua/plugins/dap.lua +215 -4
  195. package/dot_config/nvim/lua/plugins/editor.lua +6 -10
  196. package/dot_config/nvim/lua/plugins/git.lua +1 -0
  197. package/dot_config/nvim/lua/plugins/lsp.lua +16 -81
  198. package/dot_config/nvim/lua/plugins/markdown.lua +1 -0
  199. package/dot_config/nvim/lua/plugins/rust.lua +1 -0
  200. package/dot_config/nvim/lua/plugins/sessions.lua +1 -0
  201. package/dot_config/nvim/lua/plugins/ui.lua +23 -51
  202. package/dot_config/paru/paru.conf +10 -0
  203. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  204. package/dot_config/pueue/pueue.yml +34 -0
  205. package/dot_config/raycast/README.md +1 -1
  206. package/dot_config/ripgrep/ripgreprc +21 -0
  207. package/dot_config/shell/00-core-paths.sh.tmpl +62 -24
  208. package/dot_config/shell/05-core-safety.sh +47 -0
  209. package/dot_config/shell/10-secrets.sh +40 -0
  210. package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
  211. package/dot_config/shell/40-ls-colors.sh +48 -0
  212. package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
  213. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
  214. package/dot_config/shell/90-ux-aliases.sh.tmpl +90 -5
  215. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +33 -2
  216. package/dot_config/shell/Brewfile.cli +8 -0
  217. package/dot_config/shell/README.md +9 -9
  218. package/dot_config/shell/als_data.txt.tmpl +65 -0
  219. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  220. package/dot_config/shell/custom/context_suggest.zsh +50 -50
  221. package/dot_config/shell/custom/error_analysis.zsh +29 -29
  222. package/dot_config/starship.toml.tmpl +85 -7
  223. package/dot_config/swaylock/config +43 -0
  224. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  225. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  226. package/dot_config/systemd/user/pueued.service +12 -0
  227. package/dot_config/systemd/user/ssh-agent.service +12 -0
  228. package/dot_config/tmux/tmux.conf.tmpl +80 -38
  229. package/dot_config/topgrade.toml.tmpl +54 -0
  230. package/dot_config/user-dirs.dirs +9 -0
  231. package/dot_config/vscode/settings.json.tmpl +9 -50
  232. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  233. package/dot_config/waybar/style.css.tmpl +211 -0
  234. package/dot_config/wezterm/wezterm.lua.tmpl +31 -203
  235. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  236. package/dot_config/yazi/keymap.toml +67 -0
  237. package/dot_config/yazi/theme.toml +102 -0
  238. package/dot_config/zathura/zathurarc +52 -0
  239. package/dot_config/zellij/{config.kdl → config.kdl.tmpl} +1 -1
  240. package/dot_config/zsh/dot_zprofile +1 -7
  241. package/dot_config/zsh/dot_zshenv +2 -3
  242. package/dot_config/zsh/dot_zshrc.tmpl +368 -69
  243. package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
  244. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +17 -4
  245. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +4 -4
  246. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  247. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +101 -30
  248. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  249. package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
  250. package/dot_local/bin/executable_ai-update +195 -0
  251. package/dot_local/bin/executable_ai_core +113 -91
  252. package/dot_local/bin/executable_antigravity +11 -0
  253. package/dot_local/bin/executable_b64 +61 -36
  254. package/dot_local/bin/executable_bm +77 -0
  255. package/dot_local/bin/executable_cb +39 -0
  256. package/dot_local/bin/executable_dot +543 -132
  257. package/dot_local/bin/executable_dot-ai +36 -0
  258. package/dot_local/bin/executable_dot-bootstrap +77 -0
  259. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  260. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  261. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  262. package/dot_local/bin/executable_dot-theme-sync +952 -0
  263. package/dot_local/bin/executable_dot_completion +2 -0
  264. package/dot_local/bin/executable_dtags +28 -0
  265. package/dot_local/bin/executable_epoch +43 -38
  266. package/dot_local/bin/executable_extract +32 -99
  267. package/dot_local/bin/executable_gbd +52 -0
  268. package/dot_local/bin/executable_gd +42 -0
  269. package/dot_local/bin/executable_git-ai-commit +35 -20
  270. package/dot_local/bin/executable_git-ai-diff +33 -18
  271. package/dot_local/bin/executable_gl +101 -0
  272. package/dot_local/bin/executable_hash +56 -18
  273. package/dot_local/bin/executable_hashsum +160 -0
  274. package/dot_local/bin/executable_hex +44 -8
  275. package/dot_local/bin/executable_jsonv +34 -10
  276. package/dot_local/bin/executable_jwt +22 -6
  277. package/dot_local/bin/executable_kill-port +18 -2
  278. package/dot_local/bin/executable_lorem +21 -6
  279. package/dot_local/bin/executable_mkscript +35 -0
  280. package/dot_local/bin/executable_monitor +56 -0
  281. package/dot_local/bin/{executable_ip → executable_myip} +16 -2
  282. package/dot_local/bin/executable_notify +22 -0
  283. package/dot_local/bin/executable_open +36 -0
  284. package/dot_local/bin/executable_pw +27 -0
  285. package/dot_local/bin/executable_rec-start +46 -0
  286. package/dot_local/bin/executable_rec-stop +35 -0
  287. package/dot_local/bin/executable_regex +49 -13
  288. package/dot_local/bin/executable_start-niri +8 -0
  289. package/dot_local/bin/executable_tmux-sessionizer +276 -149
  290. package/dot_local/bin/executable_tour +112 -74
  291. package/dot_local/bin/executable_up +21 -0
  292. package/dot_local/bin/executable_update +45 -11
  293. package/dot_local/bin/executable_uuid +37 -7
  294. package/dot_local/bin/executable_win +32 -0
  295. package/dot_local/bin/executable_yamlv +25 -7
  296. package/dot_local/share/bash-completion/completions/dot +62 -44
  297. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  298. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  299. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  300. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  301. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  302. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  303. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  304. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  305. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  306. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  307. package/dot_local/share/man/man1/dot.1 +149 -0
  308. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  309. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  310. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  311. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  312. package/dot_local/share/zsh/completions/_dot +283 -0
  313. package/install.sh +297 -210
  314. package/package.json +17 -5
  315. package/scripts/ci/check-copyright-headers.sh +96 -0
  316. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  317. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  318. package/scripts/ci/validate-ci-config.sh +41 -39
  319. package/scripts/demo/record.sh +3 -2
  320. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  321. package/scripts/diagnostics/alias-governance.sh +137 -0
  322. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  323. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  324. package/scripts/diagnostics/benchmark.sh +209 -29
  325. package/scripts/diagnostics/conflicts.sh +72 -0
  326. package/scripts/diagnostics/doctor-unified.sh +38 -0
  327. package/scripts/diagnostics/doctor.sh +491 -65
  328. package/scripts/diagnostics/drift-dashboard.sh +17 -6
  329. package/scripts/diagnostics/health.sh +351 -110
  330. package/scripts/diagnostics/history-analysis.sh +12 -4
  331. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  332. package/scripts/diagnostics/perf.sh +225 -0
  333. package/scripts/diagnostics/scorecard.sh +118 -0
  334. package/scripts/diagnostics/secret-governance.sh +58 -0
  335. package/scripts/diagnostics/security-score.sh +139 -93
  336. package/scripts/diagnostics/smoke-test.sh +87 -0
  337. package/scripts/diagnostics/snapshot.sh +89 -0
  338. package/scripts/diagnostics/verify.sh +107 -0
  339. package/scripts/diagnostics/verify_state.sh +2 -2
  340. package/scripts/diagnostics/version-locks.sh +79 -0
  341. package/scripts/diagnostics/workstation-attestation.sh +181 -0
  342. package/scripts/docs/build-manual.sh +883 -0
  343. package/scripts/docs/check-manual.sh +213 -0
  344. package/scripts/dot/commands/agent.sh +465 -0
  345. package/scripts/dot/commands/ai.sh +416 -0
  346. package/scripts/dot/commands/aliases.sh +250 -0
  347. package/scripts/dot/commands/appearance.sh +21 -4
  348. package/scripts/dot/commands/core.sh +59 -4
  349. package/scripts/dot/commands/diagnostics.sh +132 -3
  350. package/scripts/dot/commands/fleet.sh +399 -0
  351. package/scripts/dot/commands/lint.sh +177 -0
  352. package/scripts/dot/commands/manual.sh +168 -0
  353. package/scripts/dot/commands/meta.sh +148 -17
  354. package/scripts/dot/commands/patterns.sh +54 -0
  355. package/scripts/dot/commands/restore.sh +57 -35
  356. package/scripts/dot/commands/secrets.sh +151 -9
  357. package/scripts/dot/commands/security.sh +3 -0
  358. package/scripts/dot/commands/tools.sh +268 -27
  359. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  360. package/scripts/dot/lib/bento.sh +49 -0
  361. package/scripts/dot/lib/log.sh +194 -0
  362. package/scripts/dot/lib/platform.sh +98 -0
  363. package/scripts/dot/lib/ui.sh +507 -0
  364. package/scripts/dot/lib/utils.sh +318 -18
  365. package/scripts/fonts/install-nerd-fonts.sh +19 -10
  366. package/scripts/fonts/patch-fonts.sh +1 -0
  367. package/scripts/git-hooks/install.sh +11 -0
  368. package/scripts/git-hooks/pre-commit +12 -0
  369. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  370. package/scripts/git-hooks/pre-push +29 -0
  371. package/scripts/git-hooks/prepare-commit-msg +29 -0
  372. package/scripts/lib/secrets_provider.sh +158 -0
  373. package/scripts/maintenance/check-updates.sh +131 -0
  374. package/scripts/ops/ai-setup.sh +55 -0
  375. package/scripts/ops/bundle.sh +77 -0
  376. package/scripts/ops/chaos.sh +49 -0
  377. package/scripts/ops/chezmoi-apply.sh +245 -17
  378. package/scripts/ops/chezmoi-diff.sh +1 -0
  379. package/scripts/ops/chezmoi-remove.sh +2 -0
  380. package/scripts/ops/chezmoi-update.sh +34 -2
  381. package/scripts/ops/heal-chezmoi.sh +51 -0
  382. package/scripts/ops/heal-system.sh +128 -0
  383. package/scripts/ops/heal-tools.sh +340 -0
  384. package/scripts/ops/heal.sh +98 -342
  385. package/scripts/ops/post-apply-repair.sh +106 -0
  386. package/scripts/ops/prewarm.sh +127 -0
  387. package/scripts/ops/release.sh +252 -0
  388. package/scripts/ops/rollback.sh +86 -28
  389. package/scripts/ops/setup.sh +137 -0
  390. package/scripts/ops/teleport.sh +2 -1
  391. package/scripts/qa/coverage-baseline.sh +60 -0
  392. package/scripts/qa/docs-coverage.sh +111 -0
  393. package/scripts/qa/reliability-audit.sh +138 -0
  394. package/scripts/qa/traceability-coverage.sh +116 -0
  395. package/scripts/qa/validate-examples.sh +26 -0
  396. package/scripts/qa/wsl-contract.sh +11 -0
  397. package/scripts/release/package-policy-bundles.sh +125 -0
  398. package/scripts/secrets/age-init.sh +1 -0
  399. package/scripts/secrets/create-secrets-file.sh +1 -0
  400. package/scripts/secrets/encrypt-ssh-key.sh +1 -0
  401. package/scripts/security/backup.sh +44 -4
  402. package/scripts/security/dns-doh.sh +36 -14
  403. package/scripts/security/encryption-check.sh +27 -12
  404. package/scripts/security/enforce-policies.sh +11 -16
  405. package/scripts/security/firewall.sh +76 -20
  406. package/scripts/security/lock-configs.sh +2 -2
  407. package/scripts/security/lock-screen.sh +40 -18
  408. package/scripts/security/manage-secrets.sh +42 -29
  409. package/scripts/security/ssh-cert.sh +203 -0
  410. package/scripts/security/telemetry-kill.sh +40 -18
  411. package/scripts/security/usb-safety.sh +37 -15
  412. package/scripts/theme/apply-gnome-theme.sh +87 -56
  413. package/scripts/theme/extract-theme.py +677 -0
  414. package/scripts/theme/install-boot-logo.sh +1 -0
  415. package/scripts/theme/install-catppuccin-themes.sh +57 -33
  416. package/scripts/theme/install-cursors.sh +1 -0
  417. package/scripts/theme/install-file-icons.sh +1 -0
  418. package/scripts/theme/install-grub-theme.sh +11 -1
  419. package/scripts/theme/install-lock-icon.sh +1 -0
  420. package/scripts/theme/merge-wallpaper.sh +141 -0
  421. package/scripts/theme/rebuild-themes.sh +309 -0
  422. package/scripts/theme/switch.sh +308 -137
  423. package/scripts/theme/wallpaper-rotate.sh +66 -12
  424. package/scripts/theme/wallpaper-sync.sh +386 -31
  425. package/scripts/tools/cmatrix.sh +1 -0
  426. package/scripts/tools/detect-collisions.py +1 -1
  427. package/scripts/tools/emoji-picker.sh +4 -1
  428. package/scripts/tools/figlet-banner.sh +1 -0
  429. package/scripts/tools/log-rotate.sh +2 -1
  430. package/scripts/tools/lolcat-wrap.sh +1 -0
  431. package/scripts/tools/pipes.sh +1 -0
  432. package/scripts/tuning/linux.sh +23 -13
  433. package/scripts/tuning/macos.sh +13 -4
  434. package/scripts/uninstall.sh +85 -0
  435. package/scripts/version-sync.sh +487 -0
  436. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  437. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  438. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  439. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  440. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  441. package/templates/projects/go/README.md +1 -1
  442. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  443. package/templates/projects/go/go.sum +0 -0
  444. package/templates/projects/molecule/README.md +1 -1
  445. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  446. package/templates/projects/node/README.md +1 -1
  447. package/templates/projects/node/package-lock.json +12 -0
  448. package/templates/projects/node/src/index.js +1 -0
  449. package/templates/projects/packer/README.md +1 -1
  450. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  451. package/templates/projects/python/README.md +1 -1
  452. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  453. package/templates/projects/python/tests/test_basic.py +1 -0
  454. package/docs/ARCHITECTURE.md +0 -229
  455. package/docs/COMPLIANCE.md +0 -47
  456. package/docs/FEATURES.md +0 -166
  457. package/docs/FONTS.md +0 -147
  458. package/docs/INSTALL.md +0 -119
  459. package/docs/KEYS.md +0 -40
  460. package/docs/OPERATIONS.md +0 -130
  461. package/docs/PR_DESCRIPTION.md +0 -149
  462. package/docs/SECRETS.md +0 -76
  463. package/docs/SECURITY.md +0 -30
  464. package/docs/SECURITY_CHECKLIST.md +0 -25
  465. package/docs/TASK.md +0 -99
  466. package/docs/TESTING.md +0 -190
  467. package/docs/TOOLS.md +0 -146
  468. package/docs/UTILS.md +0 -105
  469. package/docs/WALKTHROUGH.md +0 -165
  470. package/dot_config/clippy.toml +0 -55
  471. package/dot_config/dotfiles/versions.env.tmpl +0 -19
  472. package/dot_config/firefox/user.js +0 -8
  473. package/dot_config/git/config.tmpl +0 -77
  474. package/dot_config/go/aliases.sh +0 -61
  475. package/dot_config/go/env.sh +0 -24
  476. package/dot_config/ice/README.md +0 -13
  477. package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
  478. package/dot_config/lsd/config.yaml +0 -19
  479. package/dot_config/nvim/snippets/all.lua +0 -9
  480. package/dot_config/nvim/snippets/python.lua +0 -16
  481. package/dot_config/shell/00-container-detect.sh +0 -53
  482. package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
  483. package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
  484. package/dot_config/shell/90-theme-switch.sh +0 -70
  485. package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
  486. package/dot_config/waybar/style.css +0 -8
  487. package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
  488. package/dot_local/bin/executable_zig-install +0 -89
  489. package/dot_local/bin/voice_ops +0 -7
  490. package/scripts/ops/health-check.sh +0 -380
  491. package/scripts/tests/README.md +0 -241
  492. package/scripts/tests/benchmark.sh +0 -91
  493. package/scripts/tests/framework/assertions.sh +0 -283
  494. package/scripts/tests/framework/mocks.sh +0 -201
  495. package/scripts/tests/framework/test_runner.sh +0 -189
  496. package/scripts/tests/integration/test_install.sh +0 -237
  497. package/scripts/tests/performance/benchmark_runner.sh +0 -156
  498. package/scripts/tests/performance/regression_check.sh +0 -73
  499. package/scripts/tests/performance/stress_test.sh +0 -65
  500. package/scripts/tests/test-aliases.sh +0 -25
  501. package/scripts/tests/test-docker.sh +0 -48
  502. package/scripts/tests/unit/test_ai_aliases.sh +0 -158
  503. package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
  504. package/scripts/tests/unit/test_backup.sh +0 -227
  505. package/scripts/tests/unit/test_case_functions.sh +0 -238
  506. package/scripts/tests/unit/test_cd_aliases.sh +0 -367
  507. package/scripts/tests/unit/test_dot_cli.sh +0 -217
  508. package/scripts/tests/unit/test_encode64.sh +0 -67
  509. package/scripts/tests/unit/test_environment.sh +0 -78
  510. package/scripts/tests/unit/test_extract.sh +0 -163
  511. package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
  512. package/scripts/tests/unit/test_genpass.sh +0 -298
  513. package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
  514. package/scripts/tests/unit/test_installers.sh +0 -172
  515. package/scripts/tests/unit/test_keygen.sh +0 -68
  516. package/scripts/tests/unit/test_logging.sh +0 -96
  517. package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
  518. package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
  519. package/scripts/tests/unit/test_prependpath.sh +0 -66
  520. package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
  521. package/scripts/tests/unit/test_rd.sh +0 -230
  522. package/scripts/tests/unit/test_security_fixes.sh +0 -130
  523. package/scripts/tests/unit/test_security_scripts.sh +0 -87
  524. package/scripts/tests/unit/test_template_validation.sh +0 -238
  525. package/scripts/tests/unit/test_utility_functions.sh +0 -144
  526. package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
  527. package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
  528. package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
  529. package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
  530. package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
  531. package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
  532. package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
  533. package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
  534. package/scripts/tests/unit/test_zipf.sh +0 -76
  535. /package/docs/{LEGACY_ROADMAP.md → archive/LEGACY_ROADMAP.md} +0 -0
  536. /package/docs/{REPO_AUDIT.md → archive/REPO_AUDIT.md} +0 -0
  537. /package/docs/{KEY_ROTATION.md → security/KEY_ROTATION.md} +0 -0
  538. /package/dot_config/ansible/{ansible.cfg.tmpl → ansible.cfg} +0 -0
  539. /package/dot_config/docker/{config.json.tmpl → config.json} +0 -0
  540. /package/dot_config/k9s/{config.yaml.tmpl → config.yaml} +0 -0
  541. /package/dot_config/pypoetry/{config.toml.tmpl → config.toml} +0 -0
  542. /package/dot_config/{pyrightconfig.json.tmpl → pyrightconfig.json} +0 -0
  543. /package/dot_config/tflint/{tflint.hcl.tmpl → tflint.hcl} +0 -0
  544. /package/dot_config/yarn/{yarnrc.yml.tmpl → yarnrc.yml} +0 -0
  545. /package/dot_config/zsh/rc.d/{40-bell.zsh.tmpl → 40-bell.zsh} +0 -0
  546. /package/dot_config/zsh/rc.d/{50-login-fortune.zsh.tmpl → 50-login-fortune.zsh} +0 -0
package/README.md CHANGED
@@ -1,315 +1,284 @@
1
- <p align="right">
2
- <img src="https://kura.pro/dotfiles/v2/images/logos/dotfiles.svg" alt="Dotfiles logo" width="64" />
1
+ <p align="center">
2
+ <img src="https://cloudcdn.pro/dotfiles/v2/images/logos/dotfiles.svg" alt="Dotfiles logo" width="128" />
3
3
  </p>
4
4
 
5
- # Dotfiles — A Fast, Idempotent Shell Environment
5
+ <h1 align="center">.dotfiles</h1>
6
6
 
7
- [![Build](https://img.shields.io/github/actions/workflow/status/sebastienrousseau/dotfiles/ci.yml?style=for-the-badge)](https://github.com/sebastienrousseau/dotfiles/actions)
8
- [![Version](https://img.shields.io/badge/Version-v0.2.481-blue?style=for-the-badge)](https://github.com/sebastienrousseau/dotfiles/releases/tag/v0.2.481)
9
- [![License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE)
10
- [![Release Downloads](https://img.shields.io/github/downloads/sebastienrousseau/dotfiles/total?style=for-the-badge)](https://github.com/sebastienrousseau/dotfiles/releases)
11
- [![Last Commit](https://img.shields.io/github/last-commit/sebastienrousseau/dotfiles?style=for-the-badge)](https://github.com/sebastienrousseau/dotfiles/commits)
12
-
13
- ---
14
-
15
- ## Overview
16
-
17
- Set up your development environment in minutes and keep it consistent across every machine. Dotfiles is a cross‑platform shell distribution managed by [Chezmoi](https://github.com/twpayne/chezmoi) that works on macOS, Linux, and WSL. It is **idempotent** by design: run it once or a hundred times, and the result is always the same.
18
-
19
- Git + templates + guarded scripts = a reproducible shell.
20
-
21
- ---
7
+ <p align="center">
8
+ <strong>Declarative dotfiles for macOS, Linux, and WSL. Multi-shell by default, with sub-second startup, wallpaper-driven themes, and signed releases.</strong>
9
+ </p>
22
10
 
23
- ## Table of contents
24
-
25
- - [Why dotfiles](#why-dotfiles)
26
- - [Safety](#safety)
27
- - [Get started](#get-started)
28
- - [Discover](#discover)
29
- - [Install details](#install-details)
30
- - [Make it yours](#make-it-yours)
31
- - [Reference](#reference)
32
- - [How it works](#how-it-works)
33
- - [Roadmap](#roadmap)
34
- - [Contribute](#contribute)
35
- - [Changelog](#changelog)
36
- - [License](#license)
11
+ <p align="center">
12
+ <a href="https://github.com/sebastienrousseau/dotfiles/actions"><img src="https://img.shields.io/github/actions/workflow/status/sebastienrousseau/dotfiles/ci.yml?style=for-the-badge&logo=github" alt="Build" /></a>
13
+ <a href="https://github.com/sebastienrousseau/dotfiles/releases/latest"><img src="https://img.shields.io/badge/Version-v0.2.500-blue?style=for-the-badge" alt="Version" /></a>
14
+ <a href="https://github.com/sebastienrousseau/dotfiles/releases"><img src="https://img.shields.io/github/downloads/sebastienrousseau/dotfiles/total?style=for-the-badge" alt="Downloads" /></a>
15
+ <a href="https://codespaces.new/sebastienrousseau/dotfiles"><img src="https://github.com/codespaces/badge.svg" alt="Open in GitHub Codespaces" /></a>
16
+ </p>
37
17
 
38
18
  ---
39
19
 
40
- ## Why dotfiles
41
-
42
- Dotfiles takes an infrastructure‑oriented approach to managing your shell. It is designed for developers who work across multiple machines and value **daily usability, reproducibility, and auditability.**
43
-
44
- - **The Stack.** Zsh, Neovim, tmux, and AI CLI tools configured with sane defaults so you can start working immediately.
45
- - **Unified Control.** The `dot` CLI wraps common workflows such as syncing, upgrading, and managing secrets.
46
- - **Safety First.** Every system or security change requires explicit opt‑in.
47
- - **Clean Slate.** Source files, generated configs, and system state stay cleanly separated.
48
-
20
+ ## Install
49
21
 
50
- ## Safety
22
+ ```bash
23
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
24
+ ```
51
25
 
52
- This is **infrastructure**, not an ad‑hoc shell script.
26
+ Then verify and explore:
53
27
 
54
- - No destructive actions without explicit opt‑in.
55
- - No background daemons install automatically.
56
- - No system settings change by default.
57
- - System‑level behavior requires explicit opt‑in through environment variables.
58
- - Dotfiles logs all privileged actions to `~/.local/share/dotfiles.log`.
28
+ ```bash
29
+ dot doctor # verify installation
30
+ dot learn # interactive tour
31
+ ```
59
32
 
60
- ---
33
+ Requires `git` and `curl`. Works on macOS, Ubuntu/Debian, Arch, WSL2, and GitHub Codespaces.
61
34
 
62
- ## Get started
35
+ <details>
36
+ <summary>CI/CD and Docker options</summary>
63
37
 
64
- > [!IMPORTANT]
65
- > The installer automatically backs up any existing dotfiles that chezmoi will overwrite (to `~/.dotfiles.bak.<timestamp>/`). It bootstraps `chezmoi` and applies this repo. OS packages install through Chezmoi hooks during the first apply.
38
+ Silent install (no prompts):
66
39
 
67
40
  ```bash
68
- # Works on macOS, Linux, and WSL
69
- sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.481/install.sh)"
70
- exec zsh
41
+ DOTFILES_SILENT=1 DOTFILES_NONINTERACTIVE=1 \
42
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
71
43
  ```
72
44
 
73
- For non‑interactive installs (servers and CI):
45
+ Docker sandbox:
46
+
74
47
  ```bash
75
- DOTFILES_NONINTERACTIVE=1 sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.481/install.sh)"
48
+ docker run --rm -e DOTFILES_NONINTERACTIVE=1 ubuntu:24.04 bash -c \
49
+ 'apt-get update -qq && apt-get install -y -qq git curl sudo >/dev/null 2>&1 \
50
+ && git clone --depth 1 https://github.com/sebastienrousseau/dotfiles.git ~/.dotfiles \
51
+ && bash ~/.dotfiles/install.sh \
52
+ && export PATH="$HOME/.local/bin:$PATH" \
53
+ && dot doctor'
76
54
  ```
77
55
 
56
+ </details>
57
+
78
58
  ---
79
59
 
80
- ## Discover
60
+ ## Why this repo is different
61
+
62
+ Most dotfiles repos are personal collections. This one ships as workstation infrastructure: signed, attested, multi-platform, AI-aware, and self-healing.
81
63
 
82
- - [Installation Guide](docs/INSTALL.md) Prerequisites and supported platforms.
83
- - [Operations Guide](docs/OPERATIONS.md) — Common workflows and platform notes.
84
- - [Security Guide](docs/SECURITY.md) Hardening matrix and logging.
85
- - [Secrets Guide](docs/SECRETS.md) Age setup and encrypted files.
86
- - [Tools Catalog](docs/TOOLS.md) Core tools and optional utilities.
87
- - [Dot Utils](docs/UTILS.md) Aliases and dot CLI helpers.
88
- - [Troubleshooting](docs/TROUBLESHOOTING.md) Fixes for common issues.
64
+ | Capability | What you get | Where |
65
+ |:---|:---|:---|
66
+ | **Wallpaper-Driven Themes** | K-Means clustering in CIELAB extracts terminal palettes from any wallpaper. WCAG AAA enforced. Dynamic HEIC dark/light. | `dot theme rebuild` |
67
+ | **AI & MCP Native** | Agent profiles, MCP policy enforcement, attestation logs, AI commit messages | `dot ai`, `dot mcp`, `dot agent`, `dot mode` |
68
+ | **Cryptographic Attestation** | Signed commits, machine-readable evidence, policy bundle releases | `dot attest`, `dot verify` |
69
+ | **Fleet Management** | Multi-node drift dashboard, per-host profiles | `dot fleet` |
70
+ | **Self-Healing** | Auto-repair tools, chezmoi drift, broken symlinks, missing files | `dot heal`, `dot chaos`, `dot rollback`, `dot bundle` |
71
+ | **Sub-second Startup** | Lazy loading, `_cached_eval` pattern, mtime-based cache invalidation | `dot benchmark`, `dot perf` |
72
+ | **Multi-shell Parity** | Fish, Zsh, Nushell, PowerShell share one templated baseline | `dot env`, `dot profile` |
73
+ | **Build Artifacts → /tmp** | Cargo, Go, pip, uv, Zig caches redirected; project dirs stay clean | `~/.config/mise/config.toml`, `~/.cargo/config.toml` |
74
+ | **Encrypted Secrets** | Age + SOPS for per-machine secrets out of plaintext history | `dot secrets` |
75
+ | **Portable Runtimes** | Mise for managed toolchains, Nix Flakes for strict reproducibility | `dot env`, `dot upgrade` |
89
76
 
90
77
  ---
91
78
 
92
- ## Install details
79
+ ## Architecture
93
80
 
94
- **Prerequisites**
95
- - Required: `git`, `curl`
96
- - Optional: Homebrew (macOS), `apt-get` (Linux/WSL), Nix (toolchain)
81
+ Idempotent. Run it once or a hundred times. Same machine state.
97
82
 
98
- **Update**
99
- ```bash
100
- dot update
83
+ ```mermaid
84
+ graph TD
85
+ A[User Shell] --> B{dot CLI}
86
+ B --> C[Lifecycle: sync / apply / rollback / heal]
87
+ B --> D[Diagnostics: doctor / drift / benchmark / score]
88
+ B --> E[AI & Agents: ai / mcp / agent / mode]
89
+ B --> F[Themes: theme / theme rebuild]
90
+ B --> G[Fleet & Attest: fleet / attest / bundle]
91
+
92
+ C --> H[Chezmoi Source]
93
+ F --> I[Wallpaper Discovery<br/>System + Custom]
94
+ I --> J[K-Means CIELAB Engine]
95
+ J --> K[themes.toml<br/>WCAG AAA enforced]
96
+ K --> H
97
+
98
+ H --> L[Zsh / Fish / Bash / Nushell]
99
+ H --> M[Mise / Nix Toolchains]
100
+ H --> N[MCP Policy / Agent Profiles]
101
+ L --> O[~/.cache/shell Fast Init]
102
+
103
+ G --> P[Signed Attestation Logs]
101
104
  ```
102
105
 
103
- **Non‑interactive apply**
104
- ```bash
105
- DOTFILES_NONINTERACTIVE=1 dot apply
106
- ```
106
+ ---
107
107
 
108
- ## Make it yours
108
+ ## Wallpaper-Driven Themes
109
109
 
110
- - [Operations](docs/OPERATIONS.md)
111
- - [Secrets](docs/SECRETS.md)
112
- - [Security](docs/SECURITY.md)
113
- - [Troubleshooting](docs/TROUBLESHOOTING.md)
110
+ Drop a wallpaper. Get a theme.
114
111
 
115
- ---
112
+ `dot theme rebuild` discovers system wallpapers (macOS `/System/Library/Desktop Pictures/`, Linux `/usr/share/backgrounds/`) plus your custom wallpapers (`~/Pictures/Wallpapers/`). K-Means clustering in CIELAB color space extracts dominant colors, generates a 16-color terminal palette, enforces WCAG AAA contrast, and assembles `themes.toml` automatically.
116
113
 
117
- ## Reference
118
-
119
- Run `dot --help` or `dot <command> --help` for inline documentation.
120
-
121
- | Command | Description | Category |
122
- |---|---|---|
123
- | `dot apply` | Apply dotfiles (chezmoi apply) | Core |
124
- | `dot sync` | Alias of apply | Core |
125
- | `dot update` | Pull latest changes and apply | Core |
126
- | `dot add` | Add a file to chezmoi source | Core |
127
- | `dot diff` | Show chezmoi diff (excludes scripts) | Core |
128
- | `dot status` | Show configuration drift | Core |
129
- | `dot remove` | Safely remove a managed file | Core |
130
- | `dot cd` | Print source directory path | Core |
131
- | `dot upgrade` | Update flake, plugins, and dotfiles | Core |
132
- | `dot edit` | Open chezmoi source in your editor | Core |
133
- | `dot docs` | Show repo README | Core |
134
- | `dot --version` | Show version information | Core |
135
- | `dot help` | Show help | Core |
136
- | `dot drift` | Drift dashboard (chezmoi status) | Diagnostics |
137
- | `dot history` | Shell history analysis | Diagnostics |
138
- | `dot doctor` | Check system health and configuration | Diagnostics |
139
- | `dot health` | Comprehensive health dashboard (37 checks) | Diagnostics |
140
- | `dot security-score` | Security assessment with grading | Diagnostics |
141
- | `dot benchmark` | Shell startup benchmark (`--detailed`, `--profile`) | Diagnostics |
142
- | `dot restore` | Restore from backup or git ref | Diagnostics |
143
- | `dot theme` | Switch terminal theme (dark/light) | UX |
144
- | `dot wallpaper` | Apply a wallpaper from your library | UX |
145
- | `dot keys` | Show keybindings catalog | UX |
146
- | `dot learn` | Interactive tour of tools (requires `gum`) | UX |
147
- | `dot fonts` | Install Nerd Fonts | UX |
148
- | `dot sandbox` | Launch a safe sandbox preview | Tools |
149
- | `dot tools` | Show tools or install through Nix | Tools |
150
- | `dot tools install` | Enter Nix development shell | Tools |
151
- | `dot new` | Create a new project from a template | Tools |
152
- | `dot log-rotate` | Rotate `~/.local/share/dotfiles.log` | Tools |
153
- | `dot secrets-init` | Initialise age key for secrets | Secrets |
154
- | `dot secrets` | Edit encrypted secrets | Secrets |
155
- | `dot secrets-create` | Create an encrypted secrets file | Secrets |
156
- | `dot ssh-key` | Encrypt an SSH key locally with age | Secrets |
157
- | `dot backup` | Create a compressed backup of your home directory | Security |
158
- | `dot firewall` | Apply firewall hardening (opt‑in) | Security |
159
- | `dot telemetry` | Disable OS telemetry (opt‑in) | Security |
160
- | `dot dns-doh` | Enable DNS‑over‑HTTPS (opt‑in) | Security |
161
- | `dot encrypt-check` | Check disk encryption status | Security |
162
- | `dot lock-screen` | Enforce lock‑screen idle settings (opt‑in) | Security |
163
- | `dot usb-safety` | Disable automount for removable media | Security |
164
-
165
- ### Developer CLI Tools
166
-
167
- These utilities are installed to `~/.local/bin/`:
168
-
169
- | Tool | Description |
170
- |------|-------------|
171
- | `jsonv` | JSON validator and formatter |
172
- | `yamlv` | YAML validator |
173
- | `epoch` | Unix timestamp converter |
174
- | `b64` | Base64 encoder/decoder |
175
- | `jwt` | JWT token decoder |
176
- | `hex` | Hex viewer/converter |
177
- | `regex` | Regex tester |
178
- | `lorem` | Lorem ipsum generator |
179
- | `uuid` | UUID generator |
180
- | `hash` | MD5/SHA hash calculator |
181
- | `ip` | Show public/local IP addresses |
182
- | `kill-port` | Kill process by port |
183
- | `extract` | Universal archive extraction |
184
- | `update` | Update all system packages |
185
-
186
- **Examples**
114
+ | Tier | Source | Format |
115
+ |:---|:---|:---|
116
+ | **System** | macOS `/System/Library/Desktop Pictures/`<br/>Linux `/usr/share/backgrounds/` | `.heic`, `.jpg`, `.png` |
117
+ | **Custom** | `~/Pictures/Wallpapers/` (overrides system on name collision) | Apple-compatible dynamic HEIC (single file, both appearances) |
187
118
 
188
119
  ```bash
189
- # Initialise secrets (prints a public key)
190
- DOTFILES_NONINTERACTIVE=1 dot secrets-init
191
- # Output: Age key created at ~/.config/chezmoi/key.txt
120
+ dot theme # interactive picker (paired themes only)
121
+ dot theme tahoe-dark # switch directly
122
+ dot theme toggle # swap dark↔light within current family
123
+ dot theme rebuild # regenerate from current wallpapers
192
124
  ```
193
125
 
194
- ### Security changes
195
-
196
- These scripts are **opt‑in** and run only when you set the matching environment variable.
197
- All security changes are logged to `~/.local/share/dotfiles.log`.
198
-
199
- | Script | macOS | Linux |
200
- |---|---|---|
201
- | `dot firewall` | Enables macOS firewall and stealth mode via `socketfilterfw` | Configures UFW defaults and OpenSSH allow |
202
- | `dot telemetry` | Writes `DiagnosticMessagesHistory.plist` flags | Disables `whoopsie`, `apport`, `popularity-contest` |
203
- | `dot dns-doh` | No system change (browser‑level only) | Enables DoH via `resolvectl` with Cloudflare DNS |
204
- | `dot lock-screen` | `com.apple.screensaver` defaults and idleTime | GNOME `gsettings` lock and idle timeout |
205
- | `dot usb-safety` | No system change (manual UI) | GNOME `gsettings` automount off |
206
- | `dot encrypt-check` | Reads FileVault status via `fdesetup` | Detects LUKS via `lsblk` |
207
-
208
- ### Nix
126
+ On theme switch, every managed surface updates: terminal colors (Ghostty, Alacritty, Kitty, WezTerm, tmux), editor (Neovim, VS Code), GTK/icons, macOS accent + dark mode (forced UI refresh), browser color mode, wallpaper. Linux auto-converts HEIC → PNG via `magick`/`heif-convert`.
209
127
 
210
- Nix is **optional**. The repo does **not** install the Nix daemon.
211
-
212
- - Use `nix develop` to enter a reproducible shell environment.
213
- - Use `dot tools` to see the curated utilities overview.
214
- - No toggle replaces Homebrew or Apt with Nix automatically.
128
+ Full guide: [docs/guides/THEMING.md](docs/guides/THEMING.md)
215
129
 
216
130
  ---
217
131
 
218
- ### Install guide
132
+ ## The `dot` CLI
133
+
134
+ 30+ commands grouped by intent. Run `dot help` for the full reference.
135
+
136
+ ### Start Here
137
+ | | |
138
+ |:---|:---|
139
+ | `dot sync` | Apply dotfiles to this machine |
140
+ | `dot doctor` | Check the environment and surface issues |
141
+ | `dot learn` | Open the guided tour |
142
+
143
+ ### Daily Use
144
+ | | |
145
+ |:---|:---|
146
+ | `dot status` / `dot diff` | Show local drift / preview pending changes |
147
+ | `dot edit` | Open the source directory |
148
+ | `dot upgrade` | Update tools and dotfiles |
149
+
150
+ ### Inspect & Repair
151
+ | | |
152
+ |:---|:---|
153
+ | `dot heal` | Auto-fix tools, chezmoi drift, broken symlinks |
154
+ | `dot rollback` | Return to a previous known-good state |
155
+ | `dot attest` | Export workstation evidence |
156
+ | `dot chaos` | Simulate corruption to test self-healing |
157
+
158
+ ### AI & Agents
159
+ | | |
160
+ |:---|:---|
161
+ | `dot ai` | Show installed AI tools |
162
+ | `dot mcp` | Inspect MCP policy and registry |
163
+ | `dot mode` | Show or set the agent profile |
164
+ | `dot agent` | Agent metadata, logs, checkpoints, conformance |
165
+
166
+ ### Configuration
167
+ | | |
168
+ |:---|:---|
169
+ | `dot theme` / `dot theme rebuild` | Switch theme / regenerate from wallpapers |
170
+ | `dot env` | Show managed tool versions |
171
+ | `dot profile` | Show or switch active profile |
172
+ | `dot secrets` | Edit encrypted secrets |
173
+
174
+ ### Fleet & Performance
175
+ | | |
176
+ |:---|:---|
177
+ | `dot fleet` | Multi-node status, drift, namespace |
178
+ | `dot benchmark` / `dot perf` | Measure shell startup |
179
+ | `dot score` | Health and security scorecard |
180
+
181
+ Full reference: [docs/reference/UTILS.md](docs/reference/UTILS.md) · Complete manual: [docs/manual/](docs/manual/) or `dot manual`
219
182
 
220
- See [docs/INSTALL.md](docs/INSTALL.md) for prerequisites, supported platforms, and the full install flow.
183
+ ---
221
184
 
222
- <p align="right"><a href="#dotfiles--your-shell-everywhere">↑ Back to Top</a></p>
185
+ ## Documentation
223
186
 
224
- ## How it works
187
+ The `.dotfiles` Manual is published in 9 formats: HTML (single + multi-page), PDF, EPUB, ASCII text, compressed variants, Markdown source. Auto-built on every change.
225
188
 
226
- If Mermaid does not render, the flow is: `install.sh` → `Chezmoi` → `~/.dotfiles` → `~/.config + ~/.local`.
189
+ - **Online** <https://sebastienrousseau.github.io/dotfiles/manual/>
190
+ - **Terminal** — `dot manual text | less`
191
+ - **PDF** — `dot manual pdf`
192
+ - **Offline bundle** — `dot bundle --manual`
193
+ - **Sources** — [`docs/manual/`](docs/manual/)
227
194
 
228
- ```mermaid
229
- flowchart LR
230
- A["install.sh"] --> B["Chezmoi"]
231
- B --> C["~/.dotfiles (source)"]
232
- B --> D["~/.config + ~/.local (targets)"]
233
- E["dot CLI"] --> B
234
- E --> F["scripts/*"]
235
- ```
195
+ ---
236
196
 
237
- ### Shell startup flow
197
+ ## First 5 Minutes
238
198
 
239
- ```
240
- .zshenv ─▶ .zshrc ─▶ rc.d/{10..50} ─▶ shell/{00,05,40,50,90} ─▶ [precmd: 91-lazy] ─▶ tool init
241
- │ │ │ │ │ │
242
- │ │ │ │ │ ├─ atuin
243
- XDG zinit options, paths, safety, tool-specific ├─ starship
244
- PATH plugins lazy fnm/nvm functions, aliases (deferred) ├─ zoxide
245
- core aliases (eager) └─ fzf
246
- ```
199
+ 1. **Check** — `dot doctor` validates tools, paths, and security
200
+ 2. **Explore** `dot learn` walks through shells, secrets, themes, performance
201
+ 3. **Customize** — edit `~/.config/chezmoi/chezmoi.toml` for per-machine settings ([Profiles](docs/reference/PROFILES.md))
202
+ 4. **Toggle features** — flip features in `.chezmoidata.toml` ([Feature Flags](docs/reference/FEATURES.md))
203
+ 5. **Apply** — `dot sync` applies the config; `dot prewarm` caches shell startup
247
204
 
248
- Core aliases (~40KB) load at startup. Tool-specific aliases (~137KB) load after the first prompt via a `precmd` hook — keeping shell startup fast while still providing full alias coverage. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full startup sequence and ordering conventions.
249
-
250
- **Repository Layout**
251
-
252
- ```text
253
- ~/.dotfiles/
254
- ├── dot_config/ # Maps to ~/.config/ (app configs)
255
- │ ├── nvim/ # Neovim config (Lua)
256
- │ ├── zsh/ # Zsh config (modular)
257
- │ ├── tmux/ # Tmux config
258
- │ ├── shell/ # Shell logic (aliases, functions, paths)
259
- │ ├── wezterm/ alacritty/ kitty/ ghostty/
260
- │ ├── btop/ fastfetch/ atuin/ yazi/ ...
261
- │ └── docker/ containers/ ...
262
- ├── dot_local/ # Maps to ~/.local/ (CLI tools)
263
- │ └── bin/ # dot CLI and helpers
264
- ├── dot_etc/ # System configs (sudoers, sysctl, Chrome policies; may require sudo)
265
- ├── dot_ssh/ # SSH config templates
266
- ├── templates/ # Project scaffolds used by `dot new`
267
- ├── scripts/ # Install, security, theme, diagnostics
268
- ├── install/ # Chezmoi run_onchange and run_before hooks
269
- ├── nix/ # Optional Nix shell environment
270
- ├── docs/ # Guides, keys, roadmap, architecture
271
- └── install.sh # Bootstrap installer
272
- ```
205
+ See the [Migration Guide](docs/operations/MIGRATION.md) for version upgrades.
273
206
 
274
207
  ---
275
208
 
276
- ## Roadmap
209
+ ## What's Included
277
210
 
278
- Track progress on [GitHub Issues](https://github.com/sebastienrousseau/dotfiles/issues) and [Milestones](https://github.com/sebastienrousseau/dotfiles/milestones).
211
+ <details>
212
+ <summary><b>Shells and Navigation</b></summary>
279
213
 
280
- ---
214
+ - **Zsh** loads in stages through small modules, not one big startup script
215
+ - **Fish** uses `_cached_eval` and deferred loading for fast interactive use
216
+ - **Nushell** handles structured terminal workflows
217
+ - **PowerShell** keeps cross-platform and WSL sessions on the same baseline
218
+ - **Starship**, **Zoxide**, **Atuin**, and **fzf** for navigation and command recall
219
+ </details>
281
220
 
282
- ## Contribute
221
+ <details>
222
+ <summary><b>Development and Runtimes</b></summary>
283
223
 
284
- Please read [CONTRIBUTING.md](.github/CONTRIBUTING.md) before opening a pull request.
224
+ - **Mise** manages language versions in user space (no system pollution)
225
+ - **Nix Flakes** for strict reproducible builds when speed isn't the priority
226
+ - **Pueue** queues long-running tasks instead of spawning extra terminal tabs
227
+ - **Neovim** ships as a full Lua-based editor, not a starter template
228
+ - **Lazygit** for terminal git workflow without a GUI
229
+ - **Build caches** (Cargo, Go, pip, uv, Zig) redirected to `/tmp/builds/` — cleared on reboot
230
+ </details>
285
231
 
286
- For security issues, see [SECURITY.md](.github/SECURITY.md).
232
+ <details>
233
+ <summary><b>AI, Agents, and MCP</b></summary>
287
234
 
288
- ---
235
+ - **Agent profiles** (`dot mode`) — switch between architect, hardener, refactor patterns
236
+ - **MCP policy enforcement** (`dot mcp`) — validate Model Context Protocol registry against policy
237
+ - **AI commit messages** (`dot commit`) — conventional commits generated from staged diff
238
+ - **AI tools** (`dot ai`) — Claude Code, Codex, GitHub Copilot, Gemini CLI managed via Mise
239
+ - **Attestation logs** — every agent session logged with policy hash + outcome
240
+ </details>
289
241
 
290
- ## Troubleshooting
242
+ <details>
243
+ <summary><b>Security, Trust, and Governance</b></summary>
291
244
 
292
- See [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md).
245
+ - **Age + SOPS** keep secrets encrypted at rest and out of plaintext history
246
+ - **SSH ED25519 signing** + trust metadata back signed commits and verifiable changes
247
+ - **Gitleaks**, policy checks, compliance workflows
248
+ - **Workstation attestation** (`dot attest`) records machine state, policy, prompt, model metadata in tracked JSON
249
+ - **Telemetry controls** and local-first defaults — you own your data
250
+ - **SBOM (CycloneDX)** + Grype CVE scanning in CI
251
+ </details>
293
252
 
294
- ---
253
+ For security hardening options, see [Security docs](docs/security/SECURITY.md).
295
254
 
296
- ## Changelog
255
+ ---
297
256
 
298
- See [CHANGELOG.md](CHANGELOG.md).
257
+ ## Comparison
299
258
 
300
- ---
259
+ | | This repo | chezmoi | holman/dotfiles | nikitabobko/dotfiles |
260
+ |:---|:---:|:---:|:---:|:---:|
261
+ | Cross-platform (macOS/Linux/WSL) | ✓ | ✓ | macOS-leaning | macOS only |
262
+ | Multi-shell parity (zsh/fish/nu/pwsh) | ✓ | — | bash only | zsh only |
263
+ | Wallpaper-driven themes (K-Means) | ✓ | — | — | — |
264
+ | AI / MCP integration | ✓ | — | — | — |
265
+ | Cryptographic attestation | ✓ | — | — | — |
266
+ | Self-healing CLI | ✓ | — | — | — |
267
+ | Fleet management | ✓ | — | — | — |
268
+ | Encrypted secrets (Age/SOPS) | ✓ | ✓ | — | — |
269
+ | Build artifact redirection | ✓ | — | — | — |
301
270
 
302
- ## License
271
+ `chezmoi` is the underlying templating engine. This repo is the opinionated reference implementation.
303
272
 
304
- This project is licensed under the **MIT License**. See [LICENSE](LICENSE).
273
+ ---
305
274
 
306
- Some bundled third‑party dependencies are licensed under GPL‑3.0; the LICENSE file lists them explicitly.
275
+ **THE ARCHITECT** [Sebastien Rousseau](https://sebastienrousseau.com)
276
+ **THE ENGINE** ᛞ [EUXIS](https://euxis.co) ᛫ Enterprise Unified Execution Intelligence System
307
277
 
308
278
  ---
309
279
 
310
- <div align="center">
280
+ ## License
311
281
 
312
- 🎨 Designed by **[Sebastien Rousseau](https://sebastienrousseau.com/)**
313
- 🚀 Engineered with **[Euxis](https://euxis.co/)** — Enterprise Unified eXecution Intelligence System
282
+ Licensed under the **MIT License**. See [LICENSE](LICENSE) for details.
314
283
 
315
- </div>
284
+ <p align="right"><a href="#dotfiles">Back to Top</a></p>
@@ -0,0 +1,69 @@
1
+ # Localization Readability Audit
2
+
3
+ Note: Flesch metrics are English-centric. For localized pages, they are used as a plain-language proxy when Latin word boundaries are available.
4
+
5
+ ## Readability Scorecard
6
+
7
+ | Language | Reading Ease | Grade Level | Passive % | Avg Sentence Length |
8
+ | :--- | ---: | ---: | ---: | ---: |
9
+ | ar | n/a | n/a | n/a | n/a |
10
+ | de | n/a | n/a | n/a | n/a |
11
+ | es | n/a | n/a | n/a | n/a |
12
+ | fr | n/a | n/a | n/a | n/a |
13
+ | he | n/a | n/a | n/a | n/a |
14
+ | hi | n/a | n/a | n/a | n/a |
15
+ | id | n/a | n/a | n/a | n/a |
16
+ | it | n/a | n/a | n/a | n/a |
17
+ | ja | n/a | n/a | n/a | n/a |
18
+ | ko | n/a | n/a | n/a | n/a |
19
+ | nl | n/a | n/a | n/a | n/a |
20
+ | pl | n/a | n/a | n/a | n/a |
21
+ | pt | n/a | n/a | n/a | n/a |
22
+ | ro | n/a | n/a | n/a | n/a |
23
+ | ru | n/a | n/a | n/a | n/a |
24
+ | th | n/a | n/a | n/a | n/a |
25
+ | tr | n/a | n/a | n/a | n/a |
26
+ | uk | n/a | n/a | n/a | n/a |
27
+ | vi | n/a | n/a | n/a | n/a |
28
+ | zh | n/a | n/a | n/a | n/a |
29
+ | zh-tw | n/a | n/a | n/a | n/a |
30
+
31
+ ## Parity Gap Table
32
+
33
+ | Priority | Locale | Route | Deviation |
34
+ | :--- | :--- | :--- | :--- |
35
+
36
+ ## Active & Simple Diff
37
+
38
+ ### docs/adr/ADR-007-multi-shell-parity.md
39
+
40
+ - Source: **Nushell spoke:** Hybrid approach: - Aliases: Runtime bash extraction cached to (in ), sourced by - Functions: Chezmoi template-generated wrappers delegating to bash (in ) **Parity tiers:** - **Tier 1 (Full):** Zsh, Bash — all aliases, functions, lazy loading, cached eval - **Tier 2 (Bridged):** Fish — all simple aliases, all functions via wrappers, caching - **Tier 3 (Compatible):** Nushell — simple aliases (no complex bash syntax), all functions via bash delegation - Single source of truth for aliases and functions - Adding a new alias/function automatically propagates to all shells - Nushell users get access to 40+ functions that were previously unavailable - Fish users get mtime-aware caching via - Complex bash aliases (pipes, conditionals) are skipped for Nushell - Function calls in Fish/Nushell incur bash subprocess overhead (~5ms per call) - Cache invalidation requires shell restart or manual cache clear - Nushell's rapid development may break bridge syntax in future versions - Very large alias sets may slow Nushell startup during cache generation.
41
+ - Simplified: **Nushell spoke:** Hybrid approach: - Aliases: Runtime bash extraction cached to (in ), sourced by - Functions: Chezmoi template-generated wrappers delegating to bash (in ) **Parity tiers:** - **Tier 1 (Full):** Zsh, Bash — all aliases, functions, lazy loading, cached eval - **Tier 2 (Bridged):** Fish — all simple aliases, all functions via wrappers, caching - **Tier 3 (Compatible):** Nushell — simple aliases (no complex bash syntax), all functions via bash delegation - Single source of truth for aliases and functions -. Adding a new alias/function automatically propagates to all shells - Nushell users get access to 40+ functions that were previously unavailable - Fish users get mtime-aware caching via - Complex bash aliases (pipes, conditionals) are skipped for Nushell - Function calls in Fish/Nushell incur bash subprocess overhead (~5ms per call) - Cache invalidation requires shell restart or manual cache clear - Nushell's rapid development may break bridge syntax in future versions - Very large alias sets may slow Nushell startup during cache generation
42
+
43
+ ### docs/guides/TROUBLESHOOTING.md
44
+
45
+ - Source: ) **Problem:** LSP not working - Install required language servers - Check for status - Review for errors **Problem:** Git aliases not working - Check if Git config is applied: - Re-apply dotfiles: **Problem:** Delta (diff pager) not showing colors - Verify is installed - Confirm your terminal supports 256 colors **Problem:** kubectl context issues - List contexts: - Switch context: - Check kubeconfig: **Problem:** Minikube won't start - Verify Docker is running - Try: - Check logs: **Problem:** High memory usage - Look for runaway processes: or - Review shell history size in atuin config - Disable unused plugins **Problem:** Nix isn't installed or commands not found - Ensure you have followed the installation guide: - On Linux, you might need to enable experimental features in : - Verify the daemon is running: **Problem:** Systemd isn't available (mostly WSL2) - Dotfiles functions that rely on systemd (like management) will fallback to direct execution.
46
+ - Simplified: ) **Problem:** LSP not working - Install required language servers - Check for status - Review for errors **Problem:** Git aliases not working - Check if Git config is applied: - Re-apply dotfiles: **Problem:** Delta (diff pager) not showing colors - Verify is installed - Confirm your terminal supports 256 colors **Problem:** kubectl context issues - List contexts: - Switch context: - Check kubeconfig: **Problem:** Minikube won't start - Verify Docker is running - Try: - Check. logs: **Problem:** High memory usage - Look for runaway processes: or - Review shell history size in atuin config - Disable unused plugins **Problem:** Nix isn't installed or commands not found - Ensure you have followed the installation guide: - On Linux, you might need to enable experimental features in : - Verify the daemon is running: **Problem:** Systemd isn't available (mostly WSL2) - Dotfiles functions that rely on systemd (like management) will fallback to direct execution
47
+
48
+ ### docs/operations/VERSION_SYNC.md
49
+
50
+ - Source: sh --verify || echo "Version drift detected" The GitHub Actions workflow provides metrics: - Files scanned - Files updated - Verification status - Processing time - Local backups in - GitHub Actions artifacts (30-day retention) - Git history for rollback permissions: contents: write # Required for commits pull-requests: write # Required for PR comments - Version format validation ( pattern) - File path validation (no directory traversal) - Change verification before commit - All changes logged in Git history - GitHub Actions run history - Backup preservation - Git operations use shallow fetch when possible - Pattern compilation cached - File discovery optimized with - File processing is sequential but optimized - Git operations batched - Verification runs concurrently with updates - Typical run time: 30-60 seconds - Memory usage: <100MB - Network usage: Minimal (only Git operations) 1.
51
+ - Simplified: sh --verify || echo "Version drift detected" The GitHub Actions workflow provides metrics: - Files scanned - Files updated - Verification status - Processing time - Local backups in - GitHub Actions artifacts (30-day retention) - Git history for rollback permissions: contents: write # Required for commits pull-requests: write # Required for PR comments - Version format validation ( pattern) - File path validation (no directory traversal) - Change. verification before commit - All changes logged in Git history - GitHub Actions run history - Backup preservation - Git operations use shallow fetch when possible - Pattern compilation cached - File discovery optimized with - File processing is sequential but optimized - Git operations batched - Verification runs concurrently with updates - Typical run time: 30-60 seconds - Memory usage: <100MB - Network usage: Minimal (only Git operations) 1
52
+
53
+ ## Localized Terminology Glossary
54
+
55
+ | Term | Rule |
56
+ | :--- | :--- |
57
+ | macOS | Keep official Apple spelling in all locales. |
58
+ | Linux | Keep as Linux. |
59
+ | WSL | Keep as WSL on first use. |
60
+ | Chezmoi | Keep product name in English. |
61
+ | `dot doctor` | Keep command unchanged in all locales. |
62
+ | shell | Localize only in prose; never inside commands or paths. |
63
+ | alias | Localize in prose when natural; keep code examples unchanged. |
64
+
65
+ ## Priority Action Register
66
+
67
+ - [P0] Meaning Drifts: 0
68
+ - [P1] Readability Blockers: 0
69
+ - [P2] Stylistic Polishing: 0