@sebastienrousseau/dotfiles 0.2.520 → 0.2.522

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 (323) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/LICENSE-APACHE +190 -0
  3. package/LICENSE-MIT +21 -0
  4. package/README.md +43 -37
  5. package/install.sh +76 -10
  6. package/package.json +7 -7
  7. package/tools/README.md +49 -0
  8. package/tools/ci/install-chezmoi-verified.sh +68 -0
  9. package/docs/.vitepress/reports/localization-readability-audit.md +0 -73
  10. package/docs/AI.md +0 -179
  11. package/docs/ARCHITECTURE.md +0 -117
  12. package/docs/CNAME +0 -1
  13. package/docs/CONFIG_STRATEGY.md +0 -124
  14. package/docs/COPYRIGHT +0 -7
  15. package/docs/ECOSYSTEM.md +0 -220
  16. package/docs/GOLD-STANDARD-AUDIT.md +0 -352
  17. package/docs/GOVERNANCE.md +0 -98
  18. package/docs/MAINTAINERS.md +0 -41
  19. package/docs/MINIMUM-TOOLCHAIN.md +0 -100
  20. package/docs/NAMING_CONVENTIONS.md +0 -102
  21. package/docs/OPENCODE.md +0 -127
  22. package/docs/README.md +0 -84
  23. package/docs/STRUCTURE.md +0 -102
  24. package/docs/adr/ADR-001-ci-cd-pipeline.md +0 -118
  25. package/docs/adr/ADR-002-shell-performance.md +0 -130
  26. package/docs/adr/ADR-003-security-first.md +0 -158
  27. package/docs/adr/ADR-004-cli-architecture.md +0 -171
  28. package/docs/adr/ADR-005-chezmoi-choice.md +0 -99
  29. package/docs/adr/ADR-006-shell-selection.md +0 -124
  30. package/docs/adr/ADR-007-multi-shell-parity.md +0 -62
  31. package/docs/adr/ADR-008-alias-system-architecture.md +0 -95
  32. package/docs/adr/ADR-009-wallpaper-driven-theming.md +0 -131
  33. package/docs/adr/ADR-010-starship-transient-prompt.md +0 -144
  34. package/docs/adr/ADR-011-nushell-tier3-keep.md +0 -144
  35. package/docs/adr/ADR-012-ai-fleet-local-proxy.md +0 -79
  36. package/docs/adr/README.md +0 -40
  37. package/docs/architecture/AI_COST_OPTIMIZATION.md +0 -144
  38. package/docs/architecture/ARCHITECTURE.md +0 -20
  39. package/docs/architecture/INTEROP.md +0 -44
  40. package/docs/architecture/REPO_LAYOUT.md +0 -241
  41. package/docs/architecture/WALKTHROUGH.md +0 -86
  42. package/docs/architecture/fleet-deployment.md +0 -77
  43. package/docs/archive/EUXIS_2026_REVIEW.md +0 -127
  44. package/docs/archive/LEGACY_ROADMAP.md +0 -6
  45. package/docs/archive/MILESTONE_v0.2.493.md +0 -47
  46. package/docs/archive/PLAN.md +0 -199
  47. package/docs/archive/REPO_AUDIT.md +0 -31
  48. package/docs/articles/.pages +0 -6
  49. package/docs/articles/2026-07-05-custom-mkdocs-material-dark-theme.md +0 -216
  50. package/docs/articles/2026-07-05-fish-startup-abbr.md +0 -153
  51. package/docs/articles/2026-07-05-master-to-main-rename-runbook.md +0 -128
  52. package/docs/articles/index.md +0 -36
  53. package/docs/guides/INSTALL.md +0 -144
  54. package/docs/guides/MACOS_ICLOUD_SYMLINKS.md +0 -121
  55. package/docs/guides/NEOVIM_IDE_GUIDE.md +0 -61
  56. package/docs/guides/THEMING.md +0 -230
  57. package/docs/guides/TROUBLESHOOTING.md +0 -176
  58. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +0 -792
  59. package/docs/index.md +0 -132
  60. package/docs/interop/A2A.md +0 -39
  61. package/docs/interop/POWERSHELL.md +0 -102
  62. package/docs/manual/00-introduction.md +0 -89
  63. package/docs/manual/01-concepts/01-architecture.md +0 -138
  64. package/docs/manual/01-concepts/02-trust-model.md +0 -183
  65. package/docs/manual/01-concepts/03-theme-engine.md +0 -186
  66. package/docs/manual/01-concepts/04-fleet.md +0 -148
  67. package/docs/manual/01-concepts/05-self-healing.md +0 -204
  68. package/docs/manual/02-tutorials/01-first-install.md +0 -197
  69. package/docs/manual/02-tutorials/02-add-wallpaper.md +0 -216
  70. package/docs/manual/02-tutorials/03-create-profile.md +0 -244
  71. package/docs/manual/02-tutorials/04-encrypt-secret.md +0 -281
  72. package/docs/manual/02-tutorials/05-deploy-fleet.md +0 -283
  73. package/docs/manual/03-reference/01-dot-cli.md +0 -475
  74. package/docs/manual/03-reference/02-config-files.md +0 -265
  75. package/docs/manual/03-reference/03-environment.md +0 -124
  76. package/docs/manual/03-reference/04-templates.md +0 -190
  77. package/docs/manual/03-reference/05-feature-flags.md +0 -187
  78. package/docs/manual/04-cookbook/01-recipes.md +0 -285
  79. package/docs/manual/04-cookbook/02-troubleshooting.md +0 -351
  80. package/docs/manual/04-cookbook/03-faq.md +0 -175
  81. package/docs/manual/05-appendices/A-platform-matrix.md +0 -101
  82. package/docs/manual/05-appendices/B-security-checklist.md +0 -85
  83. package/docs/manual/05-appendices/C-glossary.md +0 -40
  84. package/docs/manual/05-appendices/D-bibliography.md +0 -58
  85. package/docs/manual/05-appendices/E-license.md +0 -38
  86. package/docs/manual/_toc.yml +0 -58
  87. package/docs/manual/command-index.md +0 -175
  88. package/docs/manual/concept-index.md +0 -170
  89. package/docs/manual/index.md +0 -66
  90. package/docs/migration/README.md +0 -81
  91. package/docs/migration/from-bare-git-repo.md +0 -156
  92. package/docs/migration/from-gnu-stow.md +0 -165
  93. package/docs/migration/from-plain-chezmoi.md +0 -148
  94. package/docs/migration/from-yadm.md +0 -187
  95. package/docs/operations/ARCHITECTURE_ROADMAP.md +0 -7
  96. package/docs/operations/ATTESTATION.md +0 -44
  97. package/docs/operations/CI_CADENCE.md +0 -107
  98. package/docs/operations/CI_COMPOSITES.md +0 -156
  99. package/docs/operations/COMPLETIONS.md +0 -123
  100. package/docs/operations/COVERAGE.md +0 -204
  101. package/docs/operations/DRIFT.md +0 -107
  102. package/docs/operations/HARD_AUDIT_2026.md +0 -631
  103. package/docs/operations/MAINTENANCE.md +0 -63
  104. package/docs/operations/MANIFEST.md +0 -127
  105. package/docs/operations/MIGRATION.md +0 -109
  106. package/docs/operations/OPERATIONS.md +0 -188
  107. package/docs/operations/PERFORMANCE.md +0 -133
  108. package/docs/operations/PERFORMANCE_BUDGETS.md +0 -196
  109. package/docs/operations/REGISTRY.md +0 -90
  110. package/docs/operations/RELEASE_PIPELINE.md +0 -128
  111. package/docs/operations/RELIABILITY.md +0 -122
  112. package/docs/operations/RFC_v0_2_503_reorganization.md +0 -280
  113. package/docs/operations/ROADMAP.md +0 -10
  114. package/docs/operations/ROADMAP_2026.md +0 -7
  115. package/docs/operations/ROADMAP_V0_2_503.md +0 -10
  116. package/docs/operations/TESTING.md +0 -216
  117. package/docs/operations/TRACEABILITY.md +0 -44
  118. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +0 -65
  119. package/docs/operations/VERSION_SYNC.md +0 -393
  120. package/docs/packaging.md +0 -222
  121. package/docs/reference/ALIASES.md +0 -131
  122. package/docs/reference/ALIASES_CHEATSHEET.md +0 -32
  123. package/docs/reference/ALIASES_DEPRECATIONS.md +0 -13
  124. package/docs/reference/FEATURE-MATRIX.md +0 -646
  125. package/docs/reference/FEATURES.md +0 -66
  126. package/docs/reference/FONTS.md +0 -112
  127. package/docs/reference/POWERSHELL_PARITY.md +0 -82
  128. package/docs/reference/PROFILES.md +0 -69
  129. package/docs/reference/SCREENSHOTS.md +0 -121
  130. package/docs/reference/SCRIPTS.md +0 -71
  131. package/docs/reference/SUPPORT_MATRIX.md +0 -80
  132. package/docs/reference/THEMES.md +0 -117
  133. package/docs/reference/TOOLS.md +0 -110
  134. package/docs/reference/UTILS.md +0 -243
  135. package/docs/registry.json +0 -6
  136. package/docs/schema/dot-env-v1.json +0 -110
  137. package/docs/schema/dot-registry-v1.json +0 -33
  138. package/docs/security/AI_ACT_COMPLIANCE.md +0 -94
  139. package/docs/security/AUDIT_BYPASS.md +0 -103
  140. package/docs/security/AUTOMATION_SECRETS.md +0 -26
  141. package/docs/security/CI_EGRESS_ALLOWLIST.md +0 -127
  142. package/docs/security/CI_PINNING.md +0 -129
  143. package/docs/security/COMMIT_SIGNING.md +0 -138
  144. package/docs/security/COMPLIANCE.md +0 -458
  145. package/docs/security/DEPS_DEV_EXCEPTIONS.md +0 -86
  146. package/docs/security/DISCLOSURE.md +0 -130
  147. package/docs/security/ENCRYPTION.md +0 -57
  148. package/docs/security/FMEA.md +0 -159
  149. package/docs/security/FUZZING.md +0 -209
  150. package/docs/security/HISTORY_FILTERING.md +0 -132
  151. package/docs/security/INCIDENT_RESPONSE.md +0 -579
  152. package/docs/security/INSTALL_VERIFICATION.md +0 -122
  153. package/docs/security/KEYS.md +0 -49
  154. package/docs/security/KEY_ROTATION.md +0 -303
  155. package/docs/security/MCP_POLICY.md +0 -78
  156. package/docs/security/POLICY_RELEASES.md +0 -37
  157. package/docs/security/README.md +0 -28
  158. package/docs/security/SCORECARD.md +0 -195
  159. package/docs/security/SECRETS.md +0 -158
  160. package/docs/security/SECURITY.md +0 -45
  161. package/docs/security/SECURITY_CHECKLIST.md +0 -55
  162. package/docs/security/SHELL_EXEMPTIONS.md +0 -145
  163. package/docs/security/SOUP_REGISTER.md +0 -36
  164. package/docs/security/THREAT_MODEL.md +0 -130
  165. package/docs/security/VERIFICATION_VALIDATION.md +0 -228
  166. package/docs/security/VERIFY_RELEASE.md +0 -201
  167. package/docs/security/security-pubkey.asc +0 -15
  168. package/docs/stylesheets/extra.css +0 -444
  169. package/docs/themes/README.md +0 -10
  170. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +0 -30
  171. package/docs/themes/hero-shot.svg +0 -78
  172. package/scripts/README.md +0 -123
  173. package/scripts/ci/check-copyright-headers.sh +0 -8
  174. package/scripts/ci/check-shell-preamble.sh +0 -8
  175. package/scripts/ci/guard-gitleaks-checkout.sh +0 -8
  176. package/scripts/demo/record.sh +0 -43
  177. package/scripts/diagnostics/a2a-conformance.sh +0 -163
  178. package/scripts/diagnostics/alias-governance.sh +0 -165
  179. package/scripts/diagnostics/aliases-cheatsheet.sh +0 -74
  180. package/scripts/diagnostics/aliases-manifest.sh +0 -77
  181. package/scripts/diagnostics/attest-verify.sh +0 -147
  182. package/scripts/diagnostics/benchmark.sh +0 -408
  183. package/scripts/diagnostics/conflicts.sh +0 -73
  184. package/scripts/diagnostics/doctor-unified.sh +0 -43
  185. package/scripts/diagnostics/doctor.sh +0 -797
  186. package/scripts/diagnostics/drift-dashboard.sh +0 -203
  187. package/scripts/diagnostics/health.sh +0 -656
  188. package/scripts/diagnostics/history-analysis.sh +0 -86
  189. package/scripts/diagnostics/mcp-doctor.sh +0 -582
  190. package/scripts/diagnostics/perf.sh +0 -453
  191. package/scripts/diagnostics/scorecard.sh +0 -120
  192. package/scripts/diagnostics/secret-governance.sh +0 -65
  193. package/scripts/diagnostics/security-score.sh +0 -467
  194. package/scripts/diagnostics/smoke-test.sh +0 -88
  195. package/scripts/diagnostics/snapshot.sh +0 -90
  196. package/scripts/diagnostics/verify.sh +0 -108
  197. package/scripts/diagnostics/verify_state.sh +0 -73
  198. package/scripts/diagnostics/version-locks.sh +0 -94
  199. package/scripts/diagnostics/workstation-attestation.sh +0 -212
  200. package/scripts/dot/commands/agent.sh +0 -535
  201. package/scripts/dot/commands/agents.sh +0 -352
  202. package/scripts/dot/commands/ai.sh +0 -600
  203. package/scripts/dot/commands/aliases.sh +0 -277
  204. package/scripts/dot/commands/appearance.sh +0 -110
  205. package/scripts/dot/commands/completion.sh +0 -171
  206. package/scripts/dot/commands/core.sh +0 -217
  207. package/scripts/dot/commands/diagnostics.sh +0 -265
  208. package/scripts/dot/commands/env-emit.sh +0 -203
  209. package/scripts/dot/commands/fleet.sh +0 -711
  210. package/scripts/dot/commands/init.sh +0 -185
  211. package/scripts/dot/commands/lint.sh +0 -208
  212. package/scripts/dot/commands/manual.sh +0 -169
  213. package/scripts/dot/commands/meta.sh +0 -438
  214. package/scripts/dot/commands/patterns.sh +0 -55
  215. package/scripts/dot/commands/registry.sh +0 -455
  216. package/scripts/dot/commands/restore.sh +0 -232
  217. package/scripts/dot/commands/secrets.sh +0 -296
  218. package/scripts/dot/commands/security.sh +0 -102
  219. package/scripts/dot/commands/tools.sh +0 -570
  220. package/scripts/dot/data/alias-deprecations.tsv +0 -2
  221. package/scripts/dot/powershell/Dot.psm1 +0 -319
  222. package/scripts/fonts/install-nerd-fonts.sh +0 -75
  223. package/scripts/fonts/patch-fonts.sh +0 -36
  224. package/scripts/git-hooks/install.sh +0 -12
  225. package/scripts/git-hooks/pre-commit +0 -12
  226. package/scripts/git-hooks/pre-commit-audit.sh +0 -146
  227. package/scripts/git-hooks/pre-push +0 -105
  228. package/scripts/git-hooks/prepare-commit-msg +0 -29
  229. package/scripts/lib/secrets_provider.sh +0 -200
  230. package/scripts/nvim/headless-upgrade.lua +0 -81
  231. package/scripts/ops/ai-setup.sh +0 -71
  232. package/scripts/ops/bundle.sh +0 -104
  233. package/scripts/ops/chaos.sh +0 -50
  234. package/scripts/ops/chezmoi-apply.sh +0 -333
  235. package/scripts/ops/chezmoi-diff.sh +0 -16
  236. package/scripts/ops/chezmoi-remove.sh +0 -46
  237. package/scripts/ops/chezmoi-update.sh +0 -67
  238. package/scripts/ops/heal-chezmoi.sh +0 -87
  239. package/scripts/ops/heal-system.sh +0 -129
  240. package/scripts/ops/heal-tools.sh +0 -297
  241. package/scripts/ops/heal.sh +0 -223
  242. package/scripts/ops/post-apply-repair.sh +0 -107
  243. package/scripts/ops/prewarm.sh +0 -128
  244. package/scripts/ops/release.sh +0 -262
  245. package/scripts/ops/rollback.sh +0 -613
  246. package/scripts/ops/setup.sh +0 -138
  247. package/scripts/ops/teleport.sh +0 -34
  248. package/scripts/qa/check-feature-matrix.sh +0 -296
  249. package/scripts/qa/check-version-consistency.sh +0 -12
  250. package/scripts/qa/coverage-baseline.sh +0 -61
  251. package/scripts/qa/docs-coverage.sh +0 -118
  252. package/scripts/qa/examples-coverage.sh +0 -94
  253. package/scripts/qa/powershell-contract.ps1 +0 -95
  254. package/scripts/qa/reliability-audit.sh +0 -139
  255. package/scripts/qa/scorecard-snapshot.sh +0 -128
  256. package/scripts/qa/traceability-coverage.sh +0 -124
  257. package/scripts/qa/validate-examples.sh +0 -90
  258. package/scripts/qa/wsl-contract.sh +0 -12
  259. package/scripts/secrets/age-init.sh +0 -82
  260. package/scripts/secrets/create-secrets-file.sh +0 -46
  261. package/scripts/secrets/encrypt-ssh-key.sh +0 -44
  262. package/scripts/security/backup.sh +0 -58
  263. package/scripts/security/check-disclosure-key-expiry.sh +0 -111
  264. package/scripts/security/dns-doh.sh +0 -52
  265. package/scripts/security/encryption-check.sh +0 -55
  266. package/scripts/security/enforce-policies.sh +0 -552
  267. package/scripts/security/firewall.sh +0 -91
  268. package/scripts/security/lock-configs.sh +0 -67
  269. package/scripts/security/lock-screen.sh +0 -56
  270. package/scripts/security/manage-secrets.sh +0 -429
  271. package/scripts/security/ssh-cert.sh +0 -204
  272. package/scripts/security/telemetry-kill.sh +0 -51
  273. package/scripts/security/usb-safety.sh +0 -52
  274. package/scripts/theme/apply-gnome-theme.sh +0 -333
  275. package/scripts/theme/extract-heic-frames.sh +0 -115
  276. package/scripts/theme/extract-theme.py +0 -1020
  277. package/scripts/theme/install-boot-logo.sh +0 -63
  278. package/scripts/theme/install-catppuccin-themes.sh +0 -371
  279. package/scripts/theme/install-cursors.sh +0 -26
  280. package/scripts/theme/install-file-icons.sh +0 -27
  281. package/scripts/theme/install-grub-theme.sh +0 -62
  282. package/scripts/theme/install-lock-icon.sh +0 -31
  283. package/scripts/theme/merge-wallpaper.sh +0 -146
  284. package/scripts/theme/rebuild-themes.sh +0 -603
  285. package/scripts/theme/switch.sh +0 -476
  286. package/scripts/theme/wallpaper-rotate.sh +0 -137
  287. package/scripts/theme/wallpaper-sync.sh +0 -690
  288. package/scripts/tools/cmatrix.sh +0 -22
  289. package/scripts/tools/detect-collisions.py +0 -103
  290. package/scripts/tools/emoji-picker.sh +0 -49
  291. package/scripts/tools/figlet-banner.sh +0 -19
  292. package/scripts/tools/log-rotate.sh +0 -31
  293. package/scripts/tools/lolcat-wrap.sh +0 -20
  294. package/scripts/tools/pipes.sh +0 -49
  295. package/scripts/tuning/linux.sh +0 -186
  296. package/scripts/tuning/macos.sh +0 -56
  297. package/scripts/uninstall.sh +0 -86
  298. package/scripts/verify-release-versions +0 -156
  299. package/scripts/version-sync.sh +0 -714
  300. package/templates/chezmoi-data/geekom-a9.toml.example +0 -21
  301. package/templates/chezmoi-data/mac-m1.toml.example +0 -16
  302. package/templates/chezmoi-data/mac-t2-linux.toml.example +0 -21
  303. package/templates/chezmoi-data/surface-pro-7p.toml.example +0 -21
  304. package/templates/projects/go/.github/workflows/ci.yml +0 -31
  305. package/templates/projects/go/README.md +0 -7
  306. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +0 -8
  307. package/templates/projects/go/go.mod +0 -3
  308. package/templates/projects/go/go.sum +0 -0
  309. package/templates/projects/molecule/README.md +0 -7
  310. package/templates/projects/molecule/converge.yml +0 -7
  311. package/templates/projects/molecule/molecule.yml +0 -16
  312. package/templates/projects/node/.github/workflows/ci.yml +0 -30
  313. package/templates/projects/node/README.md +0 -7
  314. package/templates/projects/node/package-lock.json +0 -12
  315. package/templates/projects/node/package.json +0 -10
  316. package/templates/projects/node/src/index.js +0 -3
  317. package/templates/projects/packer/README.md +0 -15
  318. package/templates/projects/packer/main.pkr.hcl +0 -15
  319. package/templates/projects/python/.github/workflows/ci.yml +0 -34
  320. package/templates/projects/python/README.md +0 -7
  321. package/templates/projects/python/pyproject.toml +0 -25
  322. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +0 -2
  323. package/templates/projects/python/tests/test_basic.py +0 -3
