@sebastienrousseau/dotfiles 0.2.502 → 0.2.503

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 (412) hide show
  1. package/CHANGELOG.md +83 -9
  2. package/LICENSE +21 -1283
  3. package/README.md +5 -3
  4. package/docs/CONFIG_STRATEGY.md +124 -0
  5. package/docs/COPYRIGHT +1 -1
  6. package/docs/GOVERNANCE.md +98 -0
  7. package/docs/MAINTAINERS.md +41 -0
  8. package/docs/OPENCODE.md +127 -0
  9. package/docs/README.md +2 -0
  10. package/docs/STRUCTURE.md +102 -0
  11. package/docs/adr/ADR-011-nushell-tier3-keep.md +2 -2
  12. package/docs/architecture/AI_COST_OPTIMIZATION.md +143 -0
  13. package/docs/architecture/REPO_LAYOUT.md +8 -8
  14. package/docs/archive/MILESTONE_v0.2.493.md +1 -1
  15. package/docs/index.md +2 -2
  16. package/docs/interop/POWERSHELL.md +1 -1
  17. package/docs/manual/00-introduction.md +1 -1
  18. package/docs/manual/01-concepts/02-trust-model.md +1 -1
  19. package/docs/manual/03-reference/02-config-files.md +2 -2
  20. package/docs/manual/_toc.yml +1 -1
  21. package/docs/manual/command-index.md +72 -59
  22. package/docs/operations/CI_COMPOSITES.md +2 -2
  23. package/docs/operations/COMPLETIONS.md +2 -2
  24. package/docs/operations/COVERAGE.md +5 -5
  25. package/docs/operations/HARD_AUDIT_2026.md +11 -11
  26. package/docs/operations/MAINTENANCE.md +3 -3
  27. package/docs/operations/MANIFEST.md +127 -0
  28. package/docs/operations/RELEASE_PIPELINE.md +130 -0
  29. package/docs/operations/RFC_v0_2_503_reorganization.md +280 -0
  30. package/docs/operations/ROADMAP_2026.md +6 -6
  31. package/docs/operations/ROADMAP_V0_2_503.md +134 -0
  32. package/docs/operations/TESTING.md +17 -0
  33. package/docs/operations/TRACEABILITY.md +6 -3
  34. package/docs/operations/VERSION_SYNC.md +4 -4
  35. package/docs/reference/POWERSHELL_PARITY.md +8 -7
  36. package/docs/schema/dot-env-v1.json +110 -0
  37. package/docs/security/CI_EGRESS_ALLOWLIST.md +1 -1
  38. package/docs/security/CI_PINNING.md +17 -9
  39. package/docs/security/DEPS_DEV_EXCEPTIONS.md +2 -2
  40. package/docs/security/FUZZING.md +114 -0
  41. package/docs/security/INSTALL_VERIFICATION.md +2 -2
  42. package/docs/security/POLICY_RELEASES.md +2 -2
  43. package/docs/security/SCORECARD.md +58 -3
  44. package/docs/security/SHELL_EXEMPTIONS.md +4 -4
  45. package/docs/security/VERIFY_RELEASE.md +201 -0
  46. package/install.sh +27 -5
  47. package/package.json +1 -1
  48. package/scripts/README.md +123 -0
  49. package/scripts/ci/check-copyright-headers.sh +4 -93
  50. package/scripts/ci/check-shell-preamble.sh +4 -103
  51. package/scripts/ci/guard-gitleaks-checkout.sh +4 -54
  52. package/scripts/diagnostics/a2a-conformance.sh +4 -4
  53. package/scripts/diagnostics/alias-governance.sh +1 -1
  54. package/scripts/diagnostics/aliases-cheatsheet.sh +2 -2
  55. package/scripts/diagnostics/benchmark.sh +4 -4
  56. package/scripts/diagnostics/conflicts.sh +2 -2
  57. package/scripts/diagnostics/doctor-unified.sh +2 -2
  58. package/scripts/diagnostics/doctor.sh +10 -10
  59. package/scripts/diagnostics/drift-dashboard.sh +2 -2
  60. package/scripts/diagnostics/health.sh +4 -4
  61. package/scripts/diagnostics/history-analysis.sh +2 -2
  62. package/scripts/diagnostics/mcp-doctor.sh +10 -7
  63. package/scripts/diagnostics/perf.sh +4 -4
  64. package/scripts/diagnostics/scorecard.sh +4 -4
  65. package/scripts/diagnostics/security-score.sh +2 -2
  66. package/scripts/diagnostics/smoke-test.sh +2 -2
  67. package/scripts/diagnostics/snapshot.sh +2 -2
  68. package/scripts/diagnostics/verify.sh +4 -4
  69. package/scripts/diagnostics/version-locks.sh +2 -2
  70. package/scripts/diagnostics/workstation-attestation.sh +14 -14
  71. package/scripts/dot/commands/agent.sh +8 -0
  72. package/scripts/dot/commands/agents.sh +14 -4
  73. package/scripts/dot/commands/ai.sh +144 -25
  74. package/scripts/dot/commands/appearance.sh +2 -2
  75. package/scripts/dot/commands/core.sh +2 -2
  76. package/scripts/dot/commands/diagnostics.sh +5 -5
  77. package/scripts/dot/commands/env-emit.sh +202 -0
  78. package/scripts/dot/commands/fleet.sh +12 -11
  79. package/scripts/dot/commands/init.sh +4 -4
  80. package/scripts/dot/commands/lint.sh +9 -4
  81. package/scripts/dot/commands/manual.sh +3 -3
  82. package/scripts/dot/commands/meta.sh +12 -6
  83. package/scripts/dot/commands/patterns.sh +2 -2
  84. package/scripts/dot/commands/registry.sh +4 -4
  85. package/scripts/dot/commands/restore.sh +4 -4
  86. package/scripts/dot/commands/secrets.sh +4 -3
  87. package/scripts/dot/commands/security.sh +2 -2
  88. package/scripts/dot/commands/tools.sh +13 -3
  89. package/scripts/dot/powershell/Dot.psm1 +199 -0
  90. package/scripts/fonts/install-nerd-fonts.sh +2 -2
  91. package/scripts/git-hooks/pre-commit-audit.sh +2 -2
  92. package/scripts/git-hooks/pre-push +13 -0
  93. package/scripts/ops/ai-setup.sh +1 -1
  94. package/scripts/ops/bundle.sh +2 -2
  95. package/scripts/ops/chaos.sh +2 -2
  96. package/scripts/ops/chezmoi-apply.sh +4 -4
  97. package/scripts/ops/heal.sh +4 -4
  98. package/scripts/ops/post-apply-repair.sh +2 -2
  99. package/scripts/ops/prewarm.sh +2 -2
  100. package/scripts/ops/release.sh +4 -4
  101. package/scripts/ops/rollback.sh +4 -4
  102. package/scripts/ops/setup.sh +2 -2
  103. package/scripts/qa/check-version-consistency.sh +123 -0
  104. package/scripts/qa/coverage-baseline.sh +1 -1
  105. package/scripts/qa/docs-coverage.sh +2 -2
  106. package/scripts/qa/powershell-contract.ps1 +1 -1
  107. package/scripts/qa/scorecard-snapshot.sh +127 -0
  108. package/scripts/security/backup.sh +2 -2
  109. package/scripts/security/dns-doh.sh +4 -4
  110. package/scripts/security/encryption-check.sh +4 -4
  111. package/scripts/security/enforce-policies.sh +2 -2
  112. package/scripts/security/firewall.sh +4 -4
  113. package/scripts/security/lock-screen.sh +4 -4
  114. package/scripts/security/manage-secrets.sh +2 -2
  115. package/scripts/security/ssh-cert.sh +2 -2
  116. package/scripts/security/telemetry-kill.sh +4 -4
  117. package/scripts/security/usb-safety.sh +4 -4
  118. package/scripts/theme/extract-heic-frames.sh +114 -0
  119. package/scripts/theme/rebuild-themes.sh +8 -1
  120. package/scripts/theme/switch.sh +13 -6
  121. package/scripts/theme/wallpaper-sync.sh +297 -93
  122. package/scripts/tuning/linux.sh +2 -2
  123. package/scripts/tuning/macos.sh +2 -2
  124. package/scripts/version-sync.sh +55 -7
  125. package/dot_config/.module-manifest.json +0 -69
  126. package/dot_config/ai/identity.md +0 -23
  127. package/dot_config/ai/patterns/architect.md +0 -16
  128. package/dot_config/ai/patterns/hardener.md +0 -15
  129. package/dot_config/ai/patterns/refactor.md +0 -15
  130. package/dot_config/aider/aider.conf.yml +0 -32
  131. package/dot_config/alacritty/alacritty.toml.tmpl +0 -55
  132. package/dot_config/ansible/ansible.cfg +0 -11
  133. package/dot_config/atuin/config.toml.tmpl +0 -47
  134. package/dot_config/bat/config +0 -23
  135. package/dot_config/brave-flags.conf.tmpl +0 -7
  136. package/dot_config/btop/btop.conf +0 -16
  137. package/dot_config/btop/themes/tokyonight.theme +0 -34
  138. package/dot_config/bun/bunfig.toml.tmpl +0 -33
  139. package/dot_config/claude/mcp_servers.json +0 -20
  140. package/dot_config/containers/containers.conf +0 -14
  141. package/dot_config/curl/dot_curlrc +0 -18
  142. package/dot_config/dlv/config.yml +0 -39
  143. package/dot_config/docker/config.json +0 -15
  144. package/dot_config/dotfiles/agent-card.json +0 -29
  145. package/dot_config/dotfiles/agent-profiles.json +0 -92
  146. package/dot_config/dotfiles/boot/README.md +0 -13
  147. package/dot_config/dotfiles/grub/README.md +0 -13
  148. package/dot_config/dotfiles/lock/README.md +0 -13
  149. package/dot_config/dotfiles/mcp-lock.json +0 -33
  150. package/dot_config/dotfiles/mcp-policy.json +0 -52
  151. package/dot_config/dotfiles/mcp-registry.json +0 -47
  152. package/dot_config/dotfiles/model-registry.json +0 -20
  153. package/dot_config/dotfiles/policy-bundles.json +0 -38
  154. package/dot_config/dotfiles/prompt-registry.json +0 -16
  155. package/dot_config/dotfiles/versions.env +0 -18
  156. package/dot_config/duf/duf.conf +0 -6
  157. package/dot_config/duti/defaults.duti +0 -5
  158. package/dot_config/emoji/emoji.txt +0 -34
  159. package/dot_config/environment.d/50-ssh-agent.conf +0 -2
  160. package/dot_config/environment.d/90-wayland.conf +0 -19
  161. package/dot_config/fastfetch/config.jsonc +0 -28
  162. package/dot_config/firefox/user.js.tmpl +0 -58
  163. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +0 -9
  164. package/dot_config/fish/completions/dot.fish.tmpl +0 -115
  165. package/dot_config/fish/conf.d/000-perf-cache.fish +0 -56
  166. package/dot_config/fish/conf.d/aliases.fish.tmpl +0 -77
  167. package/dot_config/fish/conf.d/direnv.fish +0 -4
  168. package/dot_config/fish/conf.d/env.fish.tmpl +0 -48
  169. package/dot_config/fish/conf.d/functions.fish.tmpl +0 -22
  170. package/dot_config/fish/conf.d/init.fish.tmpl +0 -172
  171. package/dot_config/fish/conf.d/mise-activate.fish +0 -5
  172. package/dot_config/fish/config.fish.tmpl +0 -44
  173. package/dot_config/fish/fish_plugins +0 -1
  174. package/dot_config/fish/functions/_.fish +0 -3
  175. package/dot_config/fish/functions/_cached_eval.fish +0 -131
  176. package/dot_config/fish/functions/_cached_eval_clear.fish +0 -17
  177. package/dot_config/fish/functions/als.fish +0 -46
  178. package/dot_config/fish/functions/bg-upgrade.fish +0 -7
  179. package/dot_config/fish/functions/c.fish +0 -3
  180. package/dot_config/fish/functions/cat.fish +0 -9
  181. package/dot_config/fish/functions/d.fish +0 -7
  182. package/dot_config/fish/functions/dot.fish +0 -34
  183. package/dot_config/fish/functions/h.fish +0 -3
  184. package/dot_config/fish/functions/l.fish +0 -7
  185. package/dot_config/fish/functions/la.fish +0 -7
  186. package/dot_config/fish/functions/ll.fish +0 -7
  187. package/dot_config/fish/functions/log_error.fish +0 -13
  188. package/dot_config/fish/functions/log_info.fish +0 -13
  189. package/dot_config/fish/functions/lr.fish +0 -7
  190. package/dot_config/fish/functions/lra.fish +0 -7
  191. package/dot_config/fish/functions/ls.fish +0 -7
  192. package/dot_config/fish/functions/lt.fish +0 -7
  193. package/dot_config/fish/functions/lta.fish +0 -7
  194. package/dot_config/fish/functions/notify-run.fish +0 -11
  195. package/dot_config/fish/functions/q.fish +0 -3
  196. package/dot_config/fish/functions/silent-run.fish +0 -7
  197. package/dot_config/fish/functions/yy.fish +0 -8
  198. package/dot_config/flatpak/flatpak.list +0 -4
  199. package/dot_config/fontconfig/fonts.conf.tmpl +0 -57
  200. package/dot_config/foot/foot.ini.tmpl +0 -33
  201. package/dot_config/fuzzel/fuzzel.ini.tmpl +0 -18
  202. package/dot_config/fzf/fzf.zsh +0 -48
  203. package/dot_config/gem/gemrc +0 -9
  204. package/dot_config/gh/config.yml +0 -12
  205. package/dot_config/ghostty/config.tmpl +0 -165
  206. package/dot_config/git/allowed_signers.tmpl +0 -18
  207. package/dot_config/git/attributes +0 -12
  208. package/dot_config/git/commit-template +0 -10
  209. package/dot_config/git/hooks/executable_commit-msg +0 -146
  210. package/dot_config/git/ignore +0 -27
  211. package/dot_config/gnupg/gpg-agent.conf +0 -11
  212. package/dot_config/go/golangci.yml +0 -118
  213. package/dot_config/go/gopls.json +0 -30
  214. package/dot_config/goose/config.yaml +0 -29
  215. package/dot_config/gtk-3.0/gtk.css.tmpl +0 -184
  216. package/dot_config/gtk-3.0/settings.ini.tmpl +0 -27
  217. package/dot_config/gtk-4.0/gtk.css.tmpl +0 -252
  218. package/dot_config/gtk-4.0/settings.ini.tmpl +0 -18
  219. package/dot_config/htop/htoprc +0 -20
  220. package/dot_config/inputrc +0 -2
  221. package/dot_config/ipython/profile_default/ipython_config.py +0 -19
  222. package/dot_config/just/justfile +0 -122
  223. package/dot_config/k9s/config.yaml +0 -65
  224. package/dot_config/k9s/skins/catppuccin-mocha.yaml +0 -116
  225. package/dot_config/kanshi/config.tmpl +0 -22
  226. package/dot_config/karabiner/karabiner.json +0 -14
  227. package/dot_config/kitty/kitty.conf.tmpl +0 -53
  228. package/dot_config/lazydocker/config.yml +0 -186
  229. package/dot_config/lazygit/config.yml +0 -35
  230. package/dot_config/mako/config +0 -47
  231. package/dot_config/mas/masapps.txt +0 -5
  232. package/dot_config/micro/settings.json +0 -3
  233. package/dot_config/mimeapps.list +0 -77
  234. package/dot_config/minikube/config.json +0 -13
  235. package/dot_config/mise/config.toml +0 -99
  236. package/dot_config/mongosh/mongoshrc.js +0 -68
  237. package/dot_config/mpv/input.conf +0 -47
  238. package/dot_config/mpv/mpv.conf +0 -47
  239. package/dot_config/mycli/myclirc +0 -67
  240. package/dot_config/nano/nanorc +0 -28
  241. package/dot_config/ncdu/config +0 -12
  242. package/dot_config/niri/config.kdl.tmpl +0 -327
  243. package/dot_config/nushell/aliases.nu +0 -18
  244. package/dot_config/nushell/cached_eval.nu +0 -80
  245. package/dot_config/nushell/completions.nu.tmpl +0 -52
  246. package/dot_config/nushell/config.nu.tmpl +0 -86
  247. package/dot_config/nushell/env.nu.tmpl +0 -102
  248. package/dot_config/nushell/functions.nu.tmpl +0 -17
  249. package/dot_config/nvim/init.lua +0 -18
  250. package/dot_config/nvim/lazy-lock.json +0 -58
  251. package/dot_config/nvim/lua/config/autocmds.lua +0 -107
  252. package/dot_config/nvim/lua/config/keymaps.lua +0 -92
  253. package/dot_config/nvim/lua/config/lazy.lua +0 -44
  254. package/dot_config/nvim/lua/config/options.lua +0 -49
  255. package/dot_config/nvim/lua/plugins/ai.lua +0 -75
  256. package/dot_config/nvim/lua/plugins/coding.lua +0 -216
  257. package/dot_config/nvim/lua/plugins/completion.lua +0 -60
  258. package/dot_config/nvim/lua/plugins/dap.lua +0 -412
  259. package/dot_config/nvim/lua/plugins/editor.lua +0 -55
  260. package/dot_config/nvim/lua/plugins/git.lua +0 -10
  261. package/dot_config/nvim/lua/plugins/lsp.lua +0 -156
  262. package/dot_config/nvim/lua/plugins/markdown.lua +0 -18
  263. package/dot_config/nvim/lua/plugins/rust.lua +0 -34
  264. package/dot_config/nvim/lua/plugins/sessions.lua +0 -33
  265. package/dot_config/nvim/lua/plugins/ui.lua +0 -509
  266. package/dot_config/paru/paru.conf +0 -10
  267. package/dot_config/pip/pip.conf.tmpl +0 -32
  268. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +0 -81
  269. package/dot_config/pueue/pueue.yml +0 -34
  270. package/dot_config/pypoetry/config.toml +0 -6
  271. package/dot_config/pyrightconfig.json +0 -5
  272. package/dot_config/raycast/README.md +0 -13
  273. package/dot_config/redis/redisclirc +0 -41
  274. package/dot_config/ripgrep/ripgreprc +0 -21
  275. package/dot_config/shell/00-core-paths.sh.tmpl +0 -141
  276. package/dot_config/shell/05-core-safety.sh +0 -48
  277. package/dot_config/shell/10-secrets.sh +0 -41
  278. package/dot_config/shell/40-fzf-defaults.sh.tmpl +0 -17
  279. package/dot_config/shell/40-ls-colors.sh +0 -49
  280. package/dot_config/shell/50-logic-functions-core.sh.tmpl +0 -11
  281. package/dot_config/shell/50-logic-functions.sh.tmpl +0 -11
  282. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +0 -65
  283. package/dot_config/shell/90-ux-aliases.sh.tmpl +0 -121
  284. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +0 -55
  285. package/dot_config/shell/Brewfile +0 -207
  286. package/dot_config/shell/Brewfile.cask +0 -92
  287. package/dot_config/shell/Brewfile.cli +0 -127
  288. package/dot_config/shell/README.md +0 -284
  289. package/dot_config/shell/als_data.txt.tmpl +0 -65
  290. package/dot_config/shell/custom/auto_ls.zsh +0 -20
  291. package/dot_config/shell/custom/context_suggest.zsh +0 -68
  292. package/dot_config/shell/custom/error_analysis.zsh +0 -45
  293. package/dot_config/sops/dot_sops.yaml +0 -23
  294. package/dot_config/starship.toml.tmpl +0 -202
  295. package/dot_config/swaylock/config +0 -43
  296. package/dot_config/systemd/user/dotfiles-maintenance.service +0 -8
  297. package/dot_config/systemd/user/dotfiles-maintenance.timer +0 -11
  298. package/dot_config/systemd/user/pueued.service +0 -12
  299. package/dot_config/systemd/user/ssh-agent.service +0 -12
  300. package/dot_config/task/Taskfile.yml +0 -86
  301. package/dot_config/tflint/tflint.hcl +0 -9
  302. package/dot_config/tmux/tmux.conf.tmpl +0 -223
  303. package/dot_config/topgrade.toml.tmpl +0 -54
  304. package/dot_config/user-dirs.dirs +0 -10
  305. package/dot_config/vscode/extensions.txt +0 -11
  306. package/dot_config/vscode/settings.json.tmpl +0 -82
  307. package/dot_config/waybar/config.jsonc.tmpl +0 -90
  308. package/dot_config/waybar/style.css.tmpl +0 -211
  309. package/dot_config/wezterm/wezterm.lua.tmpl +0 -64
  310. package/dot_config/wget/wgetrc +0 -12
  311. package/dot_config/xdg-desktop-portal/niri-portals.conf +0 -5
  312. package/dot_config/yarn/yarnrc.yml +0 -36
  313. package/dot_config/yazi/keymap.toml +0 -67
  314. package/dot_config/yazi/theme.toml +0 -102
  315. package/dot_config/yazi/yazi.toml +0 -40
  316. package/dot_config/zathura/zathurarc +0 -52
  317. package/dot_config/zellij/config.kdl.tmpl +0 -79
  318. package/dot_config/zsh/dot_zprofile +0 -7
  319. package/dot_config/zsh/dot_zshenv +0 -5
  320. package/dot_config/zsh/dot_zshrc.tmpl +0 -688
  321. package/dot_config/zsh/rc.d/00-alias-shims.zsh +0 -99
  322. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +0 -18
  323. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +0 -28
  324. package/dot_config/zsh/rc.d/20-zinit.zsh +0 -65
  325. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +0 -214
  326. package/dot_config/zsh/rc.d/40-bell.zsh +0 -20
  327. package/dot_config/zsh/rc.d/50-login-fortune.zsh +0 -9
  328. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +0 -32
  329. package/dot_local/bin/executable_ai-update +0 -195
  330. package/dot_local/bin/executable_ai_core +0 -152
  331. package/dot_local/bin/executable_antigravity +0 -11
  332. package/dot_local/bin/executable_b64 +0 -84
  333. package/dot_local/bin/executable_bm +0 -79
  334. package/dot_local/bin/executable_cb +0 -39
  335. package/dot_local/bin/executable_dot +0 -636
  336. package/dot_local/bin/executable_dot-ai +0 -36
  337. package/dot_local/bin/executable_dot-bootstrap +0 -76
  338. package/dot_local/bin/executable_dot-launch-or-focus +0 -52
  339. package/dot_local/bin/executable_dot-load-benchmark +0 -31
  340. package/dot_local/bin/executable_dot-load-benchmark-pty +0 -77
  341. package/dot_local/bin/executable_dot-theme-sync +0 -952
  342. package/dot_local/bin/executable_dot_completion +0 -57
  343. package/dot_local/bin/executable_dtags +0 -28
  344. package/dot_local/bin/executable_epoch +0 -67
  345. package/dot_local/bin/executable_extract +0 -41
  346. package/dot_local/bin/executable_gbd +0 -52
  347. package/dot_local/bin/executable_gd +0 -42
  348. package/dot_local/bin/executable_git-ai-commit +0 -175
  349. package/dot_local/bin/executable_git-ai-diff +0 -169
  350. package/dot_local/bin/executable_gl +0 -101
  351. package/dot_local/bin/executable_hash +0 -161
  352. package/dot_local/bin/executable_hashsum +0 -160
  353. package/dot_local/bin/executable_hex +0 -115
  354. package/dot_local/bin/executable_jsonv +0 -78
  355. package/dot_local/bin/executable_jwt +0 -94
  356. package/dot_local/bin/executable_kill-port +0 -75
  357. package/dot_local/bin/executable_lorem +0 -118
  358. package/dot_local/bin/executable_mkscript +0 -35
  359. package/dot_local/bin/executable_monitor +0 -56
  360. package/dot_local/bin/executable_myip +0 -51
  361. package/dot_local/bin/executable_notify +0 -24
  362. package/dot_local/bin/executable_open +0 -38
  363. package/dot_local/bin/executable_pw +0 -27
  364. package/dot_local/bin/executable_rec-start +0 -46
  365. package/dot_local/bin/executable_rec-stop +0 -35
  366. package/dot_local/bin/executable_regex +0 -132
  367. package/dot_local/bin/executable_start-niri +0 -8
  368. package/dot_local/bin/executable_tmux-sessionizer +0 -314
  369. package/dot_local/bin/executable_tour +0 -177
  370. package/dot_local/bin/executable_up +0 -23
  371. package/dot_local/bin/executable_update +0 -142
  372. package/dot_local/bin/executable_uuid +0 -87
  373. package/dot_local/bin/executable_win +0 -32
  374. package/dot_local/bin/executable_yamlv +0 -57
  375. package/dot_local/share/bash-completion/completions/dot +0 -72
  376. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  377. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  378. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  379. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  380. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  381. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  382. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  383. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  384. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  385. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  386. package/dot_local/share/man/man1/dot.1 +0 -149
  387. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +0 -64
  388. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +0 -18
  389. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +0 -13
  390. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +0 -6
  391. package/dot_local/share/zsh/completions/.keep +0 -0
  392. package/dot_local/share/zsh/completions/_dot +0 -287
  393. package/scripts/ci/check-dangerous-chmod.sh +0 -19
  394. package/scripts/ci/check-deps-dev.sh +0 -236
  395. package/scripts/ci/check-insecure-tls.sh +0 -61
  396. package/scripts/ci/check-regression-traceability.sh +0 -67
  397. package/scripts/ci/dot-cli-startup-bench.sh +0 -126
  398. package/scripts/ci/install-chezmoi-verified.sh +0 -67
  399. package/scripts/ci/lint-reusable-pins.sh +0 -78
  400. package/scripts/ci/run-coverage.sh +0 -451
  401. package/scripts/ci/validate-chezmoidata.sh +0 -25
  402. package/scripts/ci/validate-ci-config.sh +0 -224
  403. package/scripts/ci/windows-smoke-test.ps1 +0 -136
  404. package/scripts/docs/build-manual.sh +0 -883
  405. package/scripts/docs/check-manual.sh +0 -213
  406. package/scripts/dot/lib/bento.sh +0 -50
  407. package/scripts/dot/lib/log.sh +0 -200
  408. package/scripts/dot/lib/platform.sh +0 -112
  409. package/scripts/dot/lib/ui.sh +0 -650
  410. package/scripts/dot/lib/utils.sh +0 -377
  411. package/scripts/maintenance/check-updates.sh +0 -131
  412. package/scripts/release/package-policy-bundles.sh +0 -125
@@ -1,636 +0,0 @@
1
- #!/usr/bin/env bash
2
- # shellcheck disable=SC2034
3
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
4
- set -euo pipefail
5
-
6
- # Dotfiles CLI Entry Point - v0.2.502
7
-
8
- # Ensure XDG Base Directory variables are set
9
- export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
10
- export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
11
- export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
12
- export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
13
-
14
- # Ensure PIPX paths are set
15
- export PIPX_HOME="${XDG_DATA_HOME}/pipx"
16
- export PIPX_BIN_DIR="${HOME}/.local/bin"
17
-
18
- # Ensure Nix is in PATH if installed
19
- if [ -e "${HOME}/.nix-profile/etc/profile.d/nix.sh" ]; then
20
- # shellcheck disable=SC1091
21
- . "${HOME}/.nix-profile/etc/profile.d/nix.sh"
22
- fi
23
-
24
- VERSION="0.2.502"
25
-
26
- COMMAND="${1:-}"
27
- if [ -n "${1:-}" ]; then
28
- shift
29
- fi
30
-
31
- # Resolve source directory (needed early for ui.sh sourcing)
32
- _resolve_source_dir() {
33
- local dir=""
34
- local script_path=""
35
- local script_dir=""
36
- local repo_candidate=""
37
-
38
- if script_path="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd 2>/dev/null)"; then
39
- script_dir="$script_path"
40
- repo_candidate="$(cd "$script_dir/../.." && pwd 2>/dev/null || true)"
41
- if [ -n "$repo_candidate" ] && [ -f "$repo_candidate/scripts/dot/lib/ui.sh" ]; then
42
- dir="$repo_candidate"
43
- fi
44
- fi
45
-
46
- if [ -z "$dir" ] && [ -n "${CHEZMOI_SOURCE_DIR:-}" ] && [ -d "$CHEZMOI_SOURCE_DIR" ]; then
47
- dir="$CHEZMOI_SOURCE_DIR"
48
- elif [ -z "$dir" ] && [ -d "$HOME/.dotfiles" ]; then
49
- dir="$HOME/.dotfiles"
50
- elif [ -z "$dir" ] && [ -d "$HOME/.local/share/chezmoi" ]; then
51
- dir="$HOME/.local/share/chezmoi"
52
- elif [ -z "$dir" ] && [ -f "package.json" ] && grep -q '"name": "dotfiles"' package.json 2>/dev/null; then
53
- dir="$(pwd)"
54
- fi
55
- echo "$dir"
56
- }
57
-
58
- # Source shared UI library for consistent colors, checkmarks, and formatting.
59
- # Falls back to minimal inline definitions if the source directory is unavailable.
60
- _DOT_SRC="$(_resolve_source_dir)"
61
- if [ -n "$_DOT_SRC" ] && [ -f "$_DOT_SRC/scripts/dot/lib/ui.sh" ]; then
62
- # shellcheck source=../../scripts/dot/lib/ui.sh
63
- # shellcheck disable=SC1091
64
- source "$_DOT_SRC/scripts/dot/lib/ui.sh"
65
- ui_init
66
- else
67
- # Minimal fallback when source dir is not available (e.g. first install)
68
- # shellcheck disable=SC2034
69
- UI_COLOR=0
70
- BOLD=""
71
- NORMAL=""
72
- RED=""
73
- GREEN=""
74
- YELLOW=""
75
- BLUE=""
76
- CYAN=""
77
- GRAY=""
78
- MAGENTA=""
79
- ui_init() {
80
- if [[ -t 1 ]] && [[ -z "${NO_COLOR:-}" ]]; then
81
- UI_COLOR=1
82
- BASH_BOLD=$'\033[1m'
83
- NORMAL=$'\033[0m'
84
- RED=$'\033[38;5;196m'
85
- GREEN=$'\033[38;5;42m'
86
- YELLOW=$'\033[38;5;214m'
87
- BLUE=$'\033[38;5;63m'
88
- CYAN=$'\033[38;5;81m'
89
- GRAY=$'\033[38;5;244m'
90
- MAGENTA=$'\033[38;5;211m'
91
- fi
92
- }
93
- ui_header() {
94
- ui_init
95
- printf "\n %s%s%s\n\n" "${BOLD}${BLUE}" "$1" "$NORMAL"
96
- }
97
- ui_section() {
98
- ui_init
99
- printf " %s%s%s\n" "${BOLD}${CYAN}" "$1" "$NORMAL"
100
- }
101
- ui_cmd() {
102
- ui_init
103
- printf " %s•%s %s%-16s%s %s\n" "$GREEN" "$NORMAL" "$GREEN" "$1" "$NORMAL" "$2"
104
- }
105
- ui_ok() {
106
- ui_init
107
- printf " %s✓%s %-35s %s\n" "$GREEN" "$NORMAL" "$1" "${2:-}"
108
- }
109
- ui_info() {
110
- ui_init
111
- printf " %s•%s %-35s %s\n" "$GRAY" "$NORMAL" "$1" "${2:-}"
112
- }
113
- ui_meta() {
114
- ui_init
115
- printf " %s•%s %-14s %s\n" "$GRAY" "$NORMAL" "$1" "${2:-}"
116
- }
117
- ui_kv() {
118
- ui_init
119
- printf " %s%-14s%s %s\n" "$BOLD" "$1" "$NORMAL" "$2"
120
- }
121
- ui_warn() {
122
- ui_init
123
- printf " %s⚠%s %-35s %s\n" "$YELLOW" "$NORMAL" "$1" "${2:-}"
124
- }
125
- ui_err() {
126
- ui_init
127
- printf " %s✗%s %-35s %s\n" "$RED" "$NORMAL" "$1" "${2:-}" >&2
128
- }
129
- ui_clear_line() { printf '\r\033[K'; }
130
- ui_toast() { case "$1" in success | ok) ui_ok "$2" ;; error | err) ui_err "$2" ;; warn) ui_warn "$2" ;; *) ui_info "$2" ;; esac }
131
- fi
132
-
133
- # Alias ui_fail → ui_err for backward compatibility in this script
134
- ui_fail() { ui_err "$@"; }
135
-
136
- ui_dot_banner() {
137
- local section="${1:-Dot}"
138
- if declare -F ui_product_banner >/dev/null 2>&1; then
139
- ui_product_banner "Dot • $section"
140
- return 0
141
- fi
142
- if declare -F ui_logo_dot >/dev/null 2>&1; then
143
- ui_logo_dot "Dot • $section"
144
- fi
145
- }
146
-
147
- show_version() {
148
- ui_dot_banner "Reference"
149
- ui_header "Dotfiles Version"
150
- echo ""
151
- ui_ok "Version" ".dotfiles $VERSION"
152
- if [[ -n "$_DOT_SRC" ]]; then
153
- ui_ok "Source" "$_DOT_SRC"
154
- fi
155
- }
156
-
157
- _dot_help_overview_specs() {
158
- cat <<'EOF'
159
- Start Here|sync|Apply dotfiles to this machine.|Use after clone or after changes.
160
- Start Here|doctor|Check the environment and surface issues.|Use when something feels off.
161
- Start Here|learn|Open the guided tour.|Best first stop for new users.
162
- Start Here|help|Show the overview or help for one command.|Use `dot help <command>` for detail.
163
- Daily Use|init|Bootstrap a foreign dotfiles repo through chezmoi + dot.|Usage: `dot init <github-user>`.
164
- Daily Use|status|Show local drift.|See what changed since the last apply.
165
- Daily Use|diff|Preview pending changes.|Safe way to inspect before applying.
166
- Daily Use|edit|Open the source directory.|Use the configured editor.
167
- Daily Use|upgrade|Update tools and dotfiles.|Runs the managed upgrade path.
168
- Inspect and Repair|doctor|Run the main health check.|Supports deeper audit flags.
169
- Inspect and Repair|attest|Export workstation evidence.|Use `--json|-j`, `--write|-w`, or `--fleet-store|-F`.
170
- Inspect and Repair|rollback|Return to a previous state.|Use after a broken change.
171
- Inspect and Repair|lint|Check shell script quality.|Supports `--check|-c` and `--fix|-f`.
172
- AI and Agents|ai|Show installed AI tools.|Launches the AI status view.
173
- AI and Agents|mcp|Inspect MCP policy and registry.|Supports `--strict|-s` and `--json|-j`.
174
- AI and Agents|mode|Show or set the agent profile.|Profiles: ask, plan, apply, audit.
175
- AI and Agents|agent|Show agent metadata, logs, checkpoints, and conformance.|Use for card, log, checkpoint, and conformance.
176
- AI and Agents|agents|Multi-harness agent context (AGENTS.md sync, Cursor/Codex stubs).|Subcommands: list, check, render.
177
- Fleet|registry|Browse reusable dotfile modules from the dot registry.|Subcommands: list, search, info, install, url, set-url.
178
- Fleet|fleet|Show fleet node status, drift, and namespace.|Enterprise fleet management.
179
- Configuration|env|Show managed tool versions.|Backed by mise.
180
- Configuration|profile|Show or switch the active profile.|Use for machine-specific behavior.
181
- Configuration|secrets|Edit or manage encrypted secrets.|Subcommands cover set, get, list, load.
182
- Configuration|theme|Switch the terminal theme.|Light or dark.
183
- Reference|search|Find commands by keyword.|Example: `dot search security`.
184
- Reference|help all|Show the full command reference.|Lists every public command.
185
- Reference|version|Show version information.|Matches `dot --version`.
186
- EOF
187
- }
188
-
189
- _dot_help_specs() {
190
- cat <<'EOF'
191
- Core|sync|Apply dotfiles (alias for apply; --pull to fetch, --check to preview)|Use after clone or after changes.
192
- Core|add|Add a file to chezmoi source|Start managing a file in the source tree.
193
- Core|diff|Show chezmoi diff with exclusions|Preview pending changes before apply.
194
- Core|status|Show configuration drift (chezmoi status)|Inspect the current managed state.
195
- Core|edit|Open chezmoi source in $EDITOR|Jump into the source tree quickly.
196
- Core|cd|Print source directory path (use: cd $(dot cd))|Useful in shell scripts and jump helpers.
197
- Core|commit|AI-powered conventional commit|Wraps the commit helper flow.
198
- Diagnostics|doctor|Deep audit: tools, paths, portability, AI analysis (--ai|-A)|Main health and repair entrypoint.
199
- Diagnostics|attest|Export workstation attestation evidence (--json|-j, --write|-w, --fleet-store|-F)|Produce machine-readable evidence.
200
- Diagnostics|score|System health and security scorecard|Quick high-level readout.
201
- Diagnostics|snapshot|Capture baseline system snapshot|Use before larger changes.
202
- Diagnostics|chaos|Simulate config corruption to test self-healing|Advanced validation path.
203
- Diagnostics|bundle|Create offline archive of dotfiles environment|Portable support artifact.
204
- Diagnostics|rollback|Rollback dotfiles to a previous state|Use after a bad apply.
205
- Diagnostics|history|Shell history analysis|Inspect command usage patterns.
206
- Diagnostics|perf|Show performance mode and quick timing|Startup and shell timing surface.
207
- Diagnostics|metrics|Show recent observability metrics (JSONL)|Recent runtime events and counters.
208
- Diagnostics|load-bench|Measure time to heavy-layer readiness|Performance benchmarking helper.
209
- AI|ai|AI CLI status & launcher|Overview of installed AI tools.
210
- AI|ai-setup|Interactive setup for all AI CLI tools|Initial AI tool bootstrap.
211
- AI|ai-query|Context-aware RAG query over your dotfiles|Ask questions over the repo state.
212
- AI|mcp|Inspect MCP policy, supply chain, and registry|Governance and validation surface.
213
- AI|mode|Set or inspect agent operating profiles (ask/plan/apply/audit)|Bounded-autonomy controls.
214
- AI|agent|Profile-aware execution, agent card, a2a-card, session log, checkpoints, and conformance|Agent metadata and local audit trail.
215
- AI|cl|Claude CLI with context patterns|Context-aware Anthropic bridge.
216
- AI|copilot|GitHub Copilot CLI with context patterns|Context-aware Copilot bridge.
217
- AI|gemini|Gemini CLI with context patterns|Context-aware Gemini bridge.
218
- AI|kiro|Kiro CLI with context patterns|Context-aware Kiro bridge.
219
- AI|sgpt|Shell-GPT with context patterns|Context-aware Shell-GPT bridge.
220
- AI|ollama|Ollama with context patterns|Context-aware local-model bridge.
221
- AI|opencode|OpenCode with context patterns|Context-aware OpenCode bridge.
222
- AI|aider|Aider with context patterns|Context-aware Aider bridge.
223
- Tools|env|Tool versions (mise)|Managed runtime versions.
224
- Tools|profile|Show/switch configuration profile|Profile-specific behavior.
225
- Tools|keys|Keybindings (sign-check: verify git signing)|Keyboard and signing references.
226
- Tools|tools|Show or install nix packages|Package helper entrypoint.
227
- Tools|new|Create a new project from a template|Project scaffold helper.
228
- Tools|sandbox|Launch a safe sandbox preview (Docker/Podman)|Disposable environment for testing.
229
- Tools|lint|Lint shell scripts (--fix|-f to auto-format, --check|-c for CI)|Shell quality gate.
230
- Tools|learn|Start the interactive tour of your new tools|Guided onboarding.
231
- Tools|docs|Show repo README|Open the main documentation.
232
- Appearance|theme|Switch terminal theme (dark/light)|Terminal appearance control.
233
- Appearance|wallpaper|Apply a wallpaper from your library [macOS,Linux]|Desktop customization helper.
234
- Appearance|fonts|Install Nerd Fonts (JetBrainsMono by default)|Font bootstrap helper.
235
- Appearance|tune|Apply OS tuning (opt-in) [macOS,Linux]|Host tuning entrypoint.
236
- Secrets|secrets-init|Initialize age key for secrets|First-time secrets setup.
237
- Secrets|secrets|Edit encrypted secrets (age)|Primary secrets entrypoint.
238
- Secrets|secrets-create|Create an encrypted secrets file|Create a new secret payload.
239
- Secrets|ssh-key|Encrypt an SSH key locally with age|Protect local SSH keys.
240
- Secrets|ssh-cert|Manage short-lived SSH certificates|SSH certificate workflow.
241
- Security (opt-in)|backup|Create a compressed backup of your home|Safety copy before risky changes.
242
- Security (opt-in)|encrypt-check|Check disk encryption status|Host security inspection.
243
- Security (opt-in)|firewall|Apply firewall hardening [macOS,Linux]|Opt-in host hardening.
244
- Security (opt-in)|telemetry|Disable OS telemetry [macOS,Linux]|Privacy-focused host control.
245
- Security (opt-in)|dns-doh|Enable DNS-over-HTTPS [macOS,Linux]|Secure DNS helper.
246
- Security (opt-in)|lock-screen|Enforce lock screen idle settings [Linux]|Linux workstation hardening.
247
- Security (opt-in)|usb-safety|Disable automount for removable media [Linux]|Linux removable-media hardening.
248
- Fleet|fleet|Show fleet node status, drift, and namespace (--json for machine output)|Fleet management surface.
249
- Fleet|fleet drift|Check for configuration drift across managed files|Drift detection and reporting.
250
- Fleet|fleet namespace|Show or set the active namespace for multi-tenant isolation|Namespace management.
251
- Fleet|fleet events|Show recent fleet events from local event log|Fleet observability.
252
- Meta|upgrade|Update system toolchains, plugins, and dotfiles|Managed upgrade flow.
253
- Meta|packages|List installed packages and package managers|Inventory and package surfaces.
254
- Meta|cache-refresh|Regenerate shell caches for ultra-fast startup|Refresh generated shell state.
255
- Meta|search|Find commands by keyword|Find the right command quickly.
256
- Meta|version|Show version information.|Matches `dot --version`.
257
- Meta|help|Show this help message|Overview or focused command help.
258
- EOF
259
- }
260
-
261
- _dot_help_details() {
262
- cat <<'EOF'
263
- sync|Apply the current dotfiles to this machine.|dot sync\ndot sync --check
264
- add|Start managing a file with chezmoi.|dot add ~/.gitconfig
265
- diff|Show pending dotfile changes before applying.|dot diff
266
- status|Show local drift in the managed home state.|dot status
267
- edit|Open the dotfiles source tree in the configured editor.|dot edit
268
- upgrade|Run the managed update path for tools and dotfiles.|dot upgrade
269
- doctor|Inspect shell tools, paths, portability, and health.|dot doctor\ndot doctor --score\ndot doctor -H
270
- attest|Export workstation attestation evidence.|dot attest\ndot attest --json\ndot attest -F /srv/dotfiles-fleet
271
- health|Run the health dashboard with optional fixes.|dot health -v\ndot health -j\ndot health -f
272
- perf|Measure shell performance and emit structured timing.|dot perf -j -r 1\ndot perf -p\ndot perf -t 200
273
- security-score|Assess workstation security posture.|dot security-score -j\ndot security-score -q
274
- snapshot|Capture the current workstation snapshot.|dot snapshot -b\ndot snapshot -b -f
275
- restore|Restore from a backup or git ref.|dot restore -l\ndot restore -L\ndot restore -g HEAD~1
276
- rollback|Restore a previous configuration snapshot.|dot rollback
277
- lint|Run shell quality checks for the repo.|dot lint\ndot lint -c\ndot lint -f
278
- ai|Show installed AI tools and entrypoints.|dot ai
279
- mcp|Inspect MCP configuration, policy, and registry.|dot mcp\ndot mcp -s -j\ndot mcp registry
280
- mode|Inspect or switch the active agent mode.|dot mode list\ndot mode show ask\ndot mode set audit
281
- agent|Inspect agent metadata or run profile-aware actions.|dot agent card\ndot agent a2a-card --validate\ndot agent checkpoint list\ndot agent conformance --strict --json
282
- fleet|Show fleet node status, drift, and namespace.|dot fleet\ndot fleet status --json\ndot fleet drift\ndot fleet namespace set engineering
283
- env|Show managed tool versions and runtime state.|dot env
284
- profile|Show or switch the active configuration profile.|dot profile
285
- secrets|Manage encrypted secrets and environment loading.|dot secrets edit\ndot secrets list\ndot secrets load ai
286
- theme|Switch the terminal theme.|dot theme light\ndot theme dark
287
- learn|Open the guided tour of the toolchain.|dot learn
288
- search|Find commands by keyword across the public surface.|dot search ai
289
- help|Show the overview or a focused command reference.|dot help\ndot help doctor\ndot help all
290
- --version|Show the installed dotfiles version.|dot --version\ndot version
291
- version|Show the installed dotfiles version.|dot --version\ndot version
292
- EOF
293
- }
294
-
295
- _dot_help_summary() {
296
- local command_name="${1:-}"
297
- awk -F'|' -v command_name="$command_name" '$1 == command_name { print $2; exit }' < <(_dot_help_details)
298
- }
299
-
300
- _dot_help_examples() {
301
- local command_name="${1:-}"
302
- awk -F'|' -v command_name="$command_name" '$1 == command_name { print $3; exit }' < <(_dot_help_details)
303
- }
304
-
305
- _dot_command_routes() {
306
- cat <<'EOF'
307
- sync|core
308
- apply|core
309
- init|init
310
- update|core
311
- add|core
312
- diff|core
313
- status|core
314
- cd|core
315
- edit|core
316
- commit|core
317
- doctor|diagnostics
318
- scorecard|diagnostics
319
- score|diagnostics
320
- snapshot|diagnostics
321
- history|diagnostics
322
- perf|diagnostics
323
- load-bench|diagnostics
324
- load-bench-pty|diagnostics
325
- chaos|diagnostics
326
- bundle|diagnostics
327
- rollback|diagnostics
328
- heal|diagnostics
329
- health|diagnostics
330
- health-check|diagnostics
331
- smoke-test|diagnostics
332
- attest|diagnostics
333
- attestation|diagnostics
334
- security-score|diagnostics
335
- drift|diagnostics
336
- intelligence|diagnostics
337
- conflicts|diagnostics
338
- locks|diagnostics
339
- restore|diagnostics
340
- metrics|diagnostics
341
- ai|ai
342
- ai-setup|ai
343
- ai-query|ai
344
- cl|ai
345
- claude|ai
346
- codex|ai
347
- copilot|ai
348
- gemini|ai
349
- goose|ai
350
- kiro|ai
351
- sgpt|ai
352
- ollama|ai
353
- opencode|ai
354
- aider|ai
355
- autohand|ai
356
- vibe|ai
357
- qwen|ai
358
- zai|ai
359
- env|tools
360
- profile|tools
361
- tools|tools
362
- new|tools
363
- packages|tools
364
- aliases|tools
365
- alias-check|tools
366
- setup|tools
367
- log-rotate|tools
368
- lint|tools
369
- theme|appearance
370
- wallpaper|appearance
371
- fonts|appearance
372
- tune|appearance
373
- secrets-init|secrets
374
- secrets|secrets
375
- secrets-create|secrets
376
- ssh-key|secrets
377
- ssh-cert|secrets
378
- backup|security
379
- encrypt-check|security
380
- firewall|security
381
- telemetry|security
382
- dns-doh|security
383
- lock-screen|security
384
- usb-safety|security
385
- upgrade|meta
386
- cache-refresh|meta
387
- docs|meta
388
- learn|meta
389
- keys|meta
390
- sandbox|meta
391
- mcp|meta
392
- mode|meta
393
- agent|meta
394
- agents|agents
395
- fleet|fleet
396
- registry|registry
397
- patterns|patterns
398
- manual|manual
399
- search|search
400
- help|help
401
- --help|help
402
- -h|help
403
- --version|version
404
- -v|version
405
- version|version
406
- EOF
407
- }
408
-
409
- _dot_command_route() {
410
- local command_name="${1:-}"
411
- if [[ -z "$command_name" ]]; then
412
- return 1
413
- fi
414
- awk -F'|' -v command_name="$command_name" '$1 == command_name { print $2; exit }' < <(_dot_command_routes)
415
- }
416
-
417
- show_help_overview() {
418
- ui_dot_banner "Reference"
419
- ui_header "Dotfiles"
420
- ui_meta "Usage" "dot [command]"
421
- ui_meta "Version" "v$VERSION"
422
- echo ""
423
-
424
- ui_info "What it is" "A single command for setting up, checking, and maintaining this shell environment."
425
- ui_info "Platforms" "macOS, Linux, and WSL"
426
- ui_info "Start" "Run 'dot sync', then 'dot doctor', then 'dot learn'"
427
- echo ""
428
-
429
- local current_section="" section="" command_name="" description="" detail=""
430
- while IFS='|' read -r section command_name description detail; do
431
- if [[ "$section" != "$current_section" ]]; then
432
- if [[ -n "$current_section" ]]; then
433
- echo ""
434
- fi
435
- ui_section "$section"
436
- current_section="$section"
437
- fi
438
- ui_cmd "$command_name" "$description"
439
- done < <(_dot_help_overview_specs)
440
- echo ""
441
- ui_info "Next" "Run 'dot help all' for the full command list"
442
- ui_info "Detail" "Run 'dot help <command>' for one command"
443
- }
444
-
445
- show_help_all() {
446
- ui_dot_banner "Reference"
447
- ui_header "Dotfiles Command Reference"
448
- ui_meta "Usage" "dot [command]"
449
- ui_meta "Version" "v$VERSION"
450
- echo ""
451
-
452
- local current_section="" section="" command_name="" description="" detail=""
453
- while IFS='|' read -r section command_name description detail; do
454
- if [[ "$command_name" == "help all" ]]; then
455
- continue
456
- fi
457
- if [[ "$section" != "$current_section" ]]; then
458
- if [[ -n "$current_section" ]]; then
459
- echo ""
460
- fi
461
- ui_section "$section"
462
- current_section="$section"
463
- fi
464
- ui_cmd "$command_name" "$description"
465
- done < <(_dot_help_specs)
466
- }
467
-
468
- show_help_command() {
469
- local command_name="${1:-}"
470
- local normalized summary examples
471
-
472
- normalized="$command_name"
473
- if [[ "$command_name" == "version" || "$command_name" == "-v" ]]; then
474
- normalized="--version"
475
- fi
476
-
477
- summary="$(_dot_help_summary "$normalized")"
478
- examples="$(_dot_help_examples "$normalized")"
479
-
480
- if [[ -z "$summary" ]]; then
481
- ui_fail "Unknown help topic: $command_name"
482
- ui_info "Hint" "Try 'dot help all' or 'dot search <keyword>'"
483
- exit 1
484
- fi
485
-
486
- ui_dot_banner "Reference"
487
- ui_header "dot $command_name"
488
- echo ""
489
- ui_info "Summary" "$summary"
490
- if [[ -n "$examples" ]]; then
491
- echo ""
492
- ui_section "Examples"
493
- while IFS= read -r example; do
494
- [[ -n "$example" ]] || continue
495
- ui_cmd "$example" ""
496
- done < <(printf '%b\n' "$examples")
497
- fi
498
- }
499
-
500
- show_help() {
501
- local topic="${1:-}"
502
- case "$topic" in
503
- "")
504
- show_help_overview
505
- ;;
506
- all)
507
- show_help_all
508
- ;;
509
- *)
510
- show_help_command "$topic"
511
- ;;
512
- esac
513
- }
514
-
515
- resolve_source_dir() { _resolve_source_dir; }
516
-
517
- # ─── Dispatcher ───────────────────────────────────────────────────────────────
518
- # Routes COMMAND to the appropriate command module in scripts/dot/commands/.
519
- # Each module receives the original COMMAND as its first argument so that its
520
- # internal case statement can dispatch to the right sub-function.
521
- _SOURCE_DIR="$(_resolve_source_dir)"
522
- _CMD_DIR="${_SOURCE_DIR}/scripts/dot/commands"
523
-
524
- _dispatch() {
525
- local module="$1"
526
- shift # remove module name; remaining $@ are the user's extra args
527
- local cmd_file="${_CMD_DIR}/${module}.sh"
528
- if [[ -f "$cmd_file" ]]; then
529
- # shellcheck disable=SC1090
530
- exec bash "$cmd_file" "$COMMAND" "$@"
531
- else
532
- ui_fail "Command module not found: $cmd_file"
533
- exit 1
534
- fi
535
- }
536
-
537
- if [[ -z "$COMMAND" ]]; then
538
- show_help
539
- exit 0
540
- fi
541
-
542
- # `|| true` is intentional: an unknown command yields an empty route, which falls
543
- # through the case below into the user-command path that emits the proper error.
544
- route="$(_dot_command_route "$COMMAND" || true)"
545
-
546
- case "$route" in
547
- core | diagnostics | ai | tools | appearance | secrets | security | meta | fleet)
548
- _dispatch "$route" "$@"
549
- ;;
550
-
551
- agents)
552
- if [[ -n "$_SOURCE_DIR" ]] && [[ -f "$_SOURCE_DIR/scripts/dot/commands/agents.sh" ]]; then
553
- # shellcheck disable=SC1091
554
- source "$_SOURCE_DIR/scripts/dot/commands/agents.sh"
555
- cmd_agents "$@"
556
- exit $?
557
- else
558
- ui_fail "agents.sh not found"
559
- exit 1
560
- fi
561
- ;;
562
-
563
- init)
564
- if [[ -n "$_SOURCE_DIR" ]] && [[ -f "$_SOURCE_DIR/scripts/dot/commands/init.sh" ]]; then
565
- # shellcheck disable=SC1091
566
- source "$_SOURCE_DIR/scripts/dot/commands/init.sh"
567
- cmd_init "$@"
568
- exit $?
569
- else
570
- ui_fail "init.sh not found"
571
- exit 1
572
- fi
573
- ;;
574
-
575
- registry)
576
- if [[ -n "$_SOURCE_DIR" ]] && [[ -f "$_SOURCE_DIR/scripts/dot/commands/registry.sh" ]]; then
577
- # shellcheck disable=SC1091
578
- source "$_SOURCE_DIR/scripts/dot/commands/registry.sh"
579
- cmd_registry "$@"
580
- exit $?
581
- else
582
- ui_fail "registry.sh not found"
583
- exit 1
584
- fi
585
- ;;
586
-
587
- manual)
588
- if [[ -n "$_SOURCE_DIR" ]] && [[ -f "$_SOURCE_DIR/scripts/dot/commands/manual.sh" ]]; then
589
- exec bash "$_SOURCE_DIR/scripts/dot/commands/manual.sh" "$@"
590
- else
591
- ui_fail "manual.sh not found"
592
- exit 1
593
- fi
594
- ;;
595
-
596
- patterns)
597
- if [[ -n "$_SOURCE_DIR" ]] && [[ -f "$_SOURCE_DIR/scripts/dot/commands/patterns.sh" ]]; then
598
- exec bash "$_SOURCE_DIR/scripts/dot/commands/patterns.sh" "$@"
599
- else
600
- ui_fail "patterns.sh not found"
601
- exit 1
602
- fi
603
- ;;
604
-
605
- search)
606
- keyword="${1:-}"
607
- if [[ -z "$keyword" ]]; then
608
- echo "Usage: dot search <keyword>"
609
- exit 1
610
- fi
611
- show_help_all | grep -i --color=auto "$keyword" || echo "No commands matching '$keyword'"
612
- exit 0
613
- ;;
614
-
615
- help)
616
- show_help "$@"
617
- ;;
618
-
619
- version)
620
- show_version
621
- ;;
622
-
623
- # User-provided custom commands
624
- *)
625
- _user_cmd="${XDG_CONFIG_HOME:-$HOME/.config}/dotfiles/commands/${COMMAND}.sh"
626
- if [[ -f "$_user_cmd" ]]; then
627
- # Run in a subshell so a user `exit` doesn't kill the dot CLI.
628
- (source "$_user_cmd" "$@")
629
- exit $?
630
- else
631
- echo "Unknown command: ${COMMAND:-}" >&2
632
- echo "Run 'dot help' for available commands." >&2
633
- exit 1
634
- fi
635
- ;;
636
- esac
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env bash
2
- # shellcheck disable=SC2034,SC1091
3
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
4
- # Dotfiles AI RAG (Retrieval-Augmented Generation)
5
- # Usage: dot ai-query "how do I list files?"
6
-
7
- set -euo pipefail
8
-
9
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
10
- # shellcheck source=../scripts/dot/lib/ui.sh
11
- source "$HOME/.dotfiles/scripts/dot/lib/ui.sh"
12
-
13
- QUERY="${1:-}"
14
- if [[ -z "$QUERY" ]]; then
15
- echo "Usage: dot ai-query 'your question'"
16
- exit 1
17
- fi
18
-
19
- DOTFILES_DIR="${HOME}/.dotfiles"
20
-
21
- ui_info "Searching dotfiles context for: $QUERY..."
22
- # 1. Retrieval: Use ripgrep to find relevant snippets from docs and configs
23
- CONTEXT=$(rg -i --no-filename --no-line-number -C 2 -m 10 "$(echo "$QUERY" | tr ' ' '|')" "$DOTFILES_DIR/docs" "$DOTFILES_DIR/dot_config/shell" "$DOTFILES_DIR/.chezmoitemplates" 2>/dev/null || true)
24
-
25
- if [[ -z "$CONTEXT" ]]; then
26
- CONTEXT="No specific context found in the local repository."
27
- fi
28
-
29
- # 2. Augmented Generation: Pipe to the Dotfiles AI Bridge
30
- # We use the 'architect' pattern to ensure the AI knows how to interpret dotfiles
31
- ui_info "Generating context-aware answer..."
32
- dot cl --pattern architect "Answer the following question based on this local dotfiles context:
33
- ---
34
- $CONTEXT
35
- ---
36
- User Question: $QUERY"