@sebastienrousseau/dotfiles 0.2.499 → 0.2.501

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 (567) hide show
  1. package/CHANGELOG.md +452 -0
  2. package/LICENSE +1283 -0
  3. package/README.md +322 -0
  4. package/docs/.vitepress/reports/localization-readability-audit.md +73 -0
  5. package/docs/AI.md +108 -0
  6. package/docs/CNAME +1 -0
  7. package/docs/COPYRIGHT +4 -3
  8. package/docs/NAMING_CONVENTIONS.md +102 -0
  9. package/docs/README.md +82 -0
  10. package/docs/_config.yml +59 -0
  11. package/docs/adr/ADR-001-ci-cd-pipeline.md +118 -0
  12. package/docs/adr/ADR-002-shell-performance.md +130 -0
  13. package/docs/adr/ADR-003-security-first.md +158 -0
  14. package/docs/adr/ADR-004-cli-architecture.md +171 -0
  15. package/docs/adr/ADR-005-chezmoi-choice.md +99 -0
  16. package/docs/adr/ADR-006-shell-selection.md +124 -0
  17. package/docs/adr/ADR-007-multi-shell-parity.md +62 -0
  18. package/docs/adr/ADR-008-alias-system-architecture.md +95 -0
  19. package/docs/adr/ADR-009-wallpaper-driven-theming.md +131 -0
  20. package/docs/adr/ADR-010-starship-transient-prompt.md +144 -0
  21. package/docs/adr/ADR-011-nushell-tier3-keep.md +144 -0
  22. package/docs/adr/README.md +39 -0
  23. package/docs/architecture/ARCHITECTURE.md +117 -0
  24. package/docs/architecture/INTEROP.md +44 -0
  25. package/docs/architecture/REPO_LAYOUT.md +241 -0
  26. package/docs/architecture/WALKTHROUGH.md +86 -0
  27. package/docs/architecture/fleet-deployment.md +77 -0
  28. package/docs/archive/EUXIS_2026_REVIEW.md +127 -0
  29. package/docs/archive/LEGACY_ROADMAP.md +160 -0
  30. package/docs/archive/MILESTONE_v0.2.493.md +47 -0
  31. package/docs/{PLAN.md → archive/PLAN.md} +50 -12
  32. package/docs/archive/REPO_AUDIT.md +31 -0
  33. package/docs/guides/INSTALL.md +144 -0
  34. package/docs/guides/NEOVIM_IDE_GUIDE.md +61 -0
  35. package/docs/guides/THEMING.md +230 -0
  36. package/docs/guides/TROUBLESHOOTING.md +176 -0
  37. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +792 -0
  38. package/docs/index.md +43 -0
  39. package/docs/interop/A2A.md +39 -0
  40. package/docs/interop/POWERSHELL.md +102 -0
  41. package/docs/manual/00-introduction.md +89 -0
  42. package/docs/manual/01-concepts/01-architecture.md +138 -0
  43. package/docs/manual/01-concepts/02-trust-model.md +182 -0
  44. package/docs/manual/01-concepts/03-theme-engine.md +186 -0
  45. package/docs/manual/01-concepts/04-fleet.md +148 -0
  46. package/docs/manual/01-concepts/05-self-healing.md +204 -0
  47. package/docs/manual/02-tutorials/01-first-install.md +197 -0
  48. package/docs/manual/02-tutorials/02-add-wallpaper.md +216 -0
  49. package/docs/manual/02-tutorials/03-create-profile.md +244 -0
  50. package/docs/manual/02-tutorials/04-encrypt-secret.md +281 -0
  51. package/docs/manual/02-tutorials/05-deploy-fleet.md +283 -0
  52. package/docs/manual/03-reference/01-dot-cli.md +417 -0
  53. package/docs/manual/03-reference/02-config-files.md +265 -0
  54. package/docs/manual/03-reference/03-environment.md +124 -0
  55. package/docs/manual/03-reference/04-templates.md +190 -0
  56. package/docs/manual/03-reference/05-feature-flags.md +128 -0
  57. package/docs/manual/04-cookbook/01-recipes.md +285 -0
  58. package/docs/manual/04-cookbook/02-troubleshooting.md +351 -0
  59. package/docs/manual/04-cookbook/03-faq.md +175 -0
  60. package/docs/manual/05-appendices/A-platform-matrix.md +101 -0
  61. package/docs/manual/05-appendices/B-security-checklist.md +84 -0
  62. package/docs/manual/05-appendices/C-glossary.md +40 -0
  63. package/docs/manual/05-appendices/D-bibliography.md +58 -0
  64. package/docs/manual/05-appendices/E-license.md +38 -0
  65. package/docs/manual/_toc.yml +58 -0
  66. package/docs/manual/command-index.md +62 -0
  67. package/docs/manual/concept-index.md +168 -0
  68. package/docs/operations/ATTESTATION.md +44 -0
  69. package/docs/operations/CI_CADENCE.md +107 -0
  70. package/docs/operations/CI_COMPOSITES.md +156 -0
  71. package/docs/operations/COMPLETIONS.md +123 -0
  72. package/docs/operations/COVERAGE.md +148 -0
  73. package/docs/operations/DRIFT.md +107 -0
  74. package/docs/operations/MAINTENANCE.md +63 -0
  75. package/docs/operations/MIGRATION.md +109 -0
  76. package/docs/operations/OPERATIONS.md +188 -0
  77. package/docs/operations/PERFORMANCE.md +133 -0
  78. package/docs/operations/RELIABILITY.md +122 -0
  79. package/docs/{ROADMAP.md → operations/ROADMAP.md} +57 -39
  80. package/docs/operations/TESTING.md +199 -0
  81. package/docs/operations/TRACEABILITY.md +35 -0
  82. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +65 -0
  83. package/docs/operations/VERSION_SYNC.md +393 -0
  84. package/docs/reference/ALIASES.md +131 -0
  85. package/docs/reference/ALIASES_CHEATSHEET.md +32 -0
  86. package/docs/reference/ALIASES_DEPRECATIONS.md +13 -0
  87. package/docs/reference/FEATURES.md +66 -0
  88. package/docs/reference/FONTS.md +112 -0
  89. package/docs/reference/PROFILES.md +69 -0
  90. package/docs/reference/SCREENSHOTS.md +121 -0
  91. package/docs/reference/SCRIPTS.md +71 -0
  92. package/docs/reference/SUPPORT_MATRIX.md +80 -0
  93. package/docs/reference/THEMES.md +117 -0
  94. package/docs/reference/TOOLS.md +109 -0
  95. package/docs/reference/UTILS.md +155 -0
  96. package/docs/security/AI_ACT_COMPLIANCE.md +94 -0
  97. package/docs/security/AUDIT_BYPASS.md +103 -0
  98. package/docs/security/AUTOMATION_SECRETS.md +26 -0
  99. package/docs/security/CI_EGRESS_ALLOWLIST.md +127 -0
  100. package/docs/security/COMPLIANCE.md +458 -0
  101. package/docs/security/DEPS_DEV_EXCEPTIONS.md +86 -0
  102. package/docs/security/ENCRYPTION.md +57 -0
  103. package/docs/security/FMEA.md +159 -0
  104. package/docs/security/HISTORY_FILTERING.md +132 -0
  105. package/docs/security/INCIDENT_RESPONSE.md +579 -0
  106. package/docs/security/INSTALL_VERIFICATION.md +122 -0
  107. package/docs/security/KEYS.md +49 -0
  108. package/docs/security/KEY_ROTATION.md +223 -0
  109. package/docs/security/MCP_POLICY.md +78 -0
  110. package/docs/security/POLICY_RELEASES.md +37 -0
  111. package/docs/security/README.md +28 -0
  112. package/docs/security/SCORECARD.md +80 -0
  113. package/docs/security/SECRETS.md +158 -0
  114. package/docs/security/SECURITY.md +45 -0
  115. package/docs/security/SECURITY_CHECKLIST.md +55 -0
  116. package/docs/security/SHELL_EXEMPTIONS.md +145 -0
  117. package/docs/security/SOUP_REGISTER.md +36 -0
  118. package/docs/security/THREAT_MODEL.md +130 -0
  119. package/docs/security/VERIFICATION_VALIDATION.md +228 -0
  120. package/docs/themes/README.md +10 -0
  121. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +30 -0
  122. package/docs/themes/hero-shot.svg +78 -0
  123. package/dot_config/.module-manifest.json +69 -0
  124. package/dot_config/ai/identity.md +23 -0
  125. package/dot_config/ai/patterns/architect.md +16 -0
  126. package/dot_config/ai/patterns/hardener.md +15 -0
  127. package/dot_config/ai/patterns/refactor.md +15 -0
  128. package/dot_config/aider/aider.conf.yml +32 -0
  129. package/dot_config/alacritty/alacritty.toml.tmpl +55 -0
  130. package/dot_config/ansible/ansible.cfg +11 -0
  131. package/dot_config/atuin/config.toml.tmpl +47 -0
  132. package/dot_config/bat/config +23 -0
  133. package/dot_config/brave-flags.conf.tmpl +7 -0
  134. package/dot_config/btop/btop.conf +16 -0
  135. package/dot_config/btop/themes/tokyonight.theme +34 -0
  136. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  137. package/dot_config/claude/mcp_servers.json +20 -0
  138. package/dot_config/containers/containers.conf +14 -0
  139. package/dot_config/curl/dot_curlrc +18 -0
  140. package/dot_config/dlv/config.yml +39 -0
  141. package/dot_config/docker/config.json +15 -0
  142. package/dot_config/dotfiles/agent-card.json +29 -0
  143. package/dot_config/dotfiles/agent-profiles.json +92 -0
  144. package/dot_config/dotfiles/boot/README.md +13 -0
  145. package/dot_config/dotfiles/grub/README.md +13 -0
  146. package/dot_config/dotfiles/lock/README.md +13 -0
  147. package/dot_config/dotfiles/mcp-lock.json +33 -0
  148. package/dot_config/dotfiles/mcp-policy.json +52 -0
  149. package/dot_config/dotfiles/mcp-registry.json +47 -0
  150. package/dot_config/dotfiles/model-registry.json +20 -0
  151. package/dot_config/dotfiles/policy-bundles.json +38 -0
  152. package/dot_config/dotfiles/prompt-registry.json +16 -0
  153. package/dot_config/dotfiles/versions.env +18 -0
  154. package/dot_config/duf/duf.conf +6 -0
  155. package/dot_config/duti/defaults.duti +5 -0
  156. package/dot_config/emoji/emoji.txt +34 -0
  157. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  158. package/dot_config/environment.d/90-wayland.conf +19 -0
  159. package/dot_config/fastfetch/config.jsonc +28 -0
  160. package/dot_config/firefox/user.js.tmpl +58 -0
  161. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  162. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  163. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  164. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  165. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  166. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  167. package/dot_config/fish/conf.d/init.fish.tmpl +172 -0
  168. package/dot_config/fish/config.fish.tmpl +44 -0
  169. package/dot_config/fish/fish_plugins +1 -0
  170. package/dot_config/fish/functions/_.fish +3 -0
  171. package/dot_config/fish/functions/_cached_eval.fish +131 -0
  172. package/dot_config/fish/functions/_cached_eval_clear.fish +17 -0
  173. package/dot_config/fish/functions/als.fish +46 -0
  174. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  175. package/dot_config/fish/functions/c.fish +3 -0
  176. package/dot_config/fish/functions/cat.fish +9 -0
  177. package/dot_config/fish/functions/d.fish +7 -0
  178. package/dot_config/fish/functions/dot.fish +34 -0
  179. package/dot_config/fish/functions/h.fish +3 -0
  180. package/dot_config/fish/functions/l.fish +7 -0
  181. package/dot_config/fish/functions/la.fish +7 -0
  182. package/dot_config/fish/functions/ll.fish +7 -0
  183. package/dot_config/fish/functions/log_error.fish +13 -0
  184. package/dot_config/fish/functions/log_info.fish +13 -0
  185. package/dot_config/fish/functions/lr.fish +7 -0
  186. package/dot_config/fish/functions/lra.fish +7 -0
  187. package/dot_config/fish/functions/ls.fish +7 -0
  188. package/dot_config/fish/functions/lt.fish +7 -0
  189. package/dot_config/fish/functions/lta.fish +7 -0
  190. package/dot_config/fish/functions/notify-run.fish +11 -0
  191. package/dot_config/fish/functions/q.fish +3 -0
  192. package/dot_config/fish/functions/silent-run.fish +7 -0
  193. package/dot_config/fish/functions/yy.fish +8 -0
  194. package/dot_config/flatpak/flatpak.list +4 -0
  195. package/dot_config/fontconfig/fonts.conf.tmpl +57 -0
  196. package/dot_config/foot/foot.ini.tmpl +33 -0
  197. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  198. package/dot_config/fzf/fzf.zsh +48 -0
  199. package/dot_config/gem/gemrc +9 -0
  200. package/dot_config/gh/config.yml +12 -0
  201. package/dot_config/ghostty/config.tmpl +165 -0
  202. package/dot_config/git/allowed_signers.tmpl +18 -0
  203. package/dot_config/git/attributes +12 -0
  204. package/dot_config/git/commit-template +10 -0
  205. package/dot_config/git/hooks/executable_commit-msg +146 -0
  206. package/dot_config/git/ignore +27 -0
  207. package/dot_config/gnupg/gpg-agent.conf +11 -0
  208. package/dot_config/go/golangci.yml +118 -0
  209. package/dot_config/go/gopls.json +30 -0
  210. package/dot_config/goose/config.yaml +29 -0
  211. package/dot_config/gtk-3.0/gtk.css.tmpl +184 -0
  212. package/dot_config/gtk-3.0/settings.ini.tmpl +27 -0
  213. package/dot_config/gtk-4.0/gtk.css.tmpl +252 -0
  214. package/dot_config/gtk-4.0/settings.ini.tmpl +18 -0
  215. package/dot_config/htop/htoprc +20 -0
  216. package/dot_config/inputrc +2 -0
  217. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  218. package/dot_config/just/justfile +122 -0
  219. package/dot_config/k9s/config.yaml +65 -0
  220. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  221. package/dot_config/kanshi/config.tmpl +22 -0
  222. package/dot_config/karabiner/karabiner.json +14 -0
  223. package/dot_config/kitty/kitty.conf.tmpl +53 -0
  224. package/dot_config/lazydocker/config.yml +186 -0
  225. package/dot_config/lazygit/config.yml +35 -0
  226. package/dot_config/mako/config +47 -0
  227. package/dot_config/mas/masapps.txt +5 -0
  228. package/dot_config/micro/settings.json +3 -0
  229. package/dot_config/mimeapps.list +77 -0
  230. package/dot_config/minikube/config.json +13 -0
  231. package/dot_config/mise/config.toml +99 -0
  232. package/dot_config/mongosh/mongoshrc.js +68 -0
  233. package/dot_config/mpv/input.conf +47 -0
  234. package/dot_config/mpv/mpv.conf +47 -0
  235. package/dot_config/mycli/myclirc +67 -0
  236. package/dot_config/nano/nanorc +28 -0
  237. package/dot_config/ncdu/config +12 -0
  238. package/dot_config/niri/config.kdl.tmpl +327 -0
  239. package/dot_config/nushell/aliases.nu +18 -0
  240. package/dot_config/nushell/cached_eval.nu +80 -0
  241. package/dot_config/nushell/completions.nu.tmpl +52 -0
  242. package/dot_config/nushell/config.nu.tmpl +86 -0
  243. package/dot_config/nushell/env.nu.tmpl +102 -0
  244. package/dot_config/nushell/functions.nu.tmpl +17 -0
  245. package/dot_config/nvim/init.lua +18 -0
  246. package/dot_config/nvim/lazy-lock.json +58 -0
  247. package/dot_config/nvim/lua/config/autocmds.lua +107 -0
  248. package/dot_config/nvim/lua/config/keymaps.lua +92 -0
  249. package/dot_config/nvim/lua/config/lazy.lua +44 -0
  250. package/dot_config/nvim/lua/config/options.lua +49 -0
  251. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  252. package/dot_config/nvim/lua/plugins/coding.lua +216 -0
  253. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  254. package/dot_config/nvim/lua/plugins/dap.lua +412 -0
  255. package/dot_config/nvim/lua/plugins/editor.lua +55 -0
  256. package/dot_config/nvim/lua/plugins/git.lua +10 -0
  257. package/dot_config/nvim/lua/plugins/lsp.lua +156 -0
  258. package/dot_config/nvim/lua/plugins/markdown.lua +18 -0
  259. package/dot_config/nvim/lua/plugins/rust.lua +34 -0
  260. package/dot_config/nvim/lua/plugins/sessions.lua +33 -0
  261. package/dot_config/nvim/lua/plugins/ui.lua +509 -0
  262. package/dot_config/paru/paru.conf +10 -0
  263. package/dot_config/pip/pip.conf.tmpl +32 -0
  264. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  265. package/dot_config/pueue/pueue.yml +34 -0
  266. package/dot_config/pypoetry/config.toml +6 -0
  267. package/dot_config/pyrightconfig.json +5 -0
  268. package/dot_config/raycast/README.md +13 -0
  269. package/dot_config/redis/redisclirc +41 -0
  270. package/dot_config/ripgrep/ripgreprc +21 -0
  271. package/dot_config/shell/00-core-paths.sh.tmpl +134 -0
  272. package/dot_config/shell/05-core-safety.sh +48 -0
  273. package/dot_config/shell/10-secrets.sh +41 -0
  274. package/dot_config/shell/40-fzf-defaults.sh.tmpl +17 -0
  275. package/dot_config/shell/40-ls-colors.sh +49 -0
  276. package/dot_config/shell/50-logic-functions-core.sh.tmpl +11 -0
  277. package/dot_config/shell/50-logic-functions.sh.tmpl +11 -0
  278. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +65 -0
  279. package/dot_config/shell/90-ux-aliases.sh.tmpl +121 -0
  280. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +55 -0
  281. package/dot_config/shell/Brewfile +207 -0
  282. package/dot_config/shell/Brewfile.cask +92 -0
  283. package/dot_config/shell/Brewfile.cli +127 -0
  284. package/dot_config/shell/README.md +284 -0
  285. package/dot_config/shell/als_data.txt.tmpl +65 -0
  286. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  287. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  288. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  289. package/dot_config/sops/dot_sops.yaml +23 -0
  290. package/dot_config/starship.toml.tmpl +202 -0
  291. package/dot_config/swaylock/config +43 -0
  292. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  293. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  294. package/dot_config/systemd/user/pueued.service +12 -0
  295. package/dot_config/systemd/user/ssh-agent.service +12 -0
  296. package/dot_config/task/Taskfile.yml +86 -0
  297. package/dot_config/tflint/tflint.hcl +9 -0
  298. package/dot_config/tmux/tmux.conf.tmpl +223 -0
  299. package/dot_config/topgrade.toml.tmpl +54 -0
  300. package/dot_config/user-dirs.dirs +10 -0
  301. package/dot_config/vscode/extensions.txt +11 -0
  302. package/dot_config/vscode/settings.json.tmpl +82 -0
  303. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  304. package/dot_config/waybar/style.css.tmpl +211 -0
  305. package/dot_config/wezterm/wezterm.lua.tmpl +64 -0
  306. package/dot_config/wget/wgetrc +12 -0
  307. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  308. package/dot_config/yarn/yarnrc.yml +36 -0
  309. package/dot_config/yazi/keymap.toml +67 -0
  310. package/dot_config/yazi/theme.toml +102 -0
  311. package/dot_config/yazi/yazi.toml +40 -0
  312. package/dot_config/zathura/zathurarc +52 -0
  313. package/dot_config/zellij/config.kdl.tmpl +79 -0
  314. package/dot_config/zsh/dot_zprofile +7 -0
  315. package/dot_config/zsh/dot_zshenv +5 -0
  316. package/dot_config/zsh/dot_zshrc.tmpl +635 -0
  317. package/dot_config/zsh/rc.d/00-alias-shims.zsh +99 -0
  318. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +18 -0
  319. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  320. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  321. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +214 -0
  322. package/dot_config/zsh/rc.d/40-bell.zsh +20 -0
  323. package/dot_config/zsh/rc.d/50-login-fortune.zsh +9 -0
  324. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  325. package/dot_local/bin/executable_ai-update +195 -0
  326. package/dot_local/bin/executable_ai_core +152 -0
  327. package/dot_local/bin/executable_antigravity +11 -0
  328. package/dot_local/bin/executable_b64 +84 -0
  329. package/dot_local/bin/executable_bm +79 -0
  330. package/dot_local/bin/executable_cb +39 -0
  331. package/dot_local/bin/executable_dot +596 -0
  332. package/dot_local/bin/executable_dot-ai +36 -0
  333. package/dot_local/bin/executable_dot-bootstrap +77 -0
  334. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  335. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  336. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  337. package/dot_local/bin/executable_dot-theme-sync +952 -0
  338. package/dot_local/bin/executable_dot_completion +57 -0
  339. package/dot_local/bin/executable_dtags +28 -0
  340. package/dot_local/bin/executable_epoch +67 -0
  341. package/dot_local/bin/executable_extract +41 -0
  342. package/dot_local/bin/executable_gbd +52 -0
  343. package/dot_local/bin/executable_gd +42 -0
  344. package/dot_local/bin/executable_git-ai-commit +175 -0
  345. package/dot_local/bin/executable_git-ai-diff +169 -0
  346. package/dot_local/bin/executable_gl +101 -0
  347. package/dot_local/bin/executable_hash +161 -0
  348. package/dot_local/bin/executable_hashsum +160 -0
  349. package/dot_local/bin/executable_hex +115 -0
  350. package/dot_local/bin/executable_jsonv +78 -0
  351. package/dot_local/bin/executable_jwt +94 -0
  352. package/dot_local/bin/executable_kill-port +75 -0
  353. package/dot_local/bin/executable_lorem +118 -0
  354. package/dot_local/bin/executable_mkscript +35 -0
  355. package/dot_local/bin/executable_monitor +56 -0
  356. package/dot_local/bin/executable_myip +51 -0
  357. package/dot_local/bin/executable_notify +24 -0
  358. package/dot_local/bin/executable_open +38 -0
  359. package/dot_local/bin/executable_pw +27 -0
  360. package/dot_local/bin/executable_rec-start +46 -0
  361. package/dot_local/bin/executable_rec-stop +35 -0
  362. package/dot_local/bin/executable_regex +132 -0
  363. package/dot_local/bin/executable_start-niri +8 -0
  364. package/dot_local/bin/executable_tmux-sessionizer +314 -0
  365. package/dot_local/bin/executable_tour +177 -0
  366. package/dot_local/bin/executable_up +23 -0
  367. package/dot_local/bin/executable_update +142 -0
  368. package/dot_local/bin/executable_uuid +87 -0
  369. package/dot_local/bin/executable_win +32 -0
  370. package/dot_local/bin/executable_yamlv +57 -0
  371. package/dot_local/share/bash-completion/completions/dot +72 -0
  372. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  373. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  374. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  375. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  376. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  377. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  378. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  379. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  380. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  381. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  382. package/dot_local/share/man/man1/dot.1 +149 -0
  383. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  384. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  385. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  386. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  387. package/dot_local/share/zsh/completions/.keep +0 -0
  388. package/dot_local/share/zsh/completions/_dot +283 -0
  389. package/install.sh +350 -0
  390. package/package.json +1 -1
  391. package/scripts/ci/check-copyright-headers.sh +96 -0
  392. package/scripts/ci/check-dangerous-chmod.sh +19 -0
  393. package/scripts/ci/check-deps-dev.sh +236 -0
  394. package/scripts/ci/check-insecure-tls.sh +61 -0
  395. package/scripts/ci/check-regression-traceability.sh +67 -0
  396. package/scripts/ci/check-shell-preamble.sh +106 -0
  397. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  398. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  399. package/scripts/ci/run-coverage.sh +362 -0
  400. package/scripts/ci/validate-chezmoidata.sh +25 -0
  401. package/scripts/ci/validate-ci-config.sh +224 -0
  402. package/scripts/demo/record.sh +42 -0
  403. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  404. package/scripts/diagnostics/alias-governance.sh +137 -0
  405. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  406. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  407. package/scripts/diagnostics/benchmark.sh +381 -0
  408. package/scripts/diagnostics/conflicts.sh +72 -0
  409. package/scripts/diagnostics/doctor-unified.sh +38 -0
  410. package/scripts/diagnostics/doctor.sh +709 -0
  411. package/scripts/diagnostics/drift-dashboard.sh +201 -0
  412. package/scripts/diagnostics/health.sh +614 -0
  413. package/scripts/diagnostics/history-analysis.sh +85 -0
  414. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  415. package/scripts/diagnostics/perf.sh +452 -0
  416. package/scripts/diagnostics/scorecard.sh +118 -0
  417. package/scripts/diagnostics/secret-governance.sh +58 -0
  418. package/scripts/diagnostics/security-score.sh +438 -0
  419. package/scripts/diagnostics/smoke-test.sh +87 -0
  420. package/scripts/diagnostics/snapshot.sh +89 -0
  421. package/scripts/diagnostics/verify.sh +107 -0
  422. package/scripts/{verify_state.sh → diagnostics/verify_state.sh} +22 -22
  423. package/scripts/diagnostics/version-locks.sh +79 -0
  424. package/scripts/diagnostics/workstation-attestation.sh +186 -0
  425. package/scripts/docs/build-manual.sh +883 -0
  426. package/scripts/docs/check-manual.sh +213 -0
  427. package/scripts/dot/commands/agent.sh +474 -0
  428. package/scripts/dot/commands/ai.sh +481 -0
  429. package/scripts/dot/commands/aliases.sh +250 -0
  430. package/scripts/dot/commands/appearance.sh +80 -0
  431. package/scripts/dot/commands/core.sh +185 -0
  432. package/scripts/dot/commands/diagnostics.sh +229 -0
  433. package/scripts/dot/commands/fleet.sh +399 -0
  434. package/scripts/dot/commands/lint.sh +177 -0
  435. package/scripts/dot/commands/manual.sh +168 -0
  436. package/scripts/dot/commands/meta.sh +248 -0
  437. package/scripts/dot/commands/patterns.sh +54 -0
  438. package/scripts/dot/commands/restore.sh +231 -0
  439. package/scripts/dot/commands/secrets.sh +223 -0
  440. package/scripts/dot/commands/security.sh +76 -0
  441. package/scripts/dot/commands/tools.sh +469 -0
  442. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  443. package/scripts/dot/lib/bento.sh +50 -0
  444. package/scripts/dot/lib/log.sh +200 -0
  445. package/scripts/dot/lib/platform.sh +99 -0
  446. package/scripts/dot/lib/ui.sh +518 -0
  447. package/scripts/dot/lib/utils.sh +377 -0
  448. package/scripts/fonts/install-nerd-fonts.sh +68 -0
  449. package/scripts/fonts/patch-fonts.sh +35 -0
  450. package/scripts/git-hooks/install.sh +11 -0
  451. package/scripts/git-hooks/pre-commit +12 -0
  452. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  453. package/scripts/git-hooks/pre-push +92 -0
  454. package/scripts/git-hooks/prepare-commit-msg +29 -0
  455. package/scripts/lib/secrets_provider.sh +158 -0
  456. package/scripts/maintenance/check-updates.sh +131 -0
  457. package/scripts/ops/ai-setup.sh +55 -0
  458. package/scripts/ops/bundle.sh +77 -0
  459. package/scripts/ops/chaos.sh +49 -0
  460. package/scripts/ops/chezmoi-apply.sh +270 -0
  461. package/scripts/ops/chezmoi-diff.sh +15 -0
  462. package/scripts/ops/chezmoi-remove.sh +45 -0
  463. package/scripts/ops/chezmoi-update.sh +48 -0
  464. package/scripts/ops/heal-chezmoi.sh +86 -0
  465. package/scripts/ops/heal-system.sh +128 -0
  466. package/scripts/ops/heal-tools.sh +340 -0
  467. package/scripts/ops/heal.sh +222 -0
  468. package/scripts/ops/post-apply-repair.sh +106 -0
  469. package/scripts/ops/prewarm.sh +127 -0
  470. package/scripts/ops/release.sh +252 -0
  471. package/scripts/ops/rollback.sh +589 -0
  472. package/scripts/ops/setup.sh +137 -0
  473. package/scripts/ops/teleport.sh +33 -0
  474. package/scripts/qa/coverage-baseline.sh +60 -0
  475. package/scripts/qa/docs-coverage.sh +111 -0
  476. package/scripts/qa/powershell-contract.ps1 +95 -0
  477. package/scripts/qa/reliability-audit.sh +138 -0
  478. package/scripts/qa/traceability-coverage.sh +116 -0
  479. package/scripts/qa/validate-examples.sh +26 -0
  480. package/scripts/qa/wsl-contract.sh +11 -0
  481. package/scripts/release/package-policy-bundles.sh +125 -0
  482. package/scripts/secrets/age-init.sh +70 -0
  483. package/scripts/secrets/create-secrets-file.sh +45 -0
  484. package/scripts/secrets/encrypt-ssh-key.sh +43 -0
  485. package/scripts/security/backup.sh +57 -0
  486. package/scripts/security/dns-doh.sh +51 -0
  487. package/scripts/security/encryption-check.sh +54 -0
  488. package/scripts/security/enforce-policies.sh +334 -0
  489. package/scripts/security/firewall.sh +90 -0
  490. package/scripts/security/lock-configs.sh +57 -0
  491. package/scripts/security/lock-screen.sh +55 -0
  492. package/scripts/security/manage-secrets.sh +428 -0
  493. package/scripts/security/ssh-cert.sh +203 -0
  494. package/scripts/security/telemetry-kill.sh +50 -0
  495. package/scripts/security/usb-safety.sh +51 -0
  496. package/scripts/theme/apply-gnome-theme.sh +328 -0
  497. package/scripts/theme/extract-theme.py +677 -0
  498. package/scripts/theme/install-boot-logo.sh +62 -0
  499. package/scripts/theme/install-catppuccin-themes.sh +370 -0
  500. package/scripts/theme/install-cursors.sh +25 -0
  501. package/scripts/theme/install-file-icons.sh +26 -0
  502. package/scripts/theme/install-grub-theme.sh +61 -0
  503. package/scripts/theme/install-lock-icon.sh +30 -0
  504. package/scripts/theme/merge-wallpaper.sh +145 -0
  505. package/scripts/theme/rebuild-themes.sh +309 -0
  506. package/scripts/theme/switch.sh +431 -0
  507. package/scripts/theme/wallpaper-rotate.sh +136 -0
  508. package/scripts/theme/wallpaper-sync.sh +397 -0
  509. package/scripts/tools/cmatrix.sh +21 -0
  510. package/scripts/{detect-collisions.py → tools/detect-collisions.py} +2 -2
  511. package/scripts/tools/emoji-picker.sh +48 -0
  512. package/scripts/tools/figlet-banner.sh +18 -0
  513. package/scripts/tools/log-rotate.sh +30 -0
  514. package/scripts/tools/lolcat-wrap.sh +19 -0
  515. package/scripts/tools/pipes.sh +48 -0
  516. package/scripts/tuning/linux.sh +185 -0
  517. package/scripts/tuning/macos.sh +55 -0
  518. package/scripts/uninstall.sh +85 -0
  519. package/scripts/version-sync.sh +487 -0
  520. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  521. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  522. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  523. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  524. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  525. package/templates/projects/go/README.md +4 -0
  526. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  527. package/templates/projects/go/go.sum +0 -0
  528. package/templates/projects/molecule/README.md +7 -0
  529. package/templates/projects/molecule/converge.yml +7 -0
  530. package/templates/projects/molecule/molecule.yml +16 -0
  531. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  532. package/templates/projects/node/README.md +4 -0
  533. package/templates/projects/node/package-lock.json +12 -0
  534. package/templates/projects/node/src/index.js +1 -0
  535. package/templates/projects/packer/README.md +15 -0
  536. package/templates/projects/packer/main.pkr.hcl +15 -0
  537. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  538. package/templates/projects/python/README.md +4 -0
  539. package/templates/projects/python/pyproject.toml +15 -0
  540. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  541. package/templates/projects/python/tests/test_basic.py +1 -0
  542. package/docs/ARCHITECTURE.md +0 -62
  543. package/docs/COMPLIANCE.md +0 -47
  544. package/docs/OPERATIONS.md +0 -103
  545. package/docs/PR_DESCRIPTION.md +0 -150
  546. package/docs/ROADMAP_legacy.md +0 -556
  547. package/docs/SECURITY_CHECKLIST.md +0 -25
  548. package/docs/TASK.md +0 -99
  549. package/docs/WALKTHROUGH.md +0 -46
  550. package/scripts/backup.sh +0 -142
  551. package/scripts/banner.sh +0 -20
  552. package/scripts/benchmark.sh +0 -20
  553. package/scripts/build.sh +0 -41
  554. package/scripts/clean.sh +0 -31
  555. package/scripts/compile.sh +0 -54
  556. package/scripts/copy.sh +0 -108
  557. package/scripts/doctor.sh +0 -79
  558. package/scripts/dotfiles.sh +0 -63
  559. package/scripts/download.sh +0 -35
  560. package/scripts/help.sh +0 -57
  561. package/scripts/lock-configs.sh +0 -57
  562. package/scripts/package.sh +0 -46
  563. package/scripts/ssh.sh +0 -55
  564. package/scripts/teleport.sh +0 -23
  565. package/scripts/test-aliases.sh +0 -25
  566. package/scripts/test_smoke.sh +0 -88
  567. package/scripts/unpack.sh +0 -28