@@ -1,40 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Architecture Decision Records
6
-
7
- This directory contains Architecture Decision Records (ADRs) that document
8
- significant architectural decisions made in this project.
9
-
10
- ## Index
11
-
12
- | ADR | Title | Status |
13
- |-----|-------|--------|
14
- | [ADR-001](ADR-001-ci-cd-pipeline.md) | Multi-stage CI/CD Pipeline Design | Accepted |
15
- | [ADR-002](ADR-002-shell-performance.md) | Shell Performance Optimization Strategy | Accepted |
16
- | [ADR-003](ADR-003-security-first.md) | Security-First Approach | Accepted |
17
- | [ADR-004](ADR-004-cli-architecture.md) | Chezmoi + Custom CLI Wrapper Architecture | Accepted |
18
- | [ADR-005](ADR-005-chezmoi-choice.md) | Chezmoi as Dotfiles Manager | Accepted |
19
- | [ADR-006](ADR-006-shell-selection.md) | Zsh as Default Shell | Accepted |
20
- | [ADR-007](ADR-007-multi-shell-parity.md) | Multi-Shell Parity Strategy | Accepted |
21
- | [ADR-008](ADR-008-alias-system-architecture.md) | Alias System Architecture | Accepted |
22
- | [ADR-009](ADR-009-wallpaper-driven-theming.md) | Wallpaper-Driven Theming Engine | Accepted |
23
- | [ADR-010](ADR-010-starship-transient-prompt.md) | Enable Starship Transient Prompt in Zsh and Fish | Accepted |
24
- | [ADR-011](ADR-011-nushell-tier3-keep.md) | Keep Nushell as Tier-3 Reference with Minimum-Viable Caching | Accepted |
25
- | [ADR-012](ADR-012-ai-fleet-local-proxy.md) | AI Fleet — Native Local Claude Proxy and Cockpit | Accepted |
26
-
27
- ## ADR Format
28
-
29
- Each ADR follows this structure:
30
-
31
- - **Status**: Proposed, Accepted, Deprecated, Superseded
32
- - **Context**: The situation and forces at play
33
- - **Decision**: The change being made
34
- - **Consequences**: The resulting context after applying the decision
35
-
36
- ## References
37
-
38
- - [Documenting Architecture Decisions](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions)
39
- - [ADR Tools](https://github.com/npryce/adr-tools)
40
-
@@ -1,144 +0,0 @@
1
- ---
2
- title: "AI Cost Optimization"
3
- date: 2026-05-24
4
- ---
5
-
6
- # AI Cost Optimization
7
-
8
- This dotfiles framework ships an opinionated AI-cost layer designed to
9
- keep token spend predictable and low while still using the smartest
10
- model for orchestration. Two ideas drive it:
11
-
12
- 1. **Delegate the grunt work.** Have the expensive smart model
13
- orchestrate, and a cheap fast model do the file reads, edits, and
14
- verification. The smart model sees one tool call and the final
15
- `git diff` instead of every intermediate read.
16
- 2. **Account every call.** Every invocation through `dot ai <provider>`
17
- appends a JSONL entry so you can see spend across all providers in
18
- one report, not just per-tool dashboards.
19
-
20
- ## Quick reference
21
-
22
- ```sh
23
- dot ai delegate "rename every UserService method that starts with get to fetch"
24
- dot ai cost # all-time overview
25
- dot ai cost --since 7 # last 7 days
26
- dot ai cost --fails # only failures + breakdown by failure type
27
- ```
28
-
29
- Inside Claude Code: `/vibe`, `/vibe-report`, `/vibeon`, `/vibeoff`,
30
- `/vibestatus`, `/vibe-model-pick`, `/vibe-model-clear`.
31
-
32
- ## The delegator pattern
33
-
34
- The pattern comes from [pcx-wave/vibe-skill][vibe-skill]. Mistral Vibe
35
- is the default delegate but the same wrapper accepts any model Vibe
36
- knows about (DeepSeek V4 Flash, Gemini Flash, etc.).
37
-
38
- [vibe-skill]: https://github.com/pcx-wave/vibe-skill
39
-
40
- Cost comparison (May 2026 list prices, blended 85 in / 15 out typical
41
- of coding tasks):
42
-
43
- | Task | Claude Sonnet 4.6 ($3 / $15) | Mistral Medium 3.5 ($1.50 / $7.50) | DeepSeek V4 Flash ($0.14 / $0.28) |
44
- |---|---|---|---|
45
- | 1-file tweak (800 tok) | ~$0.004 | ~$0.002 | ~$0.0001 |
46
- | 6-read task (4,800 tok) | ~$0.023 | ~$0.012 | ~$0.0008 |
47
- | Multi-file refactor (12,000 tok) | ~$0.058 | ~$0.029 | ~$0.002 |
48
-
49
- Real-world stats from 254 vibe-skill runs over 10 days (May 2026):
50
-
51
- | | Amount |
52
- |---|---|
53
- | Actually paid (Mistral Pro prorated + DeepSeek pay-as-you-go) | **$10.35** |
54
- | Same workload pay-as-you-go via Mistral API | $46.61 |
55
- | Same workload on Claude Sonnet 4.6 | $179.91 |
56
- | Saved vs Claude | **$169.56 (17.4× cheaper)** |
57
-
58
- Claude itself contributes ~500-1500 tokens per delegation as
59
- orchestration overhead. Even with that overhead the savings dominate
60
- for anything beyond a one-line edit.
61
-
62
- ## Pieces deployed by this repo
63
-
64
- | Component | Source path | Deployed to | Role |
65
- |---|---|---|---|
66
- | `vibe` skill | `defaults/dot_claude/skills/vibe/` | `~/.claude/skills/vibe/` | Claude Code slash commands (`/vibe`, `/vibe-report`, etc.) |
67
- | Delegator binary | `defaults/dot_claude/skills/vibe/tools/executable_vibe-delegate` | `~/.claude/skills/vibe/tools/vibe-delegate` | Runs the cheap-model task in a pseudo-TTY, parses streaming JSON, syntax-checks changes, logs the run |
68
- | Reporter | `defaults/dot_claude/skills/vibe/tools/executable_delegate-report` | `~/.claude/skills/vibe/tools/delegate-report` | Reads the JSONL log, prints overview / by-model / by-project / failure tables |
69
- | CLI shim | `scripts/dot/commands/ai.sh` | `bin/dot ai delegate` / `bin/dot ai cost` | Same delegator + reporter, callable from the terminal without Claude Code |
70
- | Unified log hook | `_ai_log_run` in `ai.sh` | runs inside `run_ai_with_context` | Appends one JSONL line per `dot ai <provider>` invocation |
71
- | Log file | runtime-managed | `~/.local/share/delegate-runs.jsonl` | One line per run; `dot ai cost` reads it |
72
-
73
- ## State files
74
-
75
- | File | Owner | Purpose |
76
- |---|---|---|
77
- | `~/.local/share/delegate-runs.jsonl` | runtime | One JSONL entry per AI invocation (vibe + every other provider) |
78
- | `~/.local/share/vibe-auto.flag` | `/vibeon` / `/vibeoff` | When present, Claude auto-delegates coding tasks to Vibe |
79
- | `~/.local/share/vibe-model.flag` | `/vibe-model-pick` | Override the Vibe model for the next runs; cleared by `/vibe-model-clear` |
80
- | `~/.vibe/config.toml` | user | Vibe's own provider / model configuration |
81
-
82
- ## Reading the report
83
-
84
- ```
85
- DELEGATE REPORT 2026-05-17 → 2026-05-24
86
- Runs : 27 (ok: 25, failed: 2, timeout: 0)
87
- Success rate : 92%
88
- Avg duration : 18.4s
89
- Tokens total : 4,231,082
90
- Delegate cost : $1.4711
91
- Claude equiv : $14.8294
92
- Saved : $13.3583 (90% cheaper than Claude)
93
- ```
94
-
95
- `Claude equiv` is what the same workload would have cost on Claude
96
- Sonnet 4.6 ($3 / $15 per M tokens, blended at the same in/out ratio).
97
- The savings line is the difference. Failure types are broken out per
98
- model so you can see which delegate is most reliable for your repo.
99
-
100
- ## Provider coverage
101
-
102
- Every provider exposed via `dot ai <provider>` is logged best-effort.
103
- For providers that don't surface token counts in their CLI output, the
104
- report still tracks: timestamp, project, exit code, duration, prompt
105
- word count. Token / cost fields stay zero for those providers — the
106
- report tolerates the gap and aggregates by `model` regardless.
107
-
108
- Providers tracked today:
109
-
110
- | Provider | Binary | Logged | Tokens surfaced? |
111
- |---|---|---|---|
112
- | Claude Code | `claude` | yes | no (CLI doesn't expose) |
113
- | Codex | `codex` | yes | no |
114
- | Copilot CLI | `copilot` | yes | no |
115
- | Gemini CLI | `gemini` | yes | no |
116
- | Goose | `goose` | yes | no |
117
- | Kimi CLI | `kimi` | yes | no |
118
- | Aider | `aider` | yes | no |
119
- | OpenCode | `opencode` | yes | no |
120
- | Autohand | `autohand` | yes | no |
121
- | Mistral Vibe | `vibe` | yes | **yes** (via delegator) |
122
- | Qwen | `qwen` | yes | no |
123
- | ZAI | `zai` | yes | no |
124
- | Shell-GPT | `sgpt` | yes | no |
125
- | Ollama (local) | `ollama` | yes | n/a (no cost) |
126
- | Kiro CLI | `kiro-cli` | yes | no |
127
-
128
- ## Future work
129
-
130
- Not implemented yet, ordered roughly by likely impact:
131
-
132
- 1. **Provider-level budget guard.** `dot ai budget --set 50/month`
133
- would warn at 80% and refuse new requests at 100% (overridable).
134
- Needs per-provider cost estimation hooks beyond what each CLI
135
- surfaces today.
136
- 2. **Prompt response cache.** Many coding-helper queries are
137
- deterministic ("syntax for X in Y"). A local cache keyed on prompt
138
- hash + provider could short-circuit repeat queries.
139
- 3. **Per-task-class model routing.** `dot ai delegate --class refactor`
140
- would pick the cheapest model that meets the quality bar for the
141
- task class. Today the user picks the model.
142
- 4. **Rate-limit awareness.** Track API rate limits from response
143
- headers, queue requests, surface a `dot ai cost --limits` view that
144
- shows time-to-reset for every provider with an active limit.
@@ -1,20 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- <!-- SPDX-License-Identifier: Apache-2.0 OR MIT -->
6
- <!-- Copyright (c) 2015-2026 Sebastien Rousseau -->
7
-
8
- # Architecture
9
-
10
- This document moved to [`../ARCHITECTURE.md`](../ARCHITECTURE.md), the
11
- canonical location required by the repository standard (`docs/ARCHITECTURE.md`,
12
- alongside `DEVELOPMENT.md` as the two entry points a contributor needs).
13
-
14
- This file is a pointer so existing links keep resolving. Do not add
15
- content here.
16
-
17
- Neighbouring architecture documents are unaffected:
18
-
19
- - [`REPO_LAYOUT.md`](REPO_LAYOUT.md) — every top-level path and why it exists
20
- - [`INTEROP.md`](INTEROP.md) — agent and MCP interoperability surfaces
@@ -1,44 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Cross-Platform Interoperability
6
-
7
- How dotfiles commands and shims map across macOS, Linux, and WSL2.
8
-
9
- ## Command Mapping
10
-
11
- | Alias / Command | macOS | Linux (Debian/Arch) | WSL2 (Windows Host) |
12
- | :--- | :--- | :--- | :--- |
13
- | `cb` (Clipboard) | `pbcopy` / `pbpaste` | `xclip` / `wl-copy` | `clip.exe` / `powershell.exe` |
14
- | `open` | `open` | `xdg-open` | `wslview` / `explorer.exe` |
15
- | `notify` | `osascript` (AppleScript) | `notify-send` / `gum log` | `powershell.exe` (Toast) / `gum` |
16
- | `win` (Paths) | N/A | N/A | `wslpath` |
17
- | `browser` | `open` | `xdg-open` | `powershell.exe Start-Process` |
18
-
19
- ## Infrastructure Parity
20
-
21
- | Feature | macOS | Linux | WSL2 |
22
- | :--- | :--- | :--- | :--- |
23
- | **Package Manager** | Homebrew (`brew`) | `apt` / `pacman` / `nix` | `apt` + Windows binaries |
24
- | **Shell Startup** | Async lazy-hydration | Async lazy-hydration | Async (optimized for IO) |
25
- | **Environment** | native plist / launchctl | systemd / dbus | systemd (if enabled) / init |
26
- | **Hardware** | Secure Enclave | TPM 2.0 / LUKS | Windows Hello bridge |
27
-
28
- ## Troubleshooting
29
-
30
- ### WSL2 IO Latency
31
-
32
- Keep projects in the Linux filesystem (`~/...`), not under `/mnt/c/`.
33
-
34
- ### WSL2 Windows Binary Path
35
-
36
- If you've disabled WSL path sharing, make sure Windows-side binaries like `clip.exe` and `explorer.exe` are still reachable in `$PATH`.
37
-
38
- ### macOS Permissions
39
-
40
- Grant your terminal "Full Disk Access" in System Settings so dotfiles can manage all configurations.
41
-
42
- ### Linux GUI Fallbacks
43
-
44
- In headless environments, GUI commands like `cb` and `open` fall back to `gum log` or terminal bell instead of hanging.
@@ -1,241 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- <!-- Copyright (c) 2015-2026 Dotfiles. All rights reserved. -->
6
-
7
- # Repository Layout
8
-
9
- A map of every top-level folder and file in this repo, grouped by purpose.
10
- Use this when you're not sure where something belongs or why a particular
11
- directory exists.
12
-
13
- For naming conventions (file prefixes, run-script numbering tiers), see
14
- [`../NAMING_CONVENTIONS.md`](../NAMING_CONVENTIONS.md). For the broader
15
- architectural rationale (philosophy, startup model, flake strategy), see
16
- [`ARCHITECTURE.md`](ARCHITECTURE.md). For the configuration-management
17
- strategy at a higher level, see [`../CONFIG_STRATEGY.md`](../CONFIG_STRATEGY.md).
18
-
19
- ---
20
-
21
- ## 1. Chezmoi source tree — the actual dotfiles
22
-
23
- Chezmoi reads this directory and deploys to `$HOME`. Filename **prefixes**
24
- carry semantics:
25
-
26
- | Prefix | Effect | Example |
27
- |------------------|---------------------------------------------|----------------------------------------------------|
28
- | `dot_` | Deployed with a leading `.` | `dot_gitconfig.tmpl` → `~/.gitconfig` |
29
- | `private_` | Sets `0600` perms on deploy | `private_dot_ssh/` → `~/.ssh/` |
30
- | `executable_` | Sets `+x` on deploy | `executable_dot` → `~/.local/bin/dot` |
31
- | `run_onchange_` | Runs once when its content hash changes | `run_onchange_20-ghostty-config.sh.tmpl` |
32
- | `.tmpl` | Rendered as a Go template at apply time | `dot_npmrc.tmpl` |
33
-
34
- > **Gotcha:** `executable_dot_foo` deploys as `.foo` (not `dot_foo`). Chezmoi
35
- > consumes the `dot_` prefix even when stacked with `executable_`.
36
-
37
- ### Chezmoi data and templates
38
-
39
- | Path | Role |
40
- |-----------------------------|----------------------------------------------------------------------------------------------|
41
- | `.chezmoi.toml.tmpl` | Init-time prompts (name, email, signing key). |
42
- | `.chezmoidata.toml` | **Source of truth** for version, profile, default theme, shell, feature flags. |
43
- | `.chezmoidata/` | Split data files: `themes.toml`, `keybinds.toml`, `hardware.toml`. |
44
- | `.chezmoiignore.tmpl` | Feature-flag-gated "don't deploy these to `$HOME`" list. |
45
- | `.chezmoitemplates/` | Reusable template partials (`aliases/`, `functions/`, `paths/`, `desktop/`). Not deployed. |
46
-
47
- ### Shell rc files (root level)
48
-
49
- | Path | Target | Purpose |
50
- |---|---|---|
51
- | `dot_bashrc`, `dot_profile` | `~/.bashrc`, `~/.profile` | Bash startup |
52
- | `dot_zshenv`, `dot_zprofile`, `dot_zshrc` | `~/.zshenv` etc. | Zsh startup chain (see [`ARCHITECTURE.md`](ARCHITECTURE.md) for order) |
53
- | `dot_vimrc`, `dot_inputrc`, `dot_psqlrc`, `dot_sqliterc`, `dot_Xresources` | `~/.*` | Classic per-tool dotfiles |
54
- | `dot_gitconfig.tmpl`, `dot_npmrc.tmpl` | `~/.gitconfig`, `~/.npmrc` | Templated — identity/tokens injected at apply |
55
- | `dot_cargo/config.toml.tmpl` | `~/.cargo/config.toml` | Rust build dirs redirected to `/tmp` |
56
- | `dot_fdignore`, `dot_noderc`, `dot_rustfmt.toml` | `~/.*` | Per-tool config |
57
- | `private_dot_netrc.tmpl`, `private_dot_ssh/` | `~/.netrc`, `~/.ssh/` | 0600 files |
58
-
59
- ### Large chezmoi directories
60
-
61
- | Path | Target | Notes |
62
- |---------------|-------------------|----------------------------------------------------------------------------------------------|
63
- | `dot_config/` | `~/.config/` | **Largest** — fish, zsh, nvim, ghostty, tmux, niri, mise, and ~90 other app configs. |
64
- | `dot_local/bin/` | `~/.local/bin/` | Every `dot-*` subcommand and helper script (the `dot` CLI lives here). |
65
- | `dot_local/share/` | `~/.local/share/` | Fonts and shared data. |
66
- | `dot_etc/opt/chrome/policies/` | `~/etc/opt/chrome/policies/` | Managed Chrome enterprise policies. |
67
-
68
- ### `run_onchange_*` hooks at the root
69
-
70
- Scripts triggered when their content changes. Numbering follows the
71
- convention in [`../NAMING_CONVENTIONS.md`](../NAMING_CONVENTIONS.md):
72
-
73
- - `run_onchange_20-ghostty-config.sh.tmpl` — re-renders Ghostty config
74
- - `run_onchange_21-topgrade-config.sh.tmpl` — refreshes topgrade config
75
- - `run_onchange_after_fonts.sh.tmpl` — post-deploy font cache refresh
76
-
77
- ---
78
-
79
- ## 2. AI-assistant files — **three** files, three distinct roles
80
-
81
- This is the most common source of confusion in the repo. All three files
82
- exist on purpose and don't overlap:
83
-
84
- | File | Deployed to | Audience | Scope |
85
- |-------------------------------|-----------------------|------------------------------------------------------------------|-------------------------------|
86
- | `dot_claude/CLAUDE.md` | `~/.claude/CLAUDE.md` | Claude Code, in **any** cwd on this machine | Personal, cross-project |
87
- | `CLAUDE.md` (repo root) | Not deployed | Claude Code, when cwd is **this** repo | Repo-scoped guidance |
88
- | `docs/OPENCODE.md` | Not deployed | OpenCode CLI, when cwd is **this** repo | Repo-scoped guidance (mirror) |
89
- | `.claude/settings.local.json` | Not deployed, **not tracked** | Claude Code | Per-machine permission allowlist |
90
-
91
- Each of the three tracked files carries a header comment explaining its
92
- role to prevent drift. Keep that header in place when editing.
93
-
94
- ---
95
-
96
- ## 3. Agent-protocol surface
97
-
98
- Standards-compliant discovery endpoints that let external agents and tools
99
- find this workstation's agent capabilities:
100
-
101
- | Path | Purpose |
102
- |-------------------------------------|-----------------------------------------------------------------------------|
103
- | `.well-known/agent-card.json` | A2A v0.3 agent card — skills, capabilities, URL |
104
- | `.well-known/agent.json` | Legacy pointer card, kept for back-compat |
105
- | `.well-known/mcp/server-card.json` | MCP server discovery manifest |
106
-
107
- ---
108
-
109
- ## 4. CI/CD and repo metadata
110
-
111
- | Path | Purpose |
112
- |------------------------------------------------------------------|----------------------------------------------------------------|
113
- | `.github/workflows/` | 20+ workflows: `ci.yml`, `ci-enforced.yml`, reusable lints, release pipelines |
114
- | `.github/workflows/reusable-*.yml` | Shared workflow fragments (`shell-lint`, `lua-lint`, `nix-lint`, `copyright-lint`, `test-suite`, `secrets-scan`, `security-baseline`) |
115
- | `.github/ISSUE_TEMPLATE/`, `PULL_REQUEST_TEMPLATE.md`, `CODEOWNERS`, `SECURITY.md`, `CONTRIBUTING.md`, `CODE-OF-CONDUCT.md`, `FUNDING.yml` | Standard GitHub metadata |
116
- | `.github/security-policies/` | Org-level security policy files |
117
- | `.github/branch-protection-config.json`, `BRANCH_PROTECTION.md` | Codified branch-protection settings |
118
- | `.github/dependabot.yml` | Dependency bump schedule |
119
- | `.devcontainer/` | GitHub Codespaces + VS Code dev container |
120
- | `Dockerfile.test`, `tests/Dockerfile.sandbox` | Ubuntu sandboxes for integration / e2e tests |
121
-
122
- ---
123
-
124
- ## 5. Build, bootstrap, and dev tooling
125
-
126
- | Path | Purpose |
127
- |-----------------------------------------|--------------------------------------------------------------------------------|
128
- | `install.sh` | Top-level one-liner installer |
129
- | `install/provision/`, `install/lib/` | Platform-specific install helpers invoked by `install.sh` |
130
- | `Makefile`, `Justfile.tmpl`, `treefmt.toml` | Convenience runners |
131
- | `mise.toml`, `mise-versions.lock.json` | Mise toolchain versions (locked) |
132
- | `flake.nix`, `flake.lock` (root) | Root Nix flake for `direnv` + repo dev shell |
133
- | `nix/flake.nix`, `nix/home.nix` | Separate flake for Home Manager activation (used by `dot upgrade` and `ci-enforced.yml → lint-nix`) |
134
- | `lib/wasm-tools/` | `dot-sys` Rust crate (lib + bin), built for `wasm32-wasip1`: the health-probe record and the sandboxed verifier behind `dot attest --verify`; gated by `rust.yml` |
135
- | `.envrc` | `direnv` hook into the root flake |
136
-
137
- ---
138
-
139
- ## 6. Scripts (`scripts/`) — repo-local, never deployed
140
-
141
- Nothing under `scripts/` ends up in `$HOME`. It's all tooling for running
142
- the repo itself.
143
-
144
- | Subdir | Purpose |
145
- |-------------------------------------------|-----------------------------------------------------------------|
146
- | `tools/ci/` | CI helpers (`check-copyright-headers.sh`, `install-chezmoi-verified.sh`, `validate-ci-config.sh`) |
147
- | `scripts/dot/commands/` | Subcommand implementations for the `dot` CLI |
148
- | `tools/docs/` | Manual build pipeline (`build-manual.sh`, `check-manual.sh`) |
149
- | `scripts/theme/` | K-Means CIELAB theme engine + HEIC merge/convert |
150
- | `scripts/ops/`, `tools/maintenance/`, `tools/release/` | Operator tooling |
151
- | `scripts/diagnostics/`, `scripts/qa/`, `scripts/security/`, `scripts/secrets/` | Domain-scoped scripts |
152
- | `scripts/fonts/`, `scripts/demo/`, `scripts/git-hooks/`, `scripts/tools/`, `scripts/tuning/`, `scripts/lib/` | Supporting scripts |
153
- | `scripts/uninstall.sh`, `scripts/version-sync.sh` | Top-level ops entrypoints |
154
-
155
- ---
156
-
157
- ## 7. Documentation (`docs/`)
158
-
159
- | Path | Purpose |
160
- |---------------------------------------|----------------------------------------------------------------------------|
161
- | `docs/manual/` | 26-page GNU-Stow-style reference manual (the v0.2.501 feature) |
162
- | `docs/architecture/` | This file + core architecture docs (ARCHITECTURE, INTEROP, fleet, walkthrough) |
163
- | `docs/operations/` | Runbooks, traceability matrix, migration notes |
164
- | `docs/reference/` | Command/config reference material |
165
- | `docs/guides/` | Long-form how-tos |
166
- | `docs/security/` | Threat model, disclosure policy, audit records |
167
- | `docs/adr/` | Architecture Decision Records |
168
- | `docs/themes/` | Theme catalogue / screenshots |
169
- | `docs/interop/` | Agent/MCP interop notes |
170
- | `docs/archive/` | Superseded docs kept for history |
171
- | `docs/NAMING_CONVENTIONS.md` | Naming bible (file prefixes, run-script numbering tiers) |
172
- | `docs/index.md`, `docs/README.md`, `docs/AI.md`, `docs/COPYRIGHT` | Entry points |
173
-
174
- ---
175
-
176
- ## 8. Tests (`tests/`)
177
-
178
- | Path | Purpose |
179
- |-------------------------------------------|--------------------------------------------------------------------------------------------|
180
- | `tests/framework/` | `test_runner.sh`, `assertions.sh`, `mocks.sh` — the custom shell-test framework |
181
- | `tests/unit/` | Unit tests organised by domain: `aliases/`, `ci/`, `docs/`, `dot-cli/`, `fish/`, `functions/`, `install/`, `nvim/`, `ops/`, `secrets/`, `security/`, `shell/`, `theme/`, `tools/`, `diagnostics/`, `misc/`, `nushell/` |
182
- | `tests/integration/` | End-to-end install and apply flows |
183
- | `tests/regression/` | Guardrail tests for previously-broken behaviours |
184
- | `benches/` | `benchmark_runner.sh` and friends |
185
- | `tests/benchmark.sh`, `tests/test-aliases.sh`, `tests/test-docker.sh` | Top-level entrypoints |
186
- | `tests/Dockerfile.sandbox` | Fresh-Ubuntu sandbox image for integration tests |
187
-
188
- Tests execute shell source files directly — **do not** use Go template
189
- syntax in non-`.tmpl` files, or the test framework will choke on the curly
190
- braces.
191
-
192
- ---
193
-
194
- ## 9. Other top-level
195
-
196
- | Path | Purpose |
197
- |-------------------------------------------|------------------------------------------------------------------------------|
198
- | `config/` | Repo-local tool configs: `cliff.toml` (changelog), `gitleaks.toml`, `pre-commit-config.yaml`, `stylua.toml`, `trivyignore` |
199
- | `templates/chezmoi-data/`, `templates/projects/` | Starter scaffolding for new machines / new projects |
200
- | `examples/` | 14 standalone demo scripts used by the manual and tutorials |
201
- | `CHANGELOG.md`, `LICENSE`, `README.md` | Standard |
202
- | `docs/CONFIG_STRATEGY.md` | High-level "how configuration management works here" overview |
203
- | `.gitattributes`, `.gitignore`, `.gitleaksignore`, `.editorconfig`, `.secrets.baseline`, `.sops.yaml`, `.luacheckrc` | Repo-level tool configs |
204
- | `.pre-commit-config.yaml` → `config/pre-commit-config.yaml` | Symlink so `pre-commit` finds the canonical config |
205
-
206
- ---
207
-
208
- ## 10. Local-only artefacts (gitignored — if you see them, don't commit them)
209
-
210
- The following paths can appear during local work but are excluded from
211
- version control. If one of them ever shows up in `git status`, check the
212
- `.gitignore` entry rather than adding the file:
213
-
214
- | Path | Source |
215
- |--------------------------|------------------------------------------------------------------------------|
216
- | `_build/` | Output of `tools/docs/build-manual.sh` |
217
- | `.pnpm-store/` | pnpm's content-addressable store (should never appear here) |
218
- | `.claude/` | Claude Code per-machine state (`settings.local.json` permission allowlists) |
219
- | `node_modules/` | Node dependency trees from repo-local scripts |
220
- | `.version-sync-backup/` | Timestamped backups from `version-sync.sh` |
221
- | `lib/wasm-tools/target/` | Rust build artefacts for the `dot-sys` crate, including the `wasm32-wasip1/release/dot-sys.wasm` module `dot attest --verify` runs (and `fuzz/target/`) |
222
- | `dot_etc/machines/` | Host-specific installer overrides |
223
-
224
- ---
225
-
226
- ## How to decide where a new file belongs
227
-
228
- A quick decision tree for common cases:
229
-
230
- - **New app config that lives under `~/.config/<app>/`** → `dot_config/<app>/` (see `docs/NAMING_CONVENTIONS.md` → "Adding New Modules").
231
- - **New user-facing CLI script** → `dot_local/bin/executable_<name>`.
232
- - **New `dot` subcommand** → implementation in `scripts/dot/commands/<name>.sh`, routing in `bin/dot`.
233
- - **New repo-only automation** (CI helper, maintenance task, release step) → `scripts/<domain>/<name>.sh`.
234
- - **New test** → `tests/unit/<domain>/test_<feature>.sh` (follow `test_{domain}_{feature}.sh` naming).
235
- - **New doc** → pick the narrowest of `docs/architecture/`, `docs/reference/`, `docs/guides/`, `docs/operations/`, `docs/security/`.
236
- - **New alias file** → `.chezmoitemplates/aliases/<category>/<tool>.aliases.sh` (see conventions doc).
237
- - **New run-once hook** → `run_onchange_<NN>-<verb>-<noun>.sh.tmpl` at the root, using the numbering tier appropriate to its category.
238
-
239
- If none of the above fits, stop and ask in an issue or PR before
240
- introducing a new top-level directory. The current layout is deliberate
241
- and one-off additions cost everyone later.
@@ -1,86 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Walkthrough
6
-
7
- A hands-on tour of the dotfiles after installation. Run each step in your terminal to get comfortable with what's available.
8
-
9
- ## Step 1: Verify Installation
10
-
11
- Make sure everything landed correctly:
12
-
13
- ```bash
14
- dot --version
15
- dot doctor
16
- dot status
17
- ```
18
-
19
- `dot doctor` catches common problems early. If something's off, it'll tell you.
20
-
21
- ## Step 2: Explore the Shell
22
-
23
- The shell ships with modern replacements wired in:
24
-
25
- ```bash
26
- z dotfiles # Jump to ~/.dotfiles (zoxide)
27
- z - # Go back
28
-
29
- <Ctrl-R> # Fuzzy search command history (fzf)
30
- <Ctrl-T> # Fuzzy find files
31
-
32
- ls # Aliased to eza
33
- cat file.txt # Aliased to bat
34
- ```
35
-
36
- ## Step 3: Git Workflow
37
-
38
- ```bash
39
- gst # git status
40
- lg # Pretty log graph
41
- ga . # git add
42
- gcm "message" # git commit -m
43
- lgui # Launch lazygit
44
- ```
45
-
46
- ## Step 4: Tmux
47
-
48
- Prefix is `Ctrl-a`:
49
-
50
- ```bash
51
- <Ctrl-a> c # New window
52
- <Ctrl-a> | # Split vertically
53
- <Ctrl-a> - # Split horizontally
54
- <Ctrl-a> h/j/k/l # Navigate panes (vim-style)
55
- <Ctrl-a> f # Fuzzy session switcher
56
- ```
57
-
58
- ## Step 5: Neovim
59
-
60
- ```bash
61
- nvim .
62
-
63
- # Inside Neovim:
64
- <Space> # Leader — shows command palette
65
- <Space>ff # Find files
66
- <Space>fg # Live grep
67
- <Space>e # Toggle file tree
68
- ```
69
-
70
- ## Step 6: Docker
71
-
72
- ```bash
73
- dps # List running containers
74
- dco up -d # docker compose up
75
- dlogsf container # Follow container logs
76
- lzd # Launch lazydocker
77
- ```
78
-
79
- ## Step 7: Kubernetes (if enabled)
80
-
81
- ```bash
82
- k get pods # kubectl
83
- kctx # Switch context
84
- kn # Switch namespace
85
- k9 # Launch k9s
86
- ```
@@ -1,77 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Fleet Deployment Architecture
6
-
7
- ## Deployment Flow
8
-
9
- ```mermaid
10
- ---
11
- title: Fleet Deployment Architecture
12
- ---
13
- flowchart TD
14
- subgraph repo["Git Repository (SSOT)"]
15
- data[".chezmoidata.toml<br/>theme, profile, machine, features"]
16
- wallpapers["~/Pictures/Wallpapers/ + System<br/>wallpapers (source of truth)"]
17
- engine_k["K-Means CIELAB engine<br/>extract-theme.py + rebuild-themes.sh"]
18
- themes[".chezmoidata/themes.toml<br/>auto-generated, WCAG AAA"]
19
- hw[".chezmoidata/hardware.toml<br/>machine presets: T2, Surface, Geekom"]
20
- keys[".chezmoidata/keybinds.toml<br/>modifier hierarchy matrix"]
21
- tpl[".chezmoitemplates/<br/>reusable partials"]
22
- configs["dot_config/<br/>50+ app configs as .tmpl"]
23
- wallpapers --> engine_k --> themes
24
- end
25
-
26
- repo --> engine["Chezmoi Template Engine<br/>chezmoi apply"]
27
-
28
- engine --> t2["MacBook T2<br/>scale 2.0 | macOS"]
29
- engine --> sp["Surface Pro<br/>scale 1.5 | Linux"]
30
- engine --> gk["Geekom A9<br/>scale 1.0 | Linux"]
31
-
32
- subgraph apps["App Configs (per machine)"]
33
- niri["Niri (WM)"]
34
- ghostty["Ghostty (Term)"]
35
- tmux["Tmux (Mux)"]
36
- nvim["Neovim (Edit)"]
37
- gtk["GTK (UI)"]
38
- end
39
-
40
- t2 --> apps
41
- sp --> apps
42
- gk --> apps
43
-
44
- themes -. "colors" .-> niri & ghostty & tmux & nvim & gtk
45
-
46
- subgraph hotreload["IPC Hot-Reload Path"]
47
- direction LR
48
- user(["User runs dot-theme-sync"]) --> ipc["dot-theme-sync<br/>writes theme choice"]
49
- ipc --> reload_niri["niri: IPC reload"]
50
- ipc --> reload_ghostty["ghostty: config reload"]
51
- ipc --> reload_gtk["GTK: gsettings"]
52
- ipc --> reload_tmux["tmux: source-file"]
53
- ipc --> reload_nvim["nvim: RPC colorscheme"]
54
- end
55
-
56
- style repo fill:#313244,stroke:#cba6f7,color:#cdd6f4
57
- style engine fill:#45475a,stroke:#89b4fa,color:#cdd6f4
58
- style apps fill:#313244,stroke:#a6e3a1,color:#cdd6f4
59
- style hotreload fill:#313244,stroke:#f9e2af,color:#cdd6f4
60
- ```
61
-
62
- > **Note — Keybind Modifier Hierarchy:** Each input layer owns a
63
- > non-overlapping modifier prefix. The compositor (Super) never collides
64
- > with the multiplexer (Ctrl+a prefix), which never collides with the
65
- > editor (Space leader). `Ctrl+h/j/k/l` is the sole shared binding,
66
- > resolved by `tmux-vim-navigator` interop.
67
-
68
- ## Keybind Conflict Resolution Matrix
69
-
70
- | Modifier | Layer | Owner | Examples |
71
- |---|---|---|---|
72
- | `Super` (Mod) | Compositor | Niri | `Super+1`-`9` workspaces, `Super+Enter` terminal |
73
- | `Alt` | Window Switch | Niri | `Alt+Tab`, `Alt+grave` |
74
- | `Ctrl+a` prefix | Multiplexer | Tmux | `Ctrl+a h/j/k/l` panes, `Ctrl+a N` new window |
75
- | `Ctrl+h/j/k/l` | Smart Navigation | Tmux / Neovim | Seamless pane/split traversal |
76
- | `Ctrl+c/v/t/w` | Terminal | Ghostty | Copy, paste, new tab, close |
77
- | `Space` (leader) | Editor | Neovim | `Space+ff` find, `Space+ca` code action |