@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,213 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
- # check-manual.sh — Quality gates for docs/manual/
4
- #
5
- # Runs:
6
- # - Markdown lint (markdownlint-cli2 if available)
7
- # - Internal link check (custom — validates all [text](path.md) refs)
8
- # - Spell check (codespell if available)
9
- # - Coverage: every `dot <command>` referenced must be documented
10
- #
11
- # Usage:
12
- # bash scripts/docs/check-manual.sh
13
- # bash scripts/docs/check-manual.sh --strict # fail on warnings
14
-
15
- set -euo pipefail
16
-
17
- REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
18
- MANUAL_DIR="$REPO_ROOT/docs/manual"
19
- STRICT=false
20
- FAILS=0
21
-
22
- for arg in "$@"; do
23
- case "$arg" in
24
- --strict) STRICT=true ;;
25
- esac
26
- done
27
-
28
- log() { printf '[check] %s\n' "$*"; }
29
- warn() {
30
- printf '[check] WARN: %s\n' "$*" >&2
31
- if $STRICT; then
32
- FAILS=$((FAILS + 1))
33
- fi
34
- }
35
- fail() {
36
- printf '[check] FAIL: %s\n' "$*" >&2
37
- FAILS=$((FAILS + 1))
38
- }
39
-
40
- # -----------------------------------------------------------------------------
41
- # Internal link check
42
- # -----------------------------------------------------------------------------
43
-
44
- check_links() {
45
- log "checking internal links"
46
- local broken=0
47
- local mdfile path abs_path link
48
- while IFS= read -r mdfile; do
49
- while IFS= read -r link; do
50
- [[ -z "$link" ]] && continue
51
- path="${link#*(}"
52
- path="${path%)*}"
53
- path="${path%%#*}"
54
- [[ -z "$path" ]] && continue
55
- if [[ "$path" =~ ^/ ]]; then
56
- abs_path="$REPO_ROOT$path"
57
- else
58
- abs_path="$(dirname "$mdfile")/$path"
59
- fi
60
- if [[ ! -f "$abs_path" ]]; then
61
- # Try resolving
62
- local resolved
63
- resolved="$(cd "$(dirname "$mdfile")" 2>/dev/null && cd "$(dirname "$path")" 2>/dev/null && pwd)/$(basename "$path")"
64
- [[ -f "$resolved" ]] && continue
65
- fail "broken link in $(basename "$mdfile"): $link"
66
- broken=$((broken + 1))
67
- fi
68
- done < <(grep -oE '\[[^]]+\]\([^)]+\.md[^)]*\)' "$mdfile" 2>/dev/null)
69
- done < <(find "$MANUAL_DIR" -name '*.md' -type f)
70
- [[ $broken -eq 0 ]] && log " ✓ all internal links resolve"
71
- }
72
-
73
- # -----------------------------------------------------------------------------
74
- # Markdown lint
75
- # -----------------------------------------------------------------------------
76
-
77
- check_markdown_lint() {
78
- if ! command -v markdownlint-cli2 &>/dev/null && ! command -v markdownlint &>/dev/null; then
79
- warn "skipping markdown lint (markdownlint not installed)"
80
- return
81
- fi
82
- log "running markdownlint"
83
- local linter
84
- linter="$(command -v markdownlint-cli2 || command -v markdownlint)"
85
- if ! "$linter" "$MANUAL_DIR/**/*.md" 2>&1 | head -20; then
86
- warn "markdown lint reported issues"
87
- else
88
- log " ✓ markdown clean"
89
- fi
90
- }
91
-
92
- # -----------------------------------------------------------------------------
93
- # Spell check
94
- # -----------------------------------------------------------------------------
95
-
96
- check_spelling() {
97
- if ! command -v codespell &>/dev/null; then
98
- warn "skipping spell check (codespell not installed)"
99
- return
100
- fi
101
- log "running codespell"
102
- if codespell --skip='*.toml,*.json' "$MANUAL_DIR/" 2>&1 | head -10; then
103
- log " ✓ no typos detected"
104
- else
105
- warn "codespell found possible typos"
106
- fi
107
- }
108
-
109
- # -----------------------------------------------------------------------------
110
- # Command coverage — every `dot <cmd>` in the repo must be in CLI reference
111
- # -----------------------------------------------------------------------------
112
-
113
- check_command_coverage() {
114
- log "checking command coverage"
115
- local cli_ref="$MANUAL_DIR/03-reference/01-dot-cli.md"
116
- if [[ ! -f "$cli_ref" ]]; then
117
- warn "CLI reference missing"
118
- return
119
- fi
120
-
121
- # Extract commands referenced in manual (single quotes intentional for grep pattern)
122
- local referenced
123
- # shellcheck disable=SC2016
124
- referenced="$(grep -rhoE '`dot [a-z][a-z-]+`' "$MANUAL_DIR"/*.md "$MANUAL_DIR"/**/*.md 2>/dev/null |
125
- sort -u |
126
- sed -E 's/`dot ([a-z-]+)`/\1/')"
127
-
128
- # Extract commands documented in CLI reference (single quotes intentional for grep pattern)
129
- local documented
130
- # shellcheck disable=SC2016
131
- documented="$(grep -oE '^### `dot [a-z][a-z-]+`' "$cli_ref" 2>/dev/null |
132
- sed -E 's/### `dot ([a-z-]+)`/\1/' |
133
- sort -u)"
134
-
135
- # Diff
136
- local missing
137
- missing="$(comm -23 <(echo "$referenced") <(echo "$documented") 2>/dev/null)"
138
-
139
- if [[ -n "$missing" ]]; then
140
- warn "commands referenced but not documented in CLI reference:"
141
- echo "$missing" | while read -r cmd; do
142
- [[ -z "$cmd" ]] && continue
143
- echo " - dot $cmd"
144
- done
145
- else
146
- log " ✓ all referenced commands documented"
147
- fi
148
- }
149
-
150
- # -----------------------------------------------------------------------------
151
- # File structure check
152
- # -----------------------------------------------------------------------------
153
-
154
- check_structure() {
155
- log "checking directory structure"
156
- local required=(
157
- "00-introduction.md"
158
- "01-concepts/01-architecture.md"
159
- "01-concepts/02-trust-model.md"
160
- "01-concepts/03-theme-engine.md"
161
- "01-concepts/04-fleet.md"
162
- "01-concepts/05-self-healing.md"
163
- "02-tutorials/01-first-install.md"
164
- "02-tutorials/02-add-wallpaper.md"
165
- "02-tutorials/03-create-profile.md"
166
- "02-tutorials/04-encrypt-secret.md"
167
- "02-tutorials/05-deploy-fleet.md"
168
- "03-reference/01-dot-cli.md"
169
- "03-reference/02-config-files.md"
170
- "03-reference/03-environment.md"
171
- "03-reference/04-templates.md"
172
- "03-reference/05-feature-flags.md"
173
- "04-cookbook/01-recipes.md"
174
- "04-cookbook/02-troubleshooting.md"
175
- "04-cookbook/03-faq.md"
176
- "05-appendices/A-platform-matrix.md"
177
- "05-appendices/B-security-checklist.md"
178
- "05-appendices/C-glossary.md"
179
- "05-appendices/D-bibliography.md"
180
- "05-appendices/E-license.md"
181
- )
182
- local missing=0
183
- for f in "${required[@]}"; do
184
- if [[ ! -f "$MANUAL_DIR/$f" ]]; then
185
- fail "missing required file: $f"
186
- missing=$((missing + 1))
187
- fi
188
- done
189
- [[ $missing -eq 0 ]] && log " ✓ all required files present"
190
- }
191
-
192
- # -----------------------------------------------------------------------------
193
- # Main
194
- # -----------------------------------------------------------------------------
195
-
196
- main() {
197
- log "validating $MANUAL_DIR"
198
- check_structure
199
- check_links
200
- check_command_coverage
201
- check_markdown_lint
202
- check_spelling
203
-
204
- echo ""
205
- if [[ $FAILS -gt 0 ]]; then
206
- printf '[check] FAILED: %d issue(s)\n' "$FAILS" >&2
207
- exit 1
208
- else
209
- log "all checks passed"
210
- fi
211
- }
212
-
213
- main
@@ -1,50 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
- # Sourced by scripts/dot/commands/*.sh and dot_local/bin/executable_dot; inherits set -euo pipefail.
4
- # Dotfiles 2026: Atomic Intelligence Surface
5
- # High-fidelity, perfectly aligned, and professional.
6
-
7
- _dotfiles_bento_render() {
8
- # Catppuccin Mocha palette — consistent with the project's terminal theme
9
- # so the bento card matches the user's configured color scheme.
10
- local c_cyan='\x1b[38;2;0;255;255m' # Accent: header + bullet markers
11
- local c_gray='\x1b[38;2;147;153;178m' # Overlay1: metric labels (subdued)
12
- local c_blue='\x1b[38;2;116;199;236m' # Sapphire: metric values (readable)
13
- local c_slate='\x1b[38;2;49;50;68m' # Surface0: dividers (near-invisible)
14
- local c_green='\x1b[38;2;166;227;161m' # Green: status confirmations
15
- local c_reset='\x1b[0m'
16
- local c_bold='\x1b[1m'
17
-
18
- # Detect OS to show platform-specific icon in the bento card
19
- local os_name="Linux"
20
- local os_icon=""
21
- case "$(uname)" in
22
- Darwin)
23
- os_name="macOS"
24
- os_icon=""
25
- ;;
26
- *)
27
- [[ -f /proc/sys/kernel/osrelease ]] && grep -qiE '(microsoft|wsl)' /proc/sys/kernel/osrelease && os_name="WSL"
28
- os_icon=""
29
- ;;
30
- esac
31
-
32
- # Render a fixed-width card (42 cols) so output aligns in any terminal width
33
- printf "\n"
34
- printf " ${c_cyan}${c_bold}💎 D O T F I L E S${c_reset} ${c_slate}[v0.2.502]${c_reset}\n"
35
- printf " ${c_slate}──────────────────────────────────────────${c_reset}\n"
36
-
37
- # Key system properties at a glance — answers "is my env healthy?" in 1 second
38
- printf " ${c_cyan}•${c_reset} ${c_gray}%-12s${c_reset} ${c_blue}rousseau @ %s (%s)${c_reset}\n" "Platform" "$os_name" "$os_icon"
39
- printf " ${c_cyan}•${c_reset} ${c_gray}%-12s${c_reset} ${c_blue}Hardened (GPG/SOPS/Enclave)${c_reset}\n" "Security"
40
- printf " ${c_cyan}•${c_reset} ${c_gray}%-12s${c_reset} ${c_blue}Idempotent • Deterministic${c_reset}\n" "Strategy"
41
- printf " ${c_cyan}•${c_reset} ${c_gray}%-12s${c_reset} ${c_blue}Active (Vault Synced)${c_reset}\n" "Cloud"
42
- printf " ${c_cyan}•${c_reset} ${c_gray}%-12s${c_reset} ${c_blue}60fps UI • <45ms Initial${c_reset}\n" "Latency"
43
-
44
- # Footer confirms shell startup strategy — reassures user the env is optimized
45
- printf " ${c_slate}──────────────────────────────────────────${c_reset}\n"
46
- printf " ${c_green}✓ Hydrated${c_reset} ${c_slate}•${c_reset} ${c_green}Zero-Jank Async${c_reset} ${c_slate}•${c_reset} ${c_cyan}Atomic${c_reset}\n"
47
- printf "\n"
48
- }
49
-
50
- _dotfiles_bento_render
@@ -1,200 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
- # Sourced by scripts/dot/commands/*.sh and scripts/diagnostics/*; inherits set -euo pipefail.
4
- # Structured JSON logging and metrics library.
5
- # Source this file to emit machine-readable logs and performance metrics.
6
- #
7
- # Usage:
8
- # source "$(dirname "${BASH_SOURCE[0]}")/log.sh"
9
- # dot_log info "apply_start" "source=chezmoi"
10
- # dot_metric "shell_startup" 142 ms
11
-
12
- # Re-source guard: re-sourcing would mint a new DOT_TRACE_ID and break
13
- # correlation across modules that already captured the original.
14
- [[ "${_DOT_LIB_LOG_LOADED:-0}" == "1" ]] && return 0
15
- _DOT_LIB_LOG_LOADED=1
16
-
17
- # Correlation ID for tracing across commands in a single invocation
18
- DOT_TRACE_ID="${DOT_TRACE_ID:-$(date +%s%N 2>/dev/null | tail -c 12 || date +%s)}"
19
- export DOT_TRACE_ID
20
-
21
- _DOT_LOG_STATE_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/dotfiles"
22
-
23
- dot_agent_checkpoint_dir() {
24
- printf '%s\n' "$_DOT_LOG_STATE_DIR/checkpoints"
25
- }
26
-
27
- dot_jsonl_append() {
28
- local file="$1" payload="$2"
29
- mkdir -p "$_DOT_LOG_STATE_DIR" 2>/dev/null || return 0
30
- printf '%s\n' "$payload" >>"$_DOT_LOG_STATE_DIR/$file" 2>/dev/null || true
31
- }
32
-
33
- # Always-on file logging (appends to dot.log, rotates at 1MB)
34
- dot_log_file() {
35
- local level="$1" event="$2"
36
- shift 2
37
- local log_file="$_DOT_LOG_STATE_DIR/dot.log"
38
- mkdir -p "$_DOT_LOG_STATE_DIR" 2>/dev/null || return 0
39
- # Rotate at 1MB
40
- if [[ -f "$log_file" ]]; then
41
- local size
42
- size=$(stat -c '%s' "$log_file" 2>/dev/null || stat -f '%z' "$log_file" 2>/dev/null || echo 0)
43
- if [[ "$size" -gt 1048576 ]]; then
44
- mv "$log_file" "${log_file}.1" 2>/dev/null || true
45
- fi
46
- fi
47
- printf '[%s] [%s] [%s] %s' \
48
- "$(date -u +%Y-%m-%dT%H:%M:%SZ)" "$level" "$DOT_TRACE_ID" "$event" >>"$log_file" 2>/dev/null || return 0
49
- while [[ $# -gt 0 ]]; do
50
- printf ' %s' "$1" >>"$log_file" 2>/dev/null || return 0
51
- shift
52
- done
53
- printf '\n' >>"$log_file" 2>/dev/null || true
54
- }
55
-
56
- # Structured log entry (JSON when DOTFILES_JSON_LOG=1, silent otherwise)
57
- # Always writes to file log
58
- dot_log() {
59
- local level="$1" event="$2"
60
- shift 2
61
- local ts
62
- ts="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
63
- # Always-on file logging
64
- dot_log_file "$level" "$event" "$@"
65
- # JSON stdout logging when enabled
66
- if [[ "${DOTFILES_JSON_LOG:-0}" = "1" ]]; then
67
- printf '{"time":"%s","level":"%s","event":"%s","command":"%s","trace_id":"%s"' \
68
- "$ts" "$level" "$event" "${DOT_COMMAND:-unknown}" "$DOT_TRACE_ID"
69
- while [[ $# -gt 0 ]]; do
70
- printf ',"%s":"%s"' "${1%%=*}" "${1#*=}"
71
- shift
72
- done
73
- printf '}\n'
74
- fi
75
- }
76
-
77
- # Metrics emission (append to JSONL metrics file)
78
- dot_metric() {
79
- local name="$1" value="$2" unit="${3:-ms}"
80
- local ts
81
- ts="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
82
- local metrics_file="$_DOT_LOG_STATE_DIR/metrics.jsonl"
83
- mkdir -p "$_DOT_LOG_STATE_DIR" 2>/dev/null || return 0
84
- printf '{"time":"%s","metric":"%s","value":%s,"unit":"%s","trace_id":"%s"}\n' \
85
- "$ts" "$name" "$value" "$unit" "$DOT_TRACE_ID" >>"$metrics_file" 2>/dev/null || true
86
- }
87
-
88
- # Print recent metrics (for `dot metrics` command)
89
- dot_metrics_summary() {
90
- local metrics_file="$_DOT_LOG_STATE_DIR/metrics.jsonl"
91
- local count="${1:-20}"
92
- if [[ ! -f "$metrics_file" ]]; then
93
- echo "No metrics collected yet."
94
- echo "Metrics are recorded at: $metrics_file"
95
- return 0
96
- fi
97
- tail -n "$count" "$metrics_file"
98
- }
99
-
100
- dot_agent_session_log() {
101
- local event="$1" profile="$2" status="${3:-ok}"
102
- shift 3 || true
103
- local ts payload
104
- ts="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
105
- payload=$(printf '{"time":"%s","event":"%s","profile":"%s","status":"%s","trace_id":"%s","command":"%s"' \
106
- "$ts" "$event" "$profile" "$status" "$DOT_TRACE_ID" "${DOT_COMMAND:-unknown}")
107
- while [[ $# -gt 0 ]]; do
108
- payload+=$(printf ',"%s":"%s"' "${1%%=*}" "${1#*=}")
109
- shift
110
- done
111
- payload+='}'
112
- dot_jsonl_append "agent-sessions.jsonl" "$payload"
113
- }
114
-
115
- dot_agent_session_tail() {
116
- local count="${1:-20}"
117
- local sessions_file="$_DOT_LOG_STATE_DIR/agent-sessions.jsonl"
118
- if [[ ! -f "$sessions_file" ]]; then
119
- echo "No agent sessions recorded yet."
120
- echo "Agent sessions are recorded at: $sessions_file"
121
- return 0
122
- fi
123
- tail -n "$count" "$sessions_file"
124
- }
125
-
126
- dot_agent_checkpoint_create() {
127
- local profile="$1" status="${2:-ready}"
128
- shift 2 || true
129
-
130
- local checkpoint_dir checkpoint_id checkpoint_file created_at
131
- local argv_json='[]'
132
- checkpoint_dir="$(dot_agent_checkpoint_dir)"
133
- checkpoint_id="${DOT_AGENT_CHECKPOINT_ID:-$(date -u +%Y%m%dT%H%M%SZ)-${DOT_TRACE_ID}}"
134
- checkpoint_file="$checkpoint_dir/${checkpoint_id}.json"
135
- created_at="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
136
-
137
- mkdir -p "$checkpoint_dir" 2>/dev/null || return 0
138
-
139
- if [[ "$#" -gt 0 ]] && command -v jq >/dev/null 2>&1; then
140
- argv_json="$(printf '%s\n' "$@" | jq -R . | jq -s .)"
141
- fi
142
-
143
- if command -v jq >/dev/null 2>&1; then
144
- jq -n \
145
- --arg id "$checkpoint_id" \
146
- --arg time "$created_at" \
147
- --arg profile "$profile" \
148
- --arg status "$status" \
149
- --arg trace_id "$DOT_TRACE_ID" \
150
- --arg command "${DOT_COMMAND:-unknown}" \
151
- --arg cwd "$(pwd)" \
152
- --arg approval "${DOT_AGENT_APPROVAL:-}" \
153
- --arg filesystem "${DOT_AGENT_FILESYSTEM:-}" \
154
- --arg network "${DOT_AGENT_NETWORK:-}" \
155
- --arg mcp_profile "${DOT_AGENT_MCP_PROFILE:-}" \
156
- --arg max_steps "${DOT_AGENT_MAX_STEPS:-}" \
157
- --argjson argv "$argv_json" \
158
- '{
159
- id: $id,
160
- created_at: $time,
161
- profile: $profile,
162
- status: $status,
163
- trace_id: $trace_id,
164
- command: $command,
165
- cwd: $cwd,
166
- argv: $argv,
167
- env: {
168
- approval: $approval,
169
- filesystem: $filesystem,
170
- network: $network,
171
- mcp_profile: $mcp_profile,
172
- max_steps: $max_steps
173
- }
174
- }' >"$checkpoint_file"
175
- else
176
- printf '{"id":"%s","created_at":"%s","profile":"%s","status":"%s","trace_id":"%s","command":"%s"}\n' \
177
- "$checkpoint_id" "$created_at" "$profile" "$status" "$DOT_TRACE_ID" "${DOT_COMMAND:-unknown}" >"$checkpoint_file"
178
- fi
179
-
180
- printf '%s\n' "$checkpoint_file"
181
- }
182
-
183
- # Convenience wrappers for human-readable log output.
184
- # Source this file and call log_info/log_warn/log_error/log_success instead of
185
- # ui_info/ui_warn/ui_err/ui_ok when the caller prefers semantic log names.
186
- log_info() { ui_info "$*"; }
187
- log_warn() { ui_warn "$*"; }
188
- log_error() { ui_err "$*"; }
189
- log_success() { ui_ok "$*"; }
190
-
191
- dot_agent_checkpoint_tail() {
192
- local count="${1:-20}"
193
- local checkpoint_dir file
194
- checkpoint_dir="$(dot_agent_checkpoint_dir)"
195
- [[ -d "$checkpoint_dir" ]] || return 0
196
- find "$checkpoint_dir" -maxdepth 1 -type f -name '*.json' | sort | tail -n "$count" | while IFS= read -r file; do
197
- [[ -n "$file" ]] || continue
198
- cat "$file"
199
- done
200
- }
@@ -1,112 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
- # Sourced by scripts/dot/commands/*.sh; inherits set -euo pipefail.
4
- # Dotfiles CLI Platform Abstraction
5
- # Unified helpers for macOS, Linux, and WSL parity.
6
-
7
- set -euo pipefail
8
-
9
- if ! declare -F dot_is_wsl >/dev/null; then
10
- dot_is_wsl() {
11
- [[ -f /proc/sys/kernel/osrelease ]] && grep -qiE '(microsoft|wsl)' /proc/sys/kernel/osrelease
12
- }
13
- fi
14
-
15
- dot_platform_id() {
16
- case "$(uname -s)" in
17
- Darwin) printf "%s\n" "macos" ;;
18
- Linux)
19
- if dot_is_wsl; then
20
- printf "%s\n" "wsl"
21
- else
22
- printf "%s\n" "linux"
23
- fi
24
- ;;
25
- *) printf "%s\n" "unknown" ;;
26
- esac
27
- }
28
-
29
- dot_host_os() {
30
- if dot_is_wsl; then
31
- printf "%s\n" "windows"
32
- return
33
- fi
34
- case "$(uname -s)" in
35
- Darwin) printf "%s\n" "macos" ;;
36
- Linux) printf "%s\n" "linux" ;;
37
- *) printf "%s\n" "unknown" ;;
38
- esac
39
- }
40
-
41
- # Convert host-native path into Linux path when inside WSL.
42
- #
43
- # Contract:
44
- # - In WSL: requires `wslpath`. Returns 2 (with a stderr error) if
45
- # missing — callers must not silently treat a Windows-style path
46
- # as Linux-safe.
47
- # - Outside WSL: paths are already Linux/macOS paths; echoes the
48
- # input unchanged and returns 0.
49
- # - Empty input returns 1 (usage error).
50
- dot_path_to_unix() {
51
- local p="${1:-}"
52
- [[ -n "$p" ]] || return 1
53
- if dot_is_wsl; then
54
- if ! command -v wslpath >/dev/null 2>&1; then
55
- printf "dot_path_to_unix: wslpath required in WSL but not found\n" >&2
56
- return 2
57
- fi
58
- wslpath -u "$p"
59
- return
60
- fi
61
- printf "%s\n" "$p"
62
- }
63
-
64
- # Convert Linux path into host-native path when inside WSL.
65
- # Same contract as dot_path_to_unix (see above).
66
- dot_path_to_native() {
67
- local p="${1:-}"
68
- [[ -n "$p" ]] || return 1
69
- if dot_is_wsl; then
70
- if ! command -v wslpath >/dev/null 2>&1; then
71
- printf "dot_path_to_native: wslpath required in WSL but not found\n" >&2
72
- return 2
73
- fi
74
- wslpath -w "$p"
75
- return
76
- fi
77
- printf "%s\n" "$p"
78
- }
79
-
80
- dot_open_path() {
81
- local target="${1:-}"
82
- [[ -n "$target" ]] || return 1
83
-
84
- case "$(dot_platform_id)" in
85
- macos)
86
- command open "$target"
87
- ;;
88
- wsl)
89
- if command -v wslview >/dev/null 2>&1; then
90
- wslview "$target"
91
- else
92
- explorer.exe "$(dot_path_to_native "$target")"
93
- fi
94
- ;;
95
- linux)
96
- xdg-open "$target"
97
- ;;
98
- *)
99
- return 1
100
- ;;
101
- esac
102
- }
103
-
104
- dot_require_platform() {
105
- local current
106
- current="$(dot_platform_id)"
107
- for allowed in "$@"; do
108
- [[ "$current" == "$allowed" ]] && return 0
109
- done
110
- echo " ! This command requires $* (detected: $current)" >&2
111
- exit 2
112
- }