@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,117 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Themes
6
-
7
- Themes are auto-generated from wallpapers. K-Means clustering in CIELAB color space extracts dominant colors. Every theme is WCAG AAA compliant.
8
-
9
- There is no fixed theme catalog. The available themes depend on which wallpapers are present on your system. Run `dot theme list` to see what's discovered.
10
-
11
- ## Source of truth
12
-
13
- Wallpapers — not `themes.toml` — are the source of truth. The system discovers wallpapers from two locations:
14
-
15
- 1. **System wallpapers** — platform-native (macOS `/System/Library/Desktop Pictures/`, Linux `/usr/share/backgrounds/`)
16
- 2. **Custom wallpapers** — `~/Pictures/Wallpapers/` (custom overrides system on name collision)
17
-
18
- `extract-theme.py` runs K-Means++ in CIELAB on each wallpaper, generates a 16-color terminal palette plus UI/app mappings, and enforces WCAG AAA contrast. `rebuild-themes.sh` orchestrates discovery → parallel extraction → assembly into `.chezmoidata/themes.toml` (cached in `~/.cache/dotfiles/themes/`, regenerated only when wallpapers change).
19
-
20
- `.chezmoidata/themes.toml` is a **generated artifact**. Do not edit it directly.
21
-
22
- ## Quick Start
23
-
24
- ```bash
25
- dot theme # Interactive picker (paired wallpaper themes only)
26
- dot theme tahoe-dark # Switch directly
27
- dot theme toggle # Swap dark↔light within current family
28
- dot theme rebuild # Regenerate from current wallpapers
29
- dot theme list # Show paired themes with System/Custom source
30
- ```
31
-
32
- ## Runtime Apply Behavior
33
-
34
- `dot theme` writes the selected theme to `.chezmoidata.toml`, regenerates target configs through chezmoi, then attempts live reloads for running applications.
35
-
36
- - **macOS**:
37
- - Applies system Light/Dark appearance via `osascript` (`System Events`)
38
- - Applies the wallpaper's derived accent color via `defaults write -g AppleAccentColor` and `AppleHighlightColor`
39
- - Forces UI refresh via `killall cfprefsd SystemUIServer Dock "System Settings"`
40
- - Sets desktop wallpaper across all displays via `osascript`
41
- - **Linux**:
42
- - Applies desktop color scheme through `gsettings`
43
- - Sets `picture-uri` and `picture-uri-dark` separately
44
- - Auto-converts HEIC → PNG via `magick`/`heif-convert`/`convert`
45
- - DMS (Dank Material Shell) integration when present
46
-
47
- ## Theme Naming
48
-
49
- Themes follow the pattern `<wallpaper-name>-<dark|light>`. The wallpaper filename (lowercased, hyphenated) becomes the theme family.
50
-
51
- Examples (depend on what's present on your system):
52
-
53
- | Wallpaper file | Generated themes |
54
- |:---|:---|
55
- | `~/Pictures/Wallpapers/tahoe.heic` (dynamic HEIC, 2 frames) | `tahoe-dark`, `tahoe-light` |
56
- | `/System/Library/Desktop Pictures/Sonoma.heic` | `sonoma-dark`, `sonoma-light` |
57
- | `/System/Library/Desktop Pictures/.thumbnails/Monterey Dark.heic` + `Monterey Light.heic` | `monterey-dark`, `monterey-light` |
58
-
59
- Only paired themes (with both dark and light variants) appear in `dot theme` and `dot theme list`.
60
-
61
- ## Custom Wallpapers — Dynamic HEIC
62
-
63
- Custom wallpapers in `~/Pictures/Wallpapers/` ship as Apple-compatible dynamic HEIC files: a single `.heic` containing both light and dark images, tagged with `apple_desktop:apr` XMP metadata. macOS auto-switches the displayed image based on appearance mode.
64
-
65
- To merge separate dark + light pairs into a single dynamic HEIC:
66
-
67
- ```bash
68
- bash scripts/theme/merge-wallpaper.sh # merge all pairs in ~/Pictures/Wallpapers/
69
- bash scripts/theme/merge-wallpaper.sh tahoe # merge a specific family
70
- bash scripts/theme/merge-wallpaper.sh --dry-run # preview only
71
- ```
72
-
73
- ## Generated Theme Schema
74
-
75
- Each theme block in the generated `themes.toml` follows this schema:
76
-
77
- ```toml
78
- [themes.example-dark]
79
- mode = "dark" # "dark" or "light"
80
- family = "example" # groups dark/light variants
81
- macos_accent = 4 # derived from accent hue (0-6, -1=Graphite)
82
- wallpaper = "/path/to/wallpaper.heic"
83
- source = "custom" # "custom" or "system"
84
-
85
- [themes.example-dark.term]
86
- bg, fg, cursor, cursor_text, sel_bg, sel_fg
87
- c0 .. c15 # 16 ANSI colors
88
-
89
- [themes.example-dark.ui]
90
- accent, accent_text # white text always 7:1 against accent
91
- error, warning, success, info
92
- panel, border # contrast-bound (1.03-2.0 for panel, 1.08-3.5 for border)
93
-
94
- [themes.example-dark.app]
95
- nvim, nvim_style, lualine
96
- gtk_theme, gtk_icon, gnome_shell, gnome_gtk
97
- vscode, vscode_dark, vscode_light
98
- cat_wallpaper
99
- starship_palette
100
- ```
101
-
102
- ## Adding a Theme
103
-
104
- To add a new theme, add a wallpaper — there are no manual TOML edits.
105
-
106
- 1. Drop a wallpaper into `~/Pictures/Wallpapers/`
107
- 2. (Optional) Use `merge-wallpaper.sh` to combine separate dark/light files into a single dynamic HEIC
108
- 3. Run `dot theme rebuild` to regenerate `themes.toml` (parallel K-Means extraction, ~1-4s per wallpaper)
109
- 4. Run `dot theme <name>` to test
110
- 5. Verify with `chezmoi diff` before applying
111
-
112
- For best results, wallpapers should be 6016×6016 dynamic HEIC with ~1.6× brightness ratio between dark and light variants (golden ratio). Lower-resolution images are auto-resized; non-paired wallpapers are skipped from the picker.
113
-
114
- ## See Also
115
-
116
- - [Theming Guide](../guides/THEMING.md) — full pipeline documentation
117
- - [Utilities](UTILS.md) — `dot theme` command reference
@@ -1,110 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Tools
6
-
7
- Integrated tools organized by role in the workflow.
8
-
9
- ---
10
-
11
- ## Core Shells
12
-
13
- | Tool | Purpose | Key Feature |
14
- | :--- | :--- | :--- |
15
- | **Zsh** | Primary shell | Modular `rc.d` architecture with lazy-loading |
16
- | **Fish** | Interactive shell | Fast startup via dynamic alias-to-function autoloading |
17
- | **Nushell** | Data shell | Structured data pipelines |
18
- | **Starship** | Cross-shell prompt | Async segment rendering |
19
-
20
- ---
21
-
22
- ## Infrastructure and Portability
23
-
24
- | Tool | Category | Description |
25
- | :--- | :--- | :--- |
26
- | **Nix Flakes** | Deterministic environments | Reproducible setups via `flake.nix` |
27
- | **Chezmoi** | Dotfiles manager | Template-based configuration across machines |
28
- | **Direnv** | Environment management | Automatic environment injection on `cd` |
29
- | **Mise** | Runtime manager | Polyglot version manager (Node, Python, Rust, Go) |
30
-
31
- ---
32
-
33
- ## Automation and Advanced Tools
34
-
35
- | Tool | Purpose | Description |
36
- | :--- | :--- | :--- |
37
- | **Pueue** | Task queue | Offload long-running tasks to a background daemon |
38
- | **Wasmtime** | Wasm runtime | Runs `lib/wasm-tools` (`dot-sys.wasm`) for `dot attest --verify` |
39
- | **SOPS** | Secrets operations | Encrypted secrets with automatic en/decryption |
40
-
41
- ---
42
-
43
- ## Navigation and Discovery
44
-
45
- | Tool | Description |
46
- | :--- | :--- |
47
- | **Yazi** | Terminal file manager — use `yy` to `cd` on exit |
48
- | **Ripgrep (rg)** | Fast recursive text search |
49
- | **fd** | Simpler, faster alternative to `find` |
50
- | **Zoxide** | Fuzzy directory jumper (replaces `cd`) |
51
- | **fzf** | Interactive fuzzy finder for files, history, and git |
52
-
53
- ---
54
-
55
- ## Modern CLI Replacements
56
-
57
- | Classic | Replacement | Improvement |
58
- | :--- | :--- | :--- |
59
- | `ls` | **eza** | Icons, git status, better colors |
60
- | `cat` | **bat** | Syntax highlighting and git integration |
61
- | `top` | **btop** | Visual system resource dashboard |
62
- | `df` | **duf** | Readable disk usage overview |
63
- | `du` | **dust** | Visual breakdown of folder sizes |
64
- | `ps` | **procs** | Improved process tracking |
65
-
66
- ---
67
-
68
- ## Terminal Ecosystem
69
-
70
- | Tool | Style | Platform |
71
- | :--- | :--- | :--- |
72
- | **Ghostty** | Native / GPU | macOS, Linux |
73
- | **Zellij** | Layout-aware multiplexer | Cross-platform |
74
- | **Tmux** | Classic multiplexer | Cross-platform |
75
- | **Fastfetch** | System info | Cross-platform |
76
-
77
- ---
78
-
79
- ## Developer Tools
80
-
81
- | Tool | Description |
82
- | :--- | :--- |
83
- | **Neovim** | Lua-based configuration with lazy.nvim |
84
- | **Lazygit** | TUI for Git workflows |
85
- | **Delta** | Syntax-highlighted side-by-side diffs |
86
- | **Just** | Task runner (replaces Makefiles) |
87
- | **Age** | Modern file encryption |
88
- | **GnuPG** | PGP standard for signing and encryption |
89
-
90
- ---
91
-
92
- ## AI Pair Programming
93
-
94
- Detailed guide: [AI.md](../AI.md).
95
-
96
- | Tool | Description |
97
- | :--- | :--- |
98
- | **Aider** | Git-native AI pair programming |
99
- | **Claude CLI** | Anthropic's terminal assistant |
100
- | **Copilot CLI** | GitHub Copilot in the terminal |
101
- | **Kimi CLI** | Moonshot AI Kimi Code terminal coding agent |
102
- | **Kiro CLI** | Agentic AI terminal assistant |
103
- | **Antigravity CLI** | Google's Antigravity CLI (`agy`) |
104
- | **Mods/Fabric** | Pipeline-friendly AI processing |
105
- | **sgpt** | Shell-GPT for terminal AI queries |
106
- | **Ollama** | Run large language models locally |
107
- | **Autohand Code** | Autohand coding agent CLI |
108
- | **Mistral Vibe** | Mistral AI coding agent |
109
- | **Qwen Code** | Qwen AI coding assistant |
110
- | **ZAI** | Zhipu AI GLM coding agent |
@@ -1,243 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Utilities
6
-
7
- Aliases, functions, and the `dot` CLI provide day-to-day tooling across macOS, Linux, and WSL.
8
-
9
- ## Dot CLI
10
-
11
- The `dot` command is the main interface for managing dotfiles. Run `dot version` or `dot --version` to check the installed version.
12
-
13
- ### Core commands
14
-
15
- | Command | Description |
16
- |---------|-------------|
17
- | `dot commit` | Create an AI-assisted conventional commit |
18
- | `dot apply` | Apply dotfiles (`chezmoi apply`) |
19
- | `dot sync` | Alias of apply |
20
- | `dot update` | Pull latest changes and apply |
21
- | `dot add <file>` | Add a file to chezmoi source |
22
- | `dot diff` | Show local changes (excludes scripts) |
23
- | `dot status` | Show configuration drift |
24
- | `dot remove <path>` | Safely remove a managed file |
25
- | `dot uninstall` | Remove the managed dotfiles environment (prompts unless `--force`) |
26
- | `dot cd` | Print source directory path |
27
- | `dot edit` | Open source in your editor |
28
- | `dot clean-cache` | Clear generated shell initialization caches |
29
- | `dot prewarm` | Regenerate shell caches for fast startup |
30
- | `dot bundle` | Create an offline portable archive |
31
- | `dot upgrade` | Update toolchains, plugins, and dotfiles |
32
- | `dot packages` | Show installed packages and package managers |
33
- | `dot cache-refresh` | Rebuild generated shell state |
34
- | `dot search <term>` | Find commands by keyword |
35
- | `dot help` | Show command help and the public reference |
36
- | `dot version` | Show the installed dotfiles version |
37
-
38
- ### Diagnostics
39
-
40
- | Command | Description |
41
- |---------|-------------|
42
- | `dot doctor` | Run system health checks (`--score/-s`,`--heal/-H`) |
43
- | `dot secret-audit` | Audit secret hygiene and leakage surface |
44
- | `dot health` | Run the health dashboard (`--verbose/-v`,`--json/-j`,`--fix/-f`,`--force/-F`) |
45
- | `dot heal` | Auto-repair missing tools, chezmoi drift, broken symlinks, and critical files (`--dry-run/-n`,`--force/-f`) |
46
- | `dot smoke-test` | Verify toolchains (Rust, Go, AI CLIs) |
47
- | `dot verify` | Run security and integrity verification (`--security/-s`) |
48
- | `dot chaos` | Simulate config corruption to test self-healing |
49
- | `dot rollback` | Roll back dotfiles to the previous known-good state |
50
- | `dot drift` | Detailed configuration drift dashboard |
51
- | `dot benchmark` | Measure shell startup time (`--detailed/-d`,`--profile/-p`,`--compare/-c`,`--waterfall/-w`) |
52
- | `dot perf` | Show performance mode + quick timing (`--json/-j`,`--profile/-p`,`--runs/-r`,`--target/-t`) |
53
- | `dot score` | Show the high-level system health and security scorecard |
54
- | `dot metrics` | Show recent observability metrics |
55
- | `dot load-bench` | Measure heavy-layer readiness |
56
- | `dot mcp` | Validate MCP policy and registry (`--strict/-s`,`--json/-j`) |
57
- | `dot attest` | Export workstation evidence (`--json/-j`,`--write/-w`,`--fleet-store/-F`) |
58
- | `dot history` | Analyse shell history |
59
- | `dot security-score` | Score workstation security (`--verbose/-v`,`--quiet/-q`,`--json/-j`) |
60
- | `dot snapshot` | Capture workstation state (`--baseline/-b`,`--force/-f`) |
61
- | `dot ai` | Open the AI fleet cockpit; run prompts, serve a local Claude gateway, install, cost |
62
- | `dot ai-setup` | Bootstrap AI CLIs interactively (deprecated alias for `dot ai login`) |
63
- | `dot ai-query` | Context-aware RAG query over the repo (deprecated alias for `dot ai ask`) |
64
- | `dot mode` | Show or switch the active agent profile |
65
- | `dot agent` | Inspect agent metadata, logs, checkpoints, and conformance |
66
- | `dot agent checkpoint` | Save, list, show, and replay bounded agent checkpoints |
67
- | `dot agent conformance` | Validate A2A discovery and agent card conformance (`--strict/-s`,`--json/-j`) |
68
-
69
- ### Tools
70
-
71
- | Command | Description |
72
- |---------|-------------|
73
- | `dot env` | Show managed runtime and tool versions |
74
- | `dot env emit` | Emit a portable workstation environment manifest (SBOM) |
75
- | `dot profile` | Show or switch the active configuration profile |
76
- | `dot keys` | Show the keybindings and signing reference |
77
- | `dot tools` | Show tools documentation |
78
- | `dot tools install` | Enter Nix development shell |
79
- | `dot new <lang> <name>` | Scaffold a project (`python`/`go`/`node`) |
80
- | `dot sandbox` | Launch Docker sandbox preview |
81
- | `dot learn` | Start the guided onboarding tour |
82
- | `dot docs` | Show the main repository documentation |
83
- | `dot log-rotate` | Rotate `~/.local/share/dotfiles.log` |
84
- | `dot completion <bash\|zsh\|fish\|nu>` | Generate shell completions from the command registry |
85
- | `dot lint` | Lint shell scripts (`--check/-c`,`--fix/-f`) |
86
-
87
- ## Universal Scripts
88
-
89
- POSIX scripts in `~/.local/bin/` that work across macOS, Linux, and WSL.
90
-
91
- | Command | Description |
92
- |---------|-------------|
93
- | `als` | Interactive alias and script viewer (categorized) |
94
- | `cb` | Universal clipboard utility (detects `pbcopy`/`pbpaste`, `xclip`/`wl-copy`, or `clip.exe`) |
95
- | `open` | Universal file/URL opener (maps to `open`, `xdg-open`, or `explorer.exe`) |
96
- | `notify` | Universal desktop notifications (`osascript`, `notify-send`, or `powershell`) |
97
- | `extract` | Universal archive extractor with robust format support and `gum` UI feedback |
98
- | `up <n>` | Navigate up `n` directory levels |
99
- | `bm` | Directory bookmarking tool (`add`, `goto`, `list`, `remove`, `update`) |
100
- | `win` | WSL-specific shim for running Windows binaries with translated paths |
101
-
102
- ## Appearance
103
-
104
- | Command | Description |
105
- |---------|-------------|
106
- | `dot theme` | Interactive picker (paired wallpaper themes only) |
107
- | `dot theme <name>` | Switch directly (e.g. `dot theme tahoe-dark`) |
108
- | `dot theme toggle` | Swap dark↔light within current family |
109
- | `dot theme rebuild` | Regenerate themes from system + custom wallpapers via K-Means in CIELAB (`--force`, `--list`) |
110
- | `dot theme list` | Show paired wallpaper themes with System/Custom source |
111
- | `dot wallpaper` | Apply a wallpaper independently of theme |
112
- | `dot fonts` | Install Nerd Fonts |
113
- | `dot tune` | Apply supported host tuning changes |
114
-
115
- Themes are auto-generated from wallpapers — `themes.toml` is not hand-edited. See [Theming Guide](../guides/THEMING.md) for the K-Means CIELAB extraction model and Apple-compatible dynamic HEIC support.
116
-
117
- ## AI Bridges (deprecated aliases)
118
-
119
- These run a tool with dotfiles context injection. They still work but are
120
- **deprecated** in favour of `dot ai <tool>` (e.g. `dot ai claude "…"`); each
121
- prints a one-line hint. See [AI.md](../AI.md) for the full surface.
122
-
123
- | Command | Description |
124
- |---------|-------------|
125
- | `dot cl` | Claude Code with context injection — use `dot ai claude` |
126
- | `dot copilot` | GitHub Copilot CLI — use `dot ai copilot` |
127
- | `dot kimi` | Kimi CLI — use `dot ai kimi` |
128
- | `dot agy` | Antigravity CLI — use `dot ai agy` |
129
- | `dot kiro` | Kiro CLI — use `dot ai kiro` |
130
- | `dot sgpt` | Shell-GPT — use `dot ai sgpt` |
131
- | `dot ollama` | Ollama — use `dot ai ollama` |
132
- | `dot opencode` | OpenCode — use `dot ai opencode` |
133
- | `dot aider` | Aider — use `dot ai aider` |
134
-
135
- ## Secrets
136
-
137
- | Command | Description |
138
- |---------|-------------|
139
- | `dot secrets-init` | Initialize the local age identity for secrets |
140
- | `dot secrets` | Manage encrypted secrets and environment buckets |
141
- | `dot secrets-create` | Create a new encrypted secrets file |
142
- | `dot ssh-key` | Encrypt a local SSH key with age |
143
- | `dot ssh-cert` | Manage short-lived SSH certificates (`issue`/`status`/`revoke`) |
144
-
145
- ## Security (opt-in)
146
-
147
- | Command | Description |
148
- |---------|-------------|
149
- | `dot backup` | Create a compressed backup |
150
- | `dot policy` | Check and enforce security policies across the environment |
151
- | `dot encrypt-check` | Check disk encryption status |
152
- | `dot firewall` | Apply firewall hardening |
153
- | `dot telemetry` | Disable telemetry |
154
- | `dot dns-doh` | Enable DNS-over-HTTPS |
155
- | `dot lock-screen` | Enforce lock screen idle settings |
156
- | `dot usb-safety` | Disable automount for removable media |
157
-
158
- ## Fleet
159
-
160
- | Command | Description |
161
- |---------|-------------|
162
- | `dot fleet` | Show fleet node status, namespace, and drift |
163
- | `dot fleet drift` | Check configuration drift across managed files |
164
- | `dot fleet namespace` | Show or set the active fleet namespace |
165
- | `dot fleet events` | Show recent local fleet events |
166
- | `dot teleport <user@host>` | Deploy the dotfiles environment to a remote host over SSH |
167
-
168
- ## Subcommands
169
-
170
- Every `dot` command's individually-enforced subcommands (see `dot help`).
171
-
172
- | Command | Description |
173
- |---|---|
174
- | `dot fleet status` | Show this node's fleet status: id, namespace, version, OS, drift, last apply |
175
- | `dot fleet enforce` | Show or set RBAC enforcement mode (advisory/strict) for agent profiles |
176
- | `dot fleet apply` | SSH to every host in fleet.toml and run dot sync (or a custom --cmd) |
177
- | `dot ai chat` | Start an interactive AI session with a chosen tool |
178
- | `dot ai tools` | Show installed AI CLI tools and their versions |
179
- | `dot ai install` | Install AI CLI tools via mise/native installers |
180
- | `dot ai serve` | Run the local AI gateway/proxy that routes non-Claude providers |
181
- | `dot ai cost` | Report AI spend across every provider from the unified run log |
182
- | `dot ai login` | Interactive setup/authentication for installed AI CLI tools |
183
- | `dot ai doctor` | Diagnose AI tooling configuration and connectivity |
184
- | `dot ai ask` | Context-aware RAG query over your dotfiles |
185
- | `dot ai run` | Run a one-shot prompt with an AI tool |
186
- | `dot ai delegate` | Delegate a coding task to a cheaper AI model under agent policy |
187
- | `dot mode list` | List available agent operating profiles (ask/plan/apply/audit) |
188
- | `dot mode current` | Show the active agent profile and its policy |
189
- | `dot mode show` | Show details of a specific agent profile |
190
- | `dot mode set` | Switch the active agent profile |
191
- | `dot mode run` | Run a command under a given agent profile with a checkpoint |
192
- | `dot mode doctor` | Validate the agent-profiles.json config and default profile |
193
- | `dot agent card` | Show the local agent card metadata |
194
- | `dot agent log` | Tail the agent session audit log |
195
- | `dot agent checkpoint` | Manage agent run checkpoints (save/list/show/replay) |
196
- | `dot agent delegate` | Delegate execution to an allowed sub-agent |
197
- | `dot agent a2a-card` | Show or validate the A2A v0.3 agent card |
198
- | `dot agent conformance` | Run the A2A conformance test suite |
199
- | `dot mcp doctor` | Run the MCP policy/supply-chain/config audit |
200
- | `dot mcp registry` | Show the configured MCP server registry |
201
- | `dot mcp serve` | Run the stdio MCP server (JSON-RPC 2.0 on stdin/stdout) |
202
- | `dot secrets edit` | Edit the encrypted secrets file (age) |
203
- | `dot secrets set` | Store a secret value under a key |
204
- | `dot secrets get` | Retrieve a secret value (--raw for plaintext) |
205
- | `dot secrets list` | List indexed secret keys |
206
- | `dot secrets load` | Emit export lines for a secrets bucket (use with eval) |
207
- | `dot secrets provider` | Show the active secrets provider |
208
- | `dot env list` | List managed tool versions via mise |
209
- | `dot env prune` | Show or remove orphan tool installs (--yes to commit) |
210
- | `dot env install` | Install requested tool versions via mise |
211
- | `dot env use` | Pin a tool version globally/locally via mise |
212
- | `dot registry list` | List modules in the configured module registry |
213
- | `dot registry search` | Filter registry modules by keyword |
214
- | `dot registry info` | Print full metadata for a registry module |
215
- | `dot registry install` | Install a registry module (scaffold) |
216
- | `dot registry url` | Show the active registry URL |
217
- | `dot registry set-url` | Override the registry URL (https only; persists) |
218
- | `dot theme list` | Show all available terminal/wallpaper themes |
219
- | `dot theme set` | Set a theme by name (interactive picker if omitted) |
220
- | `dot theme toggle` | Toggle light/dark within the current theme family |
221
- | `dot theme sync` | Sync the dotfiles theme with system dark/light mode |
222
- | `dot theme family` | Cycle between theme families |
223
- | `dot theme current` | Show the current theme info |
224
- | `dot theme rebuild` | Regenerate themes from system and custom wallpapers |
225
- | `dot wallpaper sync` | Sync wallpaper from your library |
226
- | `dot wallpaper rotate` | Rotate to the next wallpaper in your library |
227
- | `dot tools install` | Enter the Nix development shell with all managed tools |
228
- | `dot tools docs` | Show the full tools markdown documentation |
229
- | `dot profile show` | Show the active configuration profile and feature flags |
230
- | `dot profile set` | Set the active configuration profile (run dot sync to apply) |
231
- | `dot agents list` | Show recognised AI agent harnesses and their config paths |
232
- | `dot agents check` | Verify AGENTS.md tracks CLAUDE.md (exit 1 if drifted) |
233
- | `dot agents render` | Regenerate AGENTS.md and per-harness config from CLAUDE.md |
234
- | `dot aliases list` | List all shell aliases shipped by the dotfiles |
235
- | `dot aliases search` | Search aliases by term |
236
- | `dot aliases why` | Show details and deprecation status for a single alias |
237
- | `dot aliases stats` | Show alias usage counts from shell history |
238
- | `dot aliases cheatsheet` | Generate the alias cheatsheet markdown |
239
- | `dot aliases tiers` | Show which alias tiers/ecosystems are enabled |
240
- | `dot patterns list` | List AI steering patterns |
241
- | `dot patterns view` | View an AI steering pattern |
242
- | `dot patterns edit` | Edit an AI steering pattern in $EDITOR |
243
- | `dot keys sign-check` | Verify git commit-signing configuration and key availability |
@@ -1,6 +0,0 @@
1
- {
2
- "version": 1,
3
- "updated": "2026-05-15T16:30:00Z",
4
- "registry": "sebastienrousseau/dotfiles",
5
- "modules": []
6
- }
@@ -1,110 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://sebastienrousseau.github.io/dotfiles/schema/dot-env-v1.json",
4
- "title": "Dotfiles Environment Manifest v1",
5
- "description": "Portable workstation-environment manifest emitted by `dot env emit`. The canonical 'what is installed on this machine + at what version + from which source' record. Designed to feed downstream tooling: CycloneDX SBOM aggregators, AgentSpec/AAIF agent runtimes, EU CRA compliance reports.",
6
- "type": "object",
7
- "required": [
8
- "schema_version",
9
- "manifest_version",
10
- "emitted_at",
11
- "emitter",
12
- "host",
13
- "tools"
14
- ],
15
- "additionalProperties": false,
16
- "properties": {
17
- "schema_version": {
18
- "type": "string",
19
- "format": "uri",
20
- "description": "URL of the schema this manifest conforms to. Must equal $id of this file."
21
- },
22
- "manifest_version": {
23
- "type": "string",
24
- "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
25
- "description": "Semantic version of the manifest payload itself, independent of the schema URL."
26
- },
27
- "emitted_at": {
28
- "type": "string",
29
- "format": "date-time",
30
- "description": "RFC 3339 / ISO 8601 UTC timestamp when the manifest was produced."
31
- },
32
- "emitter": {
33
- "type": "object",
34
- "required": ["name", "version", "repo"],
35
- "additionalProperties": false,
36
- "properties": {
37
- "name": {
38
- "type": "string",
39
- "description": "Tool name that produced the manifest (e.g. 'dot env emit')."
40
- },
41
- "version": {
42
- "type": "string",
43
- "description": "Version of the emitter (e.g. '0.2.503')."
44
- },
45
- "repo": {
46
- "type": "string",
47
- "description": "Source repository identifier (e.g. 'github.com/sebastienrousseau/dotfiles')."
48
- }
49
- }
50
- },
51
- "host": {
52
- "type": "object",
53
- "required": ["hostname", "os", "arch"],
54
- "additionalProperties": false,
55
- "properties": {
56
- "hostname": {
57
- "type": "string",
58
- "description": "Result of `uname -n`. May be 'unknown' in headless / containerised contexts."
59
- },
60
- "os": {
61
- "type": "string",
62
- "description": "Result of `uname -s` — Darwin, Linux, MINGW64_NT-*, etc."
63
- },
64
- "arch": {
65
- "type": "string",
66
- "description": "Result of `uname -m` — x86_64, arm64, aarch64, etc."
67
- }
68
- }
69
- },
70
- "tools": {
71
- "type": "array",
72
- "description": "Flattened list of all tool installations mise sees on this host. Multiple records per tool are allowed when multiple versions are installed.",
73
- "items": {
74
- "type": "object",
75
- "required": ["name", "version", "source"],
76
- "additionalProperties": false,
77
- "properties": {
78
- "name": {
79
- "type": "string",
80
- "description": "Tool identifier as mise knows it (e.g. 'node', 'aqua:charmbracelet/gum', 'npm:@anthropic-ai/claude-code')."
81
- },
82
- "version": {
83
- "type": ["string", "null"],
84
- "description": "Installed version. null when the install record is incomplete."
85
- },
86
- "source": {
87
- "type": "string",
88
- "description": "Absolute path of the config file that requested this tool. The literal string 'orphan' for installs not referenced by any active config."
89
- },
90
- "source_type": {
91
- "type": ["string", "null"],
92
- "description": "mise source classifier — typically 'mise.toml'."
93
- },
94
- "requested_version": {
95
- "type": ["string", "null"],
96
- "description": "Version spec the config requested (e.g. '24.14.0', 'latest', '3.12'). null for orphans."
97
- },
98
- "install_path": {
99
- "type": ["string", "null"],
100
- "description": "Absolute path of the install directory under mise's data root."
101
- },
102
- "active": {
103
- "type": "boolean",
104
- "description": "True iff this version is the one shimmed/active for the current path."
105
- }
106
- }
107
- }
108
- }
109
- }
110
- }
@@ -1,33 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://sebastienrousseau.github.io/dotfiles/schema/dot-registry-v1.json",
4
- "title": "Dot Module Registry v1",
5
- "description": "Integrity-pinned index consumed by dot registry.",
6
- "type": "object",
7
- "required": ["version", "modules"],
8
- "additionalProperties": false,
9
- "properties": {
10
- "version": { "const": 1 },
11
- "updated": { "type": "string", "format": "date-time" },
12
- "registry": { "type": "string", "minLength": 1 },
13
- "modules": {
14
- "type": "array",
15
- "items": {
16
- "type": "object",
17
- "required": ["name", "version", "description", "archive_url", "sha256"],
18
- "additionalProperties": false,
19
- "properties": {
20
- "name": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{0,31}$" },
21
- "version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+([+-][0-9A-Za-z.-]+)?$" },
22
- "description": { "type": "string", "maxLength": 200 },
23
- "archive_url": { "type": "string", "pattern": "^https://" },
24
- "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
25
- "repo": { "type": "string", "pattern": "^https://" },
26
- "tags": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
27
- "maintainer": { "type": "string", "minLength": 1 },
28
- "license": { "type": "string", "minLength": 1 }
29
- }
30
- }
31
- }
32
- }
33
- }