@@ -1,10 +1,15 @@
1
- # Product Roadmap: The Trusted Shell Platform
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Roadmap
2
6
 
3
7
  This roadmap steers the project from a "feature-rich dotfiles repo" to an **Enterprise-Grade Shell Distribution**. The structure is organized by strategic pillars (**Trust**, **Predictability**, **Observability**) rather than linear phases, though the original 100-Phase vision is preserved within these categories.
4
8
 
5
9
  ---
6
10
 
7
- ## 🏗️ Pillar 1: Reproducibility & Determinism (Highest ROI)
11
+ ## Reproducibility
12
+
8
13
  **Goal:** "Reproducible Shell Environments".
9
14
  > *This distribution aims for deterministic rebuilds: the same tag yields the same environment across machines.*
10
15
 
@@ -16,29 +21,32 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
16
21
  - [ ] **Container Native (Phase 28)**: Base Docker image for devcontainers.
17
22
  - [ ] **Terraform Provider (Phase 28)**: Custom provider to provision dotfiles state.
18
23
 
19
- ## 👁️ Pillar 2: First-Class Observability
24
+ ## Observability
25
+
20
26
  **Goal:** "Observable Shell Lifecycle".
21
27
  > *The shell is instrumented: failures, timing, and lifecycle events are visible by design.*
22
28
 
23
- - [ ] **Audit Structuring**: JSON-structured logging for bootstrap and provisioning events.
24
- - [ ] **Debug Modes**: First-class support for `DOTFILES_DEBUG=1` and `DOTFILES_TRACE=1`.
25
- - [ ] **Telemetry (Local)**: Granular startup timing breakdown (init vs plugins vs prompt).
29
+ - [x] **Audit Structuring**: JSON-structured logging for bootstrap and provisioning events.
30
+ - [x] **Debug Modes**: First-class support for `DOTFILES_DEBUG=1` and `DOTFILES_TRACE=1`.
31
+ - [x] **Telemetry (Local)**: Granular startup timing breakdown via `dot perf`.
26
32
  - [ ] **Health Dashboard (Phase 39)**: CLI view of system "health" metrics.
27
33
  - [ ] **System Status (Phase 39)**: Real-time resource usage, battery, and network stats.
28
34
  - [ ] **Update Manager (Phase 39)**: Visual interface for tool updates and migration.
29
35
 
30
- ## 🔐 Pillar 3: Secrets & Trust Boundaries
36
+ ## Secrets
37
+
31
38
  **Goal:** "Explicit Secrets Model".
32
39
  > *Secrets are never committed; sensitive state is encrypted or host-local by default.*
33
40
 
34
- - [ ] **Secret Driver**: Native integration with 1Password/Bitwarden CLI via `chezmoi`.
35
- - [ ] **Encryption**: Promoted use of `age` encryption for all private config files.
41
+ - [x] **Secret Driver**: Native integration with 1Password/Bitwarden CLI via `chezmoi`.
42
+ - [x] **Encryption**: Promoted use of `age` encryption for all private config files.
36
43
  - [ ] **Leak Prevention (Phase 29)**: Pre-commit hooks (TruffleHog/Gitleaks) for high-entropy detection.
37
44
  - [ ] **Vault Integration (Phase 29)**: Native HashiCorp Vault support.
38
45
  - [ ] **Hardware Enclaves (Phase 29)**: Support for Secure Enclave/TPM key storage.
39
46
  - [ ] **OIDC Auth (Phase 29)**: Keyless authentication via GitHub OIDC.
40
47
 
41
- ## 🧱 Pillar 4: Layered Architecture & Toolchain
48
+ ## Toolchain
49
+
42
50
  **Goal:** "Composable Shell Layers".
43
51
  > *The distribution is layered: core safety is mandatory, advanced features are opt-in.*
44
52
 
@@ -46,62 +54,67 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
46
54
  - [ ] **UX Layer**: Prompt (Starship), Aliases, Completions.
47
55
  - [ ] **Toolchain Layer**: Rust replacements (`eza`, `bat`, `ripgrep`).
48
56
  - [ ] **Cross-Compiler Toolchain (Phase 34)**:
49
- - [ ] **Multi-Arch**: `qemu-user-static` for ARM64/AMD64.
50
- - [ ] **Wasm Target**: WebAssembly toolchain setup.
51
- - [ ] **Embedded Dev**: Presets for Arduino/ESP32.
57
+ - [ ] **Multi-Arch**: `qemu-user-static` for ARM64/AMD64.
58
+ - [ ] **Wasm Target**: WebAssembly toolchain setup.
59
+ - [ ] **Embedded Dev**: Presets for Arduino/ESP32.
60
+
61
+ ## Opt-in features
52
62
 
53
- ## ⚙️ Pillar 5: Controlled Opt-In Features
54
63
  **Goal:** "Explicit Feature Flags".
55
64
  > *Advanced features are gated behind explicit opt-in flags.*
56
65
 
57
66
  - [ ] **Feature Toggles**: Environment variables (e.g., `ENABLE_AI=0`, `ENABLE_HISTORY_SYNC=0`).
58
67
  - [ ] **Lazy Loading**: Strict lazy-loading for all non-core plugins.
59
68
  - [ ] **Plugin Ecosystem (Phase 35)**:
60
- - [ ] **Module Registry**: Public index of dotfiles modules.
61
- - [ ] **Dependency Solving**: Semantic versioning for modules.
62
- - [ ] **Verified Publishers**: Cryptographic signing for "Official" modules.
69
+ - [ ] **Module Registry**: Public index of dotfiles modules.
70
+ - [ ] **Dependency Solving**: Semantic versioning for modules.
71
+ - [ ] **Verified Publishers**: Cryptographic signing for "Official" modules.
72
+
73
+ ## Safety
63
74
 
64
- ## 🛡️ Pillar 6: Threat Model & Safety
65
75
  **Goal:** "Documented Threat Model".
66
76
  > *Security decisions are driven by an explicit, documented threat model.*
67
77
 
68
- - [ ] **Threat Model Doc**: A lightweight document defining the trust boundary (Local Machine).
78
+ - [x] **Threat Model Doc**: A lightweight document defining the trust boundary (Local Machine). See `docs/security/THREAT_MODEL.md`.
69
79
  - [ ] **Supply Chain**: Verification steps for upstream dependencies.
70
80
  - [ ] **Identity & Access (Phase 40)**:
71
- - [ ] **SSH Certs**: Short-lived SSH Certificates.
72
- - [ ] **YubiKey Bio**: Biometric enforcement for `sudo`.
73
- - [ ] **PAM Modules**: Custom auth modules.
74
- - [ ] **Auditd Rules**: Pre-configured audit rules.
81
+ - [ ] **SSH Certs**: Short-lived SSH Certificates.
82
+ - [ ] **YubiKey Bio**: Biometric enforcement for `sudo`.
83
+ - [ ] **PAM Modules**: Custom auth modules.
84
+ - [ ] **Auditd Rules**: Pre-configured audit rules.
85
+
86
+ ## Validation
75
87
 
76
- ## 🧪 Pillar 7: Self-Test & Validation
77
88
  **Goal:** "Self-Validating Environment".
78
89
  > *The environment can validate itself after installation or update.*
79
90
 
80
- - [ ] **Smoke Tests**: Automated verification of key aliases (`ls`, `git`, `docker`).
81
- - [ ] **CI Validation**: GitHub Actions workflow to boot and verify the shell syntax.
82
- - [ ] **Chaos Engineering (Phase 41)**:
83
- - [ ] **Config Chaos**: Randomly corrupt config files to test recovery.
84
- - [ ] **Network Simulation**: Simulate high latency/packet loss.
85
- - [ ] **Permission Fuzzing**: Verify strict umask behavior.
91
+ - [x] **Smoke Tests**: Automated verification of key aliases (`ls`, `git`, `docker`).
92
+ - [x] **CI Validation**: GitHub Actions workflow to boot and verify the shell syntax.
93
+ - [x] **Chaos Engineering (Phase 41)**:
94
+ - [ ] **Config Chaos**: Randomly corrupt config files to test recovery.
95
+ - [ ] **Network Simulation**: Simulate high latency/packet loss.
96
+ - [ ] **Permission Fuzzing**: Verify strict umask behavior.
97
+
98
+ ## Distribution
86
99
 
87
- ## 📦 Pillar 8: Distribution Guarantees & Platform Support
88
100
  **Goal:** "Supported Platforms Matrix".
89
101
  > *Only listed platforms are guaranteed to work; others are best-effort.*
90
102
 
91
- - [ ] **Support Matrix**: Explicit table of OS/Version support (macOS 14+, Ubuntu 24.04+, WSL2).
103
+ - [x] **Support Matrix**: Explicit table of OS/Version support. See `docs/reference/SUPPORT_MATRIX.md`.
92
104
  - [ ] **Windows Deep Integration (Phase 53)**:
93
- - [ ] **PowerShell Profile**: Mirror Zsh functionality.
94
- - [ ] **WinGet**: Declarative package management.
95
- - [ ] **WSL Bridge**: Seamless interop.
105
+ - [ ] **PowerShell Profile**: Mirror Zsh functionality.
106
+ - [ ] **WinGet**: Declarative package management.
107
+ - [ ] **WSL Bridge**: Seamless interop.
96
108
  - [ ] **Linux Deep Integration (Phase 55)**:
97
- - [ ] **Systemd User Units**: User service management.
98
- - [ ] **Desktop Envs**: GNOME/KDE/Sway configs.
109
+ - [x] **Systemd User Units**: User service management.
110
+ - [ ] **Desktop Envs**: GNOME/KDE/Sway configs.
99
111
 
100
112
  ---
101
113
 
102
- ## 🔮 Future Horizons (Legacy Roadmap)
114
+ ## Future
103
115
 
104
116
  ### Domain-Specific Environments
117
+
105
118
  - [ ] **Data Science (Phase 38)**: Conda/Mamba, GPU Config, Jupyter.
106
119
  - [ ] **Network Topologies (Phase 56)**: Mesh Networks, Tor, Private VPNs.
107
120
  - [ ] **Build Systems (Phase 57)**: Bazel, Maven/Gradle, CMake.
@@ -112,6 +125,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
112
125
  - [ ] **Bio-Informatics (Phase 70)**: Genomics, PDB, FASTA.
113
126
 
114
127
  ### Enterprise & Operations
128
+
115
129
  - [ ] **Collaborations (Phase 45)**: Pair Programming, Team Sync, ChatOps.
116
130
  - [ ] **Database DevOps (Phase 46)**: DB Clients, Local Docker DBs, Migrations.
117
131
  - [ ] **Serverless (Phase 47)**: Lambda, Edge Workers, Wasm.
@@ -120,20 +134,23 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
120
134
  - [ ] **Recruiting & HR (Phase 94)**: Resume Generators, coding interview sets.
121
135
 
122
136
  ### Accessibility & Legacy
137
+
123
138
  - [ ] **Accessibility (Phase 36)**: Screen Reader optimization, High Contrast.
124
139
  - [ ] **Legacy Modernization (Phase 42)**: Mainframe/Unix support, PowerShell Core.
125
140
 
126
141
  ---
127
142
 
128
- ## 📜 Completed Milestones
143
+ ## Completed
129
144
 
130
145
  ### Core Foundations
146
+
131
147
  - [x] **Universal Config (Chezmoi) (Phase 1)**
132
148
  - [x] **Shell Environment (Phase 2)**
133
149
  - [x] **Tool Modernization (Phase 3)**
134
150
  - [x] **Performance Optimization (Phase 4)**
135
151
 
136
152
  ### Hardened Security
153
+
137
154
  - [x] **Security & Validation (Phase 5)**
138
155
  - [x] **Package Management (Phase 6)**
139
156
  - [x] **Hardened Security (Phase 21)**
@@ -141,6 +158,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
141
158
  - [x] **Legal & Licensing (Phase 92)**: FOSSology, Headers, CLA.
142
159
 
143
160
  ### Experience
161
+
144
162
  - [x] **Documentation (Phase 25)**: DocSite, Interactive Tour.
145
163
  - [x] **Self-Healing (Phase 27)**: Doctor, Auto-Repair.
146
164
  - [x] **OS Bundling (Phase 26)**: XDG Compliance, Vendor Hooks.
@@ -0,0 +1,199 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Testing strategy
6
+
7
+ ## Overview
8
+
9
+ The repo uses a multi-layer testing approach: unit tests for individual functions, integration tests for system-wide behavior, and performance benchmarks for resource efficiency.
10
+
11
+ ## Quick start
12
+
13
+ ```bash
14
+ # Run all unit tests
15
+ ./tests/framework/test_runner.sh
16
+
17
+ # Run a specific test suite
18
+ ./tests/framework/test_runner.sh extract
19
+
20
+ # Run integration tests
21
+ RUN_INTEGRATION=1 ./tests/framework/test_runner.sh
22
+
23
+ # Run performance benchmarks
24
+ ./tests/performance/benchmark_runner.sh
25
+ ```
26
+
27
+ ## Test structure
28
+
29
+ ```text
30
+ tests/
31
+ ├── framework/ # Test framework
32
+ │ ├── assertions.sh # 16 assertion functions
33
+ │ ├── mocks.sh # Mock utilities
34
+ │ └── test_runner.sh # Test executor
35
+ ├── unit/ # 425 unit test files
36
+ ├── integration/ # 11 integration test files
37
+ └── performance/ # Benchmarks
38
+ ```
39
+
40
+ ## Writing tests
41
+
42
+ ### Test file template
43
+
44
+ ```bash
45
+ #!/usr/bin/env bash
46
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
47
+ source "$SCRIPT_DIR/../framework/assertions.sh"
48
+
49
+ # Source the function under test
50
+ source "$HOME/.dotfiles/.chezmoitemplates/functions/myfunction.sh"
51
+
52
+ # Test cases
53
+ test_start "function_basic_usage"
54
+ assert_exit_code 0 "myfunction arg1"
55
+
56
+ test_start "function_no_args"
57
+ assert_exit_code 1 "myfunction"
58
+ ```
59
+
60
+ ### Available assertions
61
+
62
+ | Function | Description |
63
+ |----------|-------------|
64
+ | `assert_equals expected actual [msg]` | Two values are equal |
65
+ | `assert_not_equals unexpected actual [msg]` | Two values differ |
66
+ | `assert_exit_code code command` | Command exits with given code |
67
+ | `assert_output_contains needle command` | Output contains string |
68
+ | `assert_output_not_contains needle command` | Output lacks string |
69
+ | `assert_output_matches pattern command` | Output matches regex |
70
+ | `assert_file_exists path [msg]` | File exists |
71
+ | `assert_file_not_exists path [msg]` | File doesn't exist |
72
+ | `assert_dir_exists path [msg]` | Directory exists |
73
+ | `assert_dir_not_exists path [msg]` | Directory doesn't exist |
74
+ | `assert_true condition [msg]` | Condition is true |
75
+ | `assert_false condition [msg]` | Condition is false |
76
+ | `assert_empty value [msg]` | String is empty |
77
+ | `assert_not_empty value [msg]` | String isn't empty |
78
+ | `assert_file_contains file needle [msg]` | File contains text |
79
+ | `assert_file_not_contains file needle [msg]` | File lacks text |
80
+
81
+ ### Mock utilities
82
+
83
+ | Function | Description |
84
+ |----------|-------------|
85
+ | `mock_init` | Initialize mock environment |
86
+ | `mock_command name output [exit_code]` | Create a mock command |
87
+ | `mock_command_spy name [output] [exit_code]` | Create a mock that records calls |
88
+ | `mock_get_calls name` | Get spy call history |
89
+ | `mock_call_count name` | Get number of spy calls |
90
+ | `mock_file content [filename]` | Create temp file with content |
91
+ | `mock_dir [prefix]` | Create temp directory |
92
+ | `mock_archive type [content]` | Create a mock archive file |
93
+ | `mock_env var_name value` | Set an environment variable |
94
+ | `mock_cleanup` | Clean up all mocks |
95
+
96
+ ## Test categories
97
+
98
+ ### Unit tests (`tests/unit/`)
99
+
100
+ Test individual functions in isolation. Each file follows the `test_*.sh` naming convention and is discoverable with `ls tests/unit/`.
101
+
102
+ ### Integration tests (`tests/integration/`)
103
+
104
+ Test complete workflows like the installation script and end-to-end apply behavior.
105
+
106
+ ### Performance tests (`tests/performance/`)
107
+
108
+ Measure resource efficiency with shell startup benchmarks and load tests.
109
+
110
+ ## Coverage goals
111
+
112
+ | Category | Target | Current |
113
+ |----------|--------|---------|
114
+ | Module coverage | >=95% | 100% |
115
+ | Unit test files | - | 425 |
116
+ | Integration test files | - | 11 |
117
+ | Total test files | - | 436 |
118
+ | Named tests (`test_start`) | - | 2149 |
119
+ | Unit test pass rate | 100% | 100% |
120
+
121
+ CI enforces module coverage via:
122
+
123
+ ```bash
124
+ MIN_COVERAGE=95 ./tests/framework/module_coverage.sh
125
+ ```
126
+
127
+ For a current local baseline, run:
128
+
129
+ ```bash
130
+ bash ./scripts/qa/coverage-baseline.sh --with-module-coverage
131
+ ```
132
+
133
+ For core internal behavior traceability, run:
134
+
135
+ ```bash
136
+ bash ./scripts/qa/traceability-coverage.sh
137
+ ```
138
+
139
+ ## CI integration
140
+
141
+ Tests run automatically on every push to main, every pull request, and weekly scheduled runs (Monday 6 AM UTC).
142
+
143
+ ### GitHub Actions example
144
+
145
+ ```yaml
146
+ - name: Run Tests
147
+ run: |
148
+ chmod +x ./tests/framework/test_runner.sh
149
+ ./tests/framework/test_runner.sh
150
+
151
+ - name: Run Integration Tests
152
+ run: |
153
+ RUN_INTEGRATION=1 ./tests/framework/test_runner.sh
154
+
155
+ - name: Run Performance Benchmarks
156
+ run: |
157
+ ./tests/performance/benchmark_runner.sh
158
+ ```
159
+
160
+ ## Environment variables
161
+
162
+ | Variable | Default | Description |
163
+ |----------|---------|-------------|
164
+ | `RUN_INTEGRATION` | `0` | Set to `1` to include integration tests |
165
+ | `VERBOSE` | `0` | Set to `1` for verbose output |
166
+ | `REPO_ROOT` | Auto-detected | Repository root directory |
167
+ | `TESTS_DIR` | Auto-detected | Tests directory |
168
+
169
+ ## Best practices
170
+
171
+ 1. **Isolation** -- Each test should be independent and self-contained.
172
+ 2. **Cleanup** -- Use mocks that auto-cleanup via traps.
173
+ 3. **No sleep** -- Avoid `sleep` or hardcoded delays.
174
+ 4. **Descriptive names** -- Test names should describe what's being verified.
175
+ 5. **Edge cases** -- Test error conditions, not just happy paths.
176
+ 6. **Security** -- Include tests for dangerous input rejection.
177
+
178
+ ## Troubleshooting
179
+
180
+ ### Tests not found
181
+
182
+ Make sure test files match the `test_*.sh` pattern and are executable:
183
+
184
+ ```bash
185
+ chmod +x tests/unit/test_*.sh
186
+ chmod +x tests/integration/test_*.sh
187
+ ```
188
+
189
+ ### Function not available
190
+
191
+ If a test reports "function not available", verify the source file exists:
192
+
193
+ ```bash
194
+ ls -la .chezmoitemplates/functions/
195
+ ```
196
+
197
+ ### Mock cleanup issues
198
+
199
+ If mocks aren't cleaning up, make sure you aren't running with `set -e` before mock operations that might intentionally fail.
@@ -0,0 +1,35 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Behavioral Traceability
6
+
7
+ This matrix ties core internal behaviors to implementation files, automated tests, and prose documentation.
8
+
9
+ It is enforced by `bash ./scripts/qa/traceability-coverage.sh`.
10
+
11
+ | Behavior ID | Behavior | Implementation | Test Evidence | Documentation |
12
+ |-------------|----------|----------------|---------------|---------------|
13
+ | BT-01 | AI status, launcher, and cache lifecycle | `scripts/dot/commands/ai.sh` | `tests/unit/dot-cli/test_dot_commands_ai.sh` | `docs/AI.md`, `docs/reference/UTILS.md` |
14
+ | BT-02 | Agent profiles, checkpoints, and conformance | `scripts/dot/commands/agent.sh` | `tests/unit/dot-cli/test_dot_commands_agent.sh`, `tests/unit/dot-cli/test_dot_agent_mode.sh`, `tests/unit/dot-cli/test_dot_a2a_conformance.sh` | `docs/operations/TRUSTED_AGENT_WORKSTATION.md`, `docs/interop/A2A.md`, `docs/reference/UTILS.md` |
15
+ | BT-03 | MCP policy validation and registry inspection | `scripts/dot/commands/meta.sh`, `scripts/diagnostics/mcp-doctor.sh` | `tests/unit/dot-cli/test_dot_commands_meta.sh`, `tests/unit/dot-cli/test_dot_cli.sh` | `docs/security/MCP_POLICY.md`, `docs/operations/TRUSTED_AGENT_WORKSTATION.md`, `docs/reference/UTILS.md` |
16
+ | BT-04 | Fleet status, drift, namespace, and events workflows | `scripts/dot/commands/fleet.sh` | `tests/unit/dot-cli/test_dot_commands_fleet.sh`, `tests/unit/dot-cli/test_dot_fleet_enforcement.sh` | `docs/operations/TRUSTED_AGENT_WORKSTATION.md`, `docs/operations/ATTESTATION.md`, `docs/reference/UTILS.md` |
17
+ | BT-05 | Secrets command surface and shell autoload buckets | `scripts/dot/commands/secrets.sh`, `dot_config/shell/10-secrets.sh` | `tests/unit/dot-cli/test_dot_commands_secrets.sh`, `tests/unit/shell/test_shell_secrets_autoload.sh` | `docs/security/SECRETS.md`, `docs/reference/UTILS.md` |
18
+ | BT-06 | Theme synchronization and multi-tool theme application | `dot_local/bin/executable_dot-theme-sync` | `tests/unit/theme/test_dot_theme_sync.sh` | `docs/guides/THEMING.md`, `docs/reference/THEMES.md`, `docs/reference/SCRIPTS.md` |
19
+ | BT-07 | Reliability audit orchestration | `scripts/qa/reliability-audit.sh` | `tests/unit/misc/test_qa_reliability.sh`, `tests/unit/misc/test_qa_reliability_behaviour.sh` | `docs/operations/RELIABILITY.md`, `docs/operations/TESTING.md` |
20
+ | BT-08 | Repository coverage baseline audit | `scripts/qa/coverage-baseline.sh` | `tests/unit/misc/test_qa_coverage_baseline.sh` | `docs/operations/RELIABILITY.md`, `docs/operations/TESTING.md` |
21
+ | BT-09 | Documentation coverage contract for public surfaces | `scripts/qa/docs-coverage.sh` | `tests/unit/misc/test_qa_docs_coverage.sh`, `tests/unit/misc/test_qa_docs_repo_coverage.sh` | `docs/operations/RELIABILITY.md`, `docs/reference/UTILS.md`, `docs/reference/SCRIPTS.md` |
22
+ | BT-10 | Repository executable-surface coverage gate | `tests/framework/module_coverage.sh` | `tests/unit/tools/test_public_entrypoints.sh`, `tests/unit/misc/test_module_coverage_behaviour.sh` | `docs/operations/TESTING.md`, `docs/security/VERIFICATION_VALIDATION.md`, `docs/reference/SCRIPTS.md` |
23
+ | BT-11 | Core apply, diff, status, edit, and commit workflows | `scripts/dot/commands/core.sh` | `tests/unit/dot-cli/test_dot_commands_core.sh`, `tests/unit/dot-cli/test_dot_cli.sh` | `docs/reference/UTILS.md` |
24
+ | BT-12 | Alias discovery, search, and governance workflows | `scripts/dot/commands/aliases.sh` | `tests/unit/dot-cli/test_dot_commands_aliases.sh` | `docs/reference/ALIASES.md`, `docs/reference/UTILS.md` |
25
+ | BT-13 | Appearance and theme command workflows | `scripts/dot/commands/appearance.sh` | `tests/unit/dot-cli/test_dot_commands_appearance.sh` | `docs/guides/THEMING.md`, `docs/reference/UTILS.md` |
26
+ | BT-14 | Diagnostics command workflows | `scripts/dot/commands/diagnostics.sh` | `tests/unit/dot-cli/test_dot_commands_diagnostics.sh` | `docs/operations/RELIABILITY.md`, `docs/reference/UTILS.md` |
27
+ | BT-15 | Lint command workflow | `scripts/dot/commands/lint.sh` | `tests/unit/dot-cli/test_dot_commands_lint.sh`, `tests/unit/dot-cli/test_lint.sh` | `docs/operations/TESTING.md`, `docs/reference/UTILS.md` |
28
+ | BT-16 | AI steering pattern workflows | `scripts/dot/commands/patterns.sh` | `tests/unit/dot-cli/test_dot_commands_patterns.sh` | `docs/AI.md` |
29
+ | BT-17 | Restore and rollback workflows | `scripts/dot/commands/restore.sh` | `tests/unit/dot-cli/test_dot_commands_restore.sh` | `docs/reference/UTILS.md` |
30
+ | BT-18 | Security command workflows | `scripts/dot/commands/security.sh` | `tests/unit/dot-cli/test_dot_commands_security.sh` | `docs/reference/UTILS.md`, `docs/security/COMPLIANCE.md` |
31
+ | BT-19 | Tool catalog and sandbox workflows | `scripts/dot/commands/tools.sh` | `tests/unit/dot-cli/test_dot_commands_tools.sh` | `docs/reference/TOOLS.md`, `docs/reference/UTILS.md` |
32
+ | BT-20 | Example validation contract | `scripts/qa/validate-examples.sh` | `tests/unit/misc/test_qa_reliability.sh` | `docs/operations/RELIABILITY.md` |
33
+ | BT-21 | WSL parity contract | `scripts/qa/wsl-contract.sh` | `tests/unit/misc/test_qa_reliability.sh` | `docs/operations/RELIABILITY.md`, `docs/reference/SUPPORT_MATRIX.md` |
34
+ | BT-22 | Internal behavior traceability contract | `scripts/qa/traceability-coverage.sh` | `tests/unit/misc/test_qa_traceability_coverage.sh` | `docs/operations/TRACEABILITY.md`, `docs/operations/RELIABILITY.md` |
35
+ | BT-23 | Multi-format Manual pipeline | `scripts/docs/build-manual.sh`, `scripts/docs/check-manual.sh`, `scripts/dot/commands/manual.sh` | `tests/unit/docs/test_build_manual.sh`, `tests/unit/docs/test_check_manual.sh`, `tests/unit/dot-cli/test_dot_commands_manual.sh` | `docs/manual/`, `docs/README.md`, `README.md` |
@@ -0,0 +1,65 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Trusted Agent Workstation
6
+
7
+ This repository is more than shell setup.
8
+
9
+ It defines a signed, local-first workstation baseline for agentic development on macOS, Linux, WSL, and PowerShell.
10
+
11
+ ## Core model
12
+
13
+ - bounded agent profiles
14
+ - tracked MCP policy and registry
15
+ - workstation attestation
16
+ - signed commits and verified merges
17
+ - cross-platform CLI and diagnostics
18
+
19
+ ## Governance artifacts
20
+
21
+ The source of truth lives in tracked JSON artifacts:
22
+
23
+ - [policy-bundles.json](/home/seb/.dotfiles/dot_config/dotfiles/policy-bundles.json)
24
+ - [agent-profiles.json](/home/seb/.dotfiles/dot_config/dotfiles/agent-profiles.json)
25
+ - [mcp-policy.json](/home/seb/.dotfiles/dot_config/dotfiles/mcp-policy.json)
26
+ - [mcp-registry.json](/home/seb/.dotfiles/dot_config/dotfiles/mcp-registry.json)
27
+ - [model-registry.json](/home/seb/.dotfiles/dot_config/dotfiles/model-registry.json)
28
+ - [prompt-registry.json](/home/seb/.dotfiles/dot_config/dotfiles/prompt-registry.json)
29
+
30
+ ## Enterprise path
31
+
32
+ Phase 1 establishes:
33
+
34
+ - product framing
35
+ - policy bundles
36
+ - prompt and model change control
37
+ - attestation evidence for governance state
38
+
39
+ Implemented next-layer controls:
40
+
41
+ - filesystem-backed fleet attestation export
42
+ - replayable agent checkpoints
43
+ - signed policy bundle release workflow
44
+ - tracked A2A conformance validation
45
+
46
+ Further phases add:
47
+
48
+ - central audit export
49
+ - fleet drift dashboards
50
+ - checkpoint policies and retention controls
51
+ - broader protocol interoperability coverage
52
+
53
+ ## Validation
54
+
55
+ Run:
56
+
57
+ ```bash
58
+ dot doctor
59
+ dot mcp --strict
60
+ dot mode list
61
+ dot agent card --json
62
+ dot attest --json
63
+ ```
64
+
65
+ Every governance change requires a signed commit.