@sebastienrousseau/dotfiles 0.2.519 → 0.2.521

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 (306) hide show
  1. package/CHANGELOG.md +200 -0
  2. package/LICENSE-APACHE +190 -0
  3. package/{LICENSE → LICENSE-MIT} +1 -1
  4. package/README.md +1172 -166
  5. package/install.sh +77 -11
  6. package/package.json +8 -8
  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/CNAME +0 -1
  12. package/docs/CONFIG_STRATEGY.md +0 -124
  13. package/docs/COPYRIGHT +0 -7
  14. package/docs/GOVERNANCE.md +0 -98
  15. package/docs/MAINTAINERS.md +0 -41
  16. package/docs/NAMING_CONVENTIONS.md +0 -102
  17. package/docs/OPENCODE.md +0 -127
  18. package/docs/README.md +0 -84
  19. package/docs/STRUCTURE.md +0 -102
  20. package/docs/adr/ADR-001-ci-cd-pipeline.md +0 -118
  21. package/docs/adr/ADR-002-shell-performance.md +0 -130
  22. package/docs/adr/ADR-003-security-first.md +0 -158
  23. package/docs/adr/ADR-004-cli-architecture.md +0 -171
  24. package/docs/adr/ADR-005-chezmoi-choice.md +0 -99
  25. package/docs/adr/ADR-006-shell-selection.md +0 -124
  26. package/docs/adr/ADR-007-multi-shell-parity.md +0 -62
  27. package/docs/adr/ADR-008-alias-system-architecture.md +0 -95
  28. package/docs/adr/ADR-009-wallpaper-driven-theming.md +0 -131
  29. package/docs/adr/ADR-010-starship-transient-prompt.md +0 -144
  30. package/docs/adr/ADR-011-nushell-tier3-keep.md +0 -144
  31. package/docs/adr/ADR-012-ai-fleet-local-proxy.md +0 -79
  32. package/docs/adr/README.md +0 -40
  33. package/docs/architecture/AI_COST_OPTIMIZATION.md +0 -144
  34. package/docs/architecture/ARCHITECTURE.md +0 -117
  35. package/docs/architecture/INTEROP.md +0 -44
  36. package/docs/architecture/REPO_LAYOUT.md +0 -241
  37. package/docs/architecture/WALKTHROUGH.md +0 -86
  38. package/docs/architecture/fleet-deployment.md +0 -77
  39. package/docs/archive/EUXIS_2026_REVIEW.md +0 -127
  40. package/docs/archive/LEGACY_ROADMAP.md +0 -6
  41. package/docs/archive/MILESTONE_v0.2.493.md +0 -47
  42. package/docs/archive/PLAN.md +0 -199
  43. package/docs/archive/REPO_AUDIT.md +0 -31
  44. package/docs/articles/.pages +0 -6
  45. package/docs/articles/2026-07-05-custom-mkdocs-material-dark-theme.md +0 -216
  46. package/docs/articles/2026-07-05-fish-startup-abbr.md +0 -153
  47. package/docs/articles/2026-07-05-master-to-main-rename-runbook.md +0 -128
  48. package/docs/articles/index.md +0 -36
  49. package/docs/guides/INSTALL.md +0 -144
  50. package/docs/guides/NEOVIM_IDE_GUIDE.md +0 -61
  51. package/docs/guides/THEMING.md +0 -230
  52. package/docs/guides/TROUBLESHOOTING.md +0 -176
  53. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +0 -792
  54. package/docs/index.md +0 -132
  55. package/docs/interop/A2A.md +0 -39
  56. package/docs/interop/POWERSHELL.md +0 -102
  57. package/docs/manual/00-introduction.md +0 -89
  58. package/docs/manual/01-concepts/01-architecture.md +0 -138
  59. package/docs/manual/01-concepts/02-trust-model.md +0 -183
  60. package/docs/manual/01-concepts/03-theme-engine.md +0 -186
  61. package/docs/manual/01-concepts/04-fleet.md +0 -148
  62. package/docs/manual/01-concepts/05-self-healing.md +0 -204
  63. package/docs/manual/02-tutorials/01-first-install.md +0 -197
  64. package/docs/manual/02-tutorials/02-add-wallpaper.md +0 -216
  65. package/docs/manual/02-tutorials/03-create-profile.md +0 -244
  66. package/docs/manual/02-tutorials/04-encrypt-secret.md +0 -281
  67. package/docs/manual/02-tutorials/05-deploy-fleet.md +0 -283
  68. package/docs/manual/03-reference/01-dot-cli.md +0 -450
  69. package/docs/manual/03-reference/02-config-files.md +0 -265
  70. package/docs/manual/03-reference/03-environment.md +0 -124
  71. package/docs/manual/03-reference/04-templates.md +0 -190
  72. package/docs/manual/03-reference/05-feature-flags.md +0 -187
  73. package/docs/manual/04-cookbook/01-recipes.md +0 -285
  74. package/docs/manual/04-cookbook/02-troubleshooting.md +0 -351
  75. package/docs/manual/04-cookbook/03-faq.md +0 -175
  76. package/docs/manual/05-appendices/A-platform-matrix.md +0 -101
  77. package/docs/manual/05-appendices/B-security-checklist.md +0 -85
  78. package/docs/manual/05-appendices/C-glossary.md +0 -40
  79. package/docs/manual/05-appendices/D-bibliography.md +0 -58
  80. package/docs/manual/05-appendices/E-license.md +0 -38
  81. package/docs/manual/_toc.yml +0 -58
  82. package/docs/manual/command-index.md +0 -155
  83. package/docs/manual/concept-index.md +0 -168
  84. package/docs/manual/index.md +0 -66
  85. package/docs/operations/ARCHITECTURE_ROADMAP.md +0 -7
  86. package/docs/operations/ATTESTATION.md +0 -44
  87. package/docs/operations/CI_CADENCE.md +0 -107
  88. package/docs/operations/CI_COMPOSITES.md +0 -156
  89. package/docs/operations/COMPLETIONS.md +0 -123
  90. package/docs/operations/COVERAGE.md +0 -204
  91. package/docs/operations/DRIFT.md +0 -107
  92. package/docs/operations/HARD_AUDIT_2026.md +0 -631
  93. package/docs/operations/MAINTENANCE.md +0 -63
  94. package/docs/operations/MANIFEST.md +0 -127
  95. package/docs/operations/MIGRATION.md +0 -109
  96. package/docs/operations/OPERATIONS.md +0 -188
  97. package/docs/operations/PERFORMANCE.md +0 -133
  98. package/docs/operations/REGISTRY.md +0 -90
  99. package/docs/operations/RELEASE_PIPELINE.md +0 -128
  100. package/docs/operations/RELIABILITY.md +0 -122
  101. package/docs/operations/RFC_v0_2_503_reorganization.md +0 -280
  102. package/docs/operations/ROADMAP.md +0 -10
  103. package/docs/operations/ROADMAP_2026.md +0 -7
  104. package/docs/operations/ROADMAP_V0_2_503.md +0 -10
  105. package/docs/operations/TESTING.md +0 -216
  106. package/docs/operations/TRACEABILITY.md +0 -43
  107. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +0 -65
  108. package/docs/operations/VERSION_SYNC.md +0 -393
  109. package/docs/reference/ALIASES.md +0 -131
  110. package/docs/reference/ALIASES_CHEATSHEET.md +0 -32
  111. package/docs/reference/ALIASES_DEPRECATIONS.md +0 -13
  112. package/docs/reference/FEATURES.md +0 -66
  113. package/docs/reference/FONTS.md +0 -112
  114. package/docs/reference/POWERSHELL_PARITY.md +0 -82
  115. package/docs/reference/PROFILES.md +0 -69
  116. package/docs/reference/SCREENSHOTS.md +0 -121
  117. package/docs/reference/SCRIPTS.md +0 -71
  118. package/docs/reference/SUPPORT_MATRIX.md +0 -80
  119. package/docs/reference/THEMES.md +0 -117
  120. package/docs/reference/TOOLS.md +0 -110
  121. package/docs/reference/UTILS.md +0 -242
  122. package/docs/registry.json +0 -6
  123. package/docs/schema/dot-env-v1.json +0 -110
  124. package/docs/schema/dot-registry-v1.json +0 -33
  125. package/docs/security/AI_ACT_COMPLIANCE.md +0 -94
  126. package/docs/security/AUDIT_BYPASS.md +0 -103
  127. package/docs/security/AUTOMATION_SECRETS.md +0 -26
  128. package/docs/security/CI_EGRESS_ALLOWLIST.md +0 -127
  129. package/docs/security/CI_PINNING.md +0 -129
  130. package/docs/security/COMMIT_SIGNING.md +0 -138
  131. package/docs/security/COMPLIANCE.md +0 -458
  132. package/docs/security/DEPS_DEV_EXCEPTIONS.md +0 -86
  133. package/docs/security/DISCLOSURE.md +0 -130
  134. package/docs/security/ENCRYPTION.md +0 -57
  135. package/docs/security/FMEA.md +0 -159
  136. package/docs/security/FUZZING.md +0 -114
  137. package/docs/security/HISTORY_FILTERING.md +0 -132
  138. package/docs/security/INCIDENT_RESPONSE.md +0 -579
  139. package/docs/security/INSTALL_VERIFICATION.md +0 -122
  140. package/docs/security/KEYS.md +0 -49
  141. package/docs/security/KEY_ROTATION.md +0 -303
  142. package/docs/security/MCP_POLICY.md +0 -78
  143. package/docs/security/POLICY_RELEASES.md +0 -37
  144. package/docs/security/README.md +0 -28
  145. package/docs/security/SCORECARD.md +0 -195
  146. package/docs/security/SECRETS.md +0 -158
  147. package/docs/security/SECURITY.md +0 -45
  148. package/docs/security/SECURITY_CHECKLIST.md +0 -55
  149. package/docs/security/SHELL_EXEMPTIONS.md +0 -145
  150. package/docs/security/SOUP_REGISTER.md +0 -36
  151. package/docs/security/THREAT_MODEL.md +0 -130
  152. package/docs/security/VERIFICATION_VALIDATION.md +0 -228
  153. package/docs/security/VERIFY_RELEASE.md +0 -201
  154. package/docs/security/security-pubkey.asc +0 -15
  155. package/docs/stylesheets/extra.css +0 -444
  156. package/docs/themes/README.md +0 -10
  157. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +0 -30
  158. package/docs/themes/hero-shot.svg +0 -78
  159. package/scripts/README.md +0 -123
  160. package/scripts/ci/check-copyright-headers.sh +0 -8
  161. package/scripts/ci/check-shell-preamble.sh +0 -8
  162. package/scripts/ci/guard-gitleaks-checkout.sh +0 -8
  163. package/scripts/demo/record.sh +0 -43
  164. package/scripts/diagnostics/a2a-conformance.sh +0 -163
  165. package/scripts/diagnostics/alias-governance.sh +0 -138
  166. package/scripts/diagnostics/aliases-cheatsheet.sh +0 -74
  167. package/scripts/diagnostics/aliases-manifest.sh +0 -77
  168. package/scripts/diagnostics/benchmark.sh +0 -408
  169. package/scripts/diagnostics/conflicts.sh +0 -73
  170. package/scripts/diagnostics/doctor-unified.sh +0 -39
  171. package/scripts/diagnostics/doctor.sh +0 -751
  172. package/scripts/diagnostics/drift-dashboard.sh +0 -202
  173. package/scripts/diagnostics/health.sh +0 -623
  174. package/scripts/diagnostics/history-analysis.sh +0 -86
  175. package/scripts/diagnostics/mcp-doctor.sh +0 -582
  176. package/scripts/diagnostics/perf.sh +0 -453
  177. package/scripts/diagnostics/scorecard.sh +0 -119
  178. package/scripts/diagnostics/secret-governance.sh +0 -65
  179. package/scripts/diagnostics/security-score.sh +0 -467
  180. package/scripts/diagnostics/smoke-test.sh +0 -88
  181. package/scripts/diagnostics/snapshot.sh +0 -90
  182. package/scripts/diagnostics/verify.sh +0 -108
  183. package/scripts/diagnostics/verify_state.sh +0 -73
  184. package/scripts/diagnostics/version-locks.sh +0 -94
  185. package/scripts/diagnostics/workstation-attestation.sh +0 -187
  186. package/scripts/dot/commands/agent.sh +0 -485
  187. package/scripts/dot/commands/agents.sh +0 -336
  188. package/scripts/dot/commands/ai.sh +0 -587
  189. package/scripts/dot/commands/aliases.sh +0 -277
  190. package/scripts/dot/commands/appearance.sh +0 -110
  191. package/scripts/dot/commands/completion.sh +0 -134
  192. package/scripts/dot/commands/core.sh +0 -217
  193. package/scripts/dot/commands/diagnostics.sh +0 -265
  194. package/scripts/dot/commands/env-emit.sh +0 -203
  195. package/scripts/dot/commands/fleet.sh +0 -688
  196. package/scripts/dot/commands/init.sh +0 -185
  197. package/scripts/dot/commands/lint.sh +0 -208
  198. package/scripts/dot/commands/manual.sh +0 -169
  199. package/scripts/dot/commands/meta.sh +0 -333
  200. package/scripts/dot/commands/patterns.sh +0 -55
  201. package/scripts/dot/commands/registry.sh +0 -419
  202. package/scripts/dot/commands/restore.sh +0 -232
  203. package/scripts/dot/commands/secrets.sh +0 -296
  204. package/scripts/dot/commands/security.sh +0 -102
  205. package/scripts/dot/commands/tools.sh +0 -556
  206. package/scripts/dot/data/alias-deprecations.tsv +0 -2
  207. package/scripts/dot/powershell/Dot.psm1 +0 -319
  208. package/scripts/fonts/install-nerd-fonts.sh +0 -75
  209. package/scripts/fonts/patch-fonts.sh +0 -36
  210. package/scripts/git-hooks/install.sh +0 -12
  211. package/scripts/git-hooks/pre-commit +0 -12
  212. package/scripts/git-hooks/pre-commit-audit.sh +0 -146
  213. package/scripts/git-hooks/pre-push +0 -105
  214. package/scripts/git-hooks/prepare-commit-msg +0 -29
  215. package/scripts/lib/secrets_provider.sh +0 -185
  216. package/scripts/ops/ai-setup.sh +0 -71
  217. package/scripts/ops/bundle.sh +0 -104
  218. package/scripts/ops/chaos.sh +0 -50
  219. package/scripts/ops/chezmoi-apply.sh +0 -333
  220. package/scripts/ops/chezmoi-diff.sh +0 -16
  221. package/scripts/ops/chezmoi-remove.sh +0 -46
  222. package/scripts/ops/chezmoi-update.sh +0 -63
  223. package/scripts/ops/heal-chezmoi.sh +0 -87
  224. package/scripts/ops/heal-system.sh +0 -129
  225. package/scripts/ops/heal-tools.sh +0 -297
  226. package/scripts/ops/heal.sh +0 -223
  227. package/scripts/ops/post-apply-repair.sh +0 -107
  228. package/scripts/ops/prewarm.sh +0 -128
  229. package/scripts/ops/release.sh +0 -262
  230. package/scripts/ops/rollback.sh +0 -604
  231. package/scripts/ops/setup.sh +0 -138
  232. package/scripts/ops/teleport.sh +0 -34
  233. package/scripts/qa/check-version-consistency.sh +0 -124
  234. package/scripts/qa/coverage-baseline.sh +0 -61
  235. package/scripts/qa/docs-coverage.sh +0 -112
  236. package/scripts/qa/examples-coverage.sh +0 -94
  237. package/scripts/qa/powershell-contract.ps1 +0 -95
  238. package/scripts/qa/reliability-audit.sh +0 -139
  239. package/scripts/qa/scorecard-snapshot.sh +0 -128
  240. package/scripts/qa/traceability-coverage.sh +0 -117
  241. package/scripts/qa/validate-examples.sh +0 -27
  242. package/scripts/qa/wsl-contract.sh +0 -12
  243. package/scripts/secrets/age-init.sh +0 -82
  244. package/scripts/secrets/create-secrets-file.sh +0 -46
  245. package/scripts/secrets/encrypt-ssh-key.sh +0 -44
  246. package/scripts/security/backup.sh +0 -58
  247. package/scripts/security/check-disclosure-key-expiry.sh +0 -111
  248. package/scripts/security/dns-doh.sh +0 -52
  249. package/scripts/security/encryption-check.sh +0 -55
  250. package/scripts/security/enforce-policies.sh +0 -335
  251. package/scripts/security/firewall.sh +0 -91
  252. package/scripts/security/lock-configs.sh +0 -67
  253. package/scripts/security/lock-screen.sh +0 -56
  254. package/scripts/security/manage-secrets.sh +0 -429
  255. package/scripts/security/ssh-cert.sh +0 -204
  256. package/scripts/security/telemetry-kill.sh +0 -51
  257. package/scripts/security/usb-safety.sh +0 -52
  258. package/scripts/theme/apply-gnome-theme.sh +0 -333
  259. package/scripts/theme/extract-heic-frames.sh +0 -115
  260. package/scripts/theme/extract-theme.py +0 -742
  261. package/scripts/theme/install-boot-logo.sh +0 -63
  262. package/scripts/theme/install-catppuccin-themes.sh +0 -371
  263. package/scripts/theme/install-cursors.sh +0 -26
  264. package/scripts/theme/install-file-icons.sh +0 -27
  265. package/scripts/theme/install-grub-theme.sh +0 -62
  266. package/scripts/theme/install-lock-icon.sh +0 -31
  267. package/scripts/theme/merge-wallpaper.sh +0 -146
  268. package/scripts/theme/rebuild-themes.sh +0 -544
  269. package/scripts/theme/switch.sh +0 -449
  270. package/scripts/theme/wallpaper-rotate.sh +0 -137
  271. package/scripts/theme/wallpaper-sync.sh +0 -690
  272. package/scripts/tools/cmatrix.sh +0 -22
  273. package/scripts/tools/detect-collisions.py +0 -103
  274. package/scripts/tools/emoji-picker.sh +0 -49
  275. package/scripts/tools/figlet-banner.sh +0 -19
  276. package/scripts/tools/log-rotate.sh +0 -31
  277. package/scripts/tools/lolcat-wrap.sh +0 -20
  278. package/scripts/tools/pipes.sh +0 -49
  279. package/scripts/tuning/linux.sh +0 -186
  280. package/scripts/tuning/macos.sh +0 -56
  281. package/scripts/uninstall.sh +0 -86
  282. package/scripts/version-sync.sh +0 -654
  283. package/templates/chezmoi-data/geekom-a9.toml.example +0 -21
  284. package/templates/chezmoi-data/mac-m1.toml.example +0 -16
  285. package/templates/chezmoi-data/mac-t2-linux.toml.example +0 -21
  286. package/templates/chezmoi-data/surface-pro-7p.toml.example +0 -21
  287. package/templates/projects/go/.github/workflows/ci.yml +0 -31
  288. package/templates/projects/go/README.md +0 -7
  289. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +0 -8
  290. package/templates/projects/go/go.mod +0 -3
  291. package/templates/projects/go/go.sum +0 -0
  292. package/templates/projects/molecule/README.md +0 -7
  293. package/templates/projects/molecule/converge.yml +0 -7
  294. package/templates/projects/molecule/molecule.yml +0 -16
  295. package/templates/projects/node/.github/workflows/ci.yml +0 -30
  296. package/templates/projects/node/README.md +0 -7
  297. package/templates/projects/node/package-lock.json +0 -12
  298. package/templates/projects/node/package.json +0 -10
  299. package/templates/projects/node/src/index.js +0 -3
  300. package/templates/projects/packer/README.md +0 -15
  301. package/templates/projects/packer/main.pkr.hcl +0 -15
  302. package/templates/projects/python/.github/workflows/ci.yml +0 -34
  303. package/templates/projects/python/README.md +0 -7
  304. package/templates/projects/python/pyproject.toml +0 -25
  305. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +0 -2
  306. package/templates/projects/python/tests/test_basic.py +0 -3
@@ -1,175 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Cookbook: Frequently Asked Questions
6
-
7
- ## General
8
-
9
- ### Why use this over stow, yadm, or a plain Git repo?
10
-
11
- Because it's not just a dotfiles manager. It's a workstation baseline with:
12
-
13
- - Cryptographic attestation
14
- - AI/MCP policy enforcement
15
- - Wallpaper-driven theme engine (WCAG AAA)
16
- - Self-healing + chaos testing
17
- - Fleet management
18
- - Per-platform rendering via chezmoi templates
19
-
20
- If you only need to symlink `.bashrc`, use stow. If you're operating a fleet of signed, attested, AI-aware workstations, use this.
21
-
22
- ### Does it work on Windows?
23
-
24
- Only via WSL2. Native Windows PowerShell support exists for baseline parity (aliases, prompt), but the full feature set (chezmoi, Mise, theme engine) requires WSL2.
25
-
26
- ### Is it production-ready?
27
-
28
- Yes — it's the author's daily driver across multiple hosts and receives regular releases (see `CHANGELOG.md`). CI enforces 100% executable-module mapping and a ratcheted measured Bash line-coverage floor, plus zero-warning linting, WCAG AAA for themes, SBOM + CVE scanning, and signed-commit verification. The current measured coverage and exclusions are documented in `docs/operations/COVERAGE.md`.
29
-
30
- ### Can I fork it and use it without attribution?
31
-
32
- Yes — MIT License. Attribution is appreciated but not required.
33
-
34
- ## Themes
35
-
36
- ### Why K-Means in CIELAB instead of RGB?
37
-
38
- CIELAB distances approximate human perception. A Δ in RGB might look identical to your eye in one part of the color space and very different in another. Clustering in Lab produces palettes where "close" colors actually look close. See [Theme Engine](../01-concepts/03-theme-engine.md).
39
-
40
- ### Why not pre-built themes like Catppuccin or Rosé Pine?
41
-
42
- Two reasons:
43
-
44
- 1. **Maintenance** — 100+ themes × 20+ applications = thousands of template variables to keep in sync. Generation from wallpapers eliminates that.
45
- 2. **User agency** — users bring their own wallpapers. The theme adapts to them, not the other way around.
46
-
47
- The engine can still produce Catppuccin-like output: give it a Catppuccin wallpaper and you get Catppuccin-aligned terminal colors.
48
-
49
- ### Does it ship wallpapers?
50
-
51
- No. Apple/Microsoft/distro-vendor wallpapers are copyrighted. The repo discovers wallpapers that are already on the user's system (at `~/Pictures/Wallpapers/` or the OS's system wallpaper directory). Users bring their own images.
52
-
53
- ### How do I control the accent color?
54
-
55
- You don't directly — the accent hue is extracted from the wallpaper. But `_compute_accent()` picks the most chromatic cluster, then darkens it until white text meets 7:1 contrast. If you want a specific accent, choose a wallpaper with that hue dominant.
56
-
57
- ### Can I use my own theme without a wallpaper?
58
-
59
- Not directly — the engine expects a source image. You could:
60
-
61
- 1. Pick a wallpaper whose palette you want
62
- 2. Let the engine generate the theme
63
- 3. Lock the generated `.toml` entry by copying to a non-regenerated path
64
-
65
- But this defeats the point. If you have a specific palette in mind, generate a solid-color or gradient image with those colors and use that.
66
-
67
- ## Secrets
68
-
69
- ### Why Age instead of GPG?
70
-
71
- GPG is notoriously complex. Age is simpler, uses modern crypto (X25519 + ChaCha20-Poly1305), and has no legacy baggage. It's the tool [SOPS recommends](https://github.com/getsops/sops#encrypting-using-age).
72
-
73
- ### Why commit encrypted secrets at all?
74
-
75
- - **Traceable** — Git history shows when secrets changed
76
- - **Auditable** — ciphertext is testable without decryption
77
- - **Portable** — clone the repo anywhere, decrypt with your key
78
- - **No external dependency** — no Vault/AWS Secrets Manager/etc.
79
-
80
- The alternative (storing secrets outside the repo) creates sync headaches across fleet hosts. Encrypted-at-rest-in-repo is simpler and just as secure if keys are managed correctly.
81
-
82
- ### What if I lose my Age private key?
83
-
84
- You lose access to all secrets encrypted only for that key. Recovery requires another recipient (another host with a valid key) to decrypt and re-encrypt. Fleet setups use multiple recipients for this reason — see [Deploy to Fleet](../02-tutorials/05-deploy-fleet.md).
85
-
86
- ## AI & Agents
87
-
88
- ### Does this require an API key?
89
-
90
- No. The AI tools (Claude Code, Codex, Copilot) are installed but require their own authentication. `dot ai` shows what's present without invoking any remote service.
91
-
92
- ### What is MCP?
93
-
94
- The [Model Context Protocol](https://modelcontextprotocol.io/) is a standard for connecting AI models to tools and data sources. `.dotfiles` includes policy enforcement for MCP-aware agents: allowlists, attestation, and signed registries. See [Trust Model](../01-concepts/02-trust-model.md).
95
-
96
- ### Can I add my own agent profile?
97
-
98
- Yes. Drop a Markdown file in `dot_config/ai/patterns/`. Each file describes a profile (architect, hardener, etc.). `dot mode <name>` switches between them.
99
-
100
- ## Fleet
101
-
102
- ### How many hosts can I manage?
103
-
104
- No hard limit. The `dot fleet` commands SSH sequentially by default, so large fleets (>20 hosts) benefit from parallel invocation. For industrial scale, pair with Ansible/Nix/Puppet; `.dotfiles` handles the user-level config, not system administration.
105
-
106
- ### Do I need a central server?
107
-
108
- No. Everything is Git-based. No central orchestration service, no daemon. Each host pulls independently.
109
-
110
- ### Can two hosts have different themes?
111
-
112
- Yes. Each host's `~/.config/chezmoi/chezmoi.toml` can set its own `theme`. This is per-host override — not shared in the repo.
113
-
114
- ## Performance
115
-
116
- ### Why is my shell startup 800ms when the budget is 500ms?
117
-
118
- Check what's loaded:
119
-
120
- ```sh
121
- DOTFILES_DEBUG=1 zsh -i -c exit 2>&1 | grep -E '\[debug [0-9]+ms\]'
122
- ```
123
-
124
- Common culprits:
125
-
126
- - nvm loading Node on every shell (use lazy loading)
127
- - `mise activate` with aggressive hook-env (set `activate_aggressive = false`)
128
- - Plugin manager scanning for updates
129
-
130
- Run `dot benchmark --detailed` to attribute cost.
131
-
132
- ### Can I disable prewarming?
133
-
134
- Yes — but your cold shell startup will be slow. Remove the prewarm invocation from your shell profile or skip `dot prewarm` after apply.
135
-
136
- ## Troubleshooting Community
137
-
138
- ### Where do I report bugs?
139
-
140
- GitHub issues: <https://github.com/sebastienrousseau/dotfiles/issues>. Include output of `dot doctor --json` and your platform.
141
-
142
- ### Where do I ask usage questions?
143
-
144
- GitHub discussions, or mention in the issue you open. The maintainer responds best to issues with clear repro steps.
145
-
146
- ### Is there a Discord / Slack?
147
-
148
- Not currently.
149
-
150
- ## Philosophy
151
-
152
- ### Why so much emphasis on attestation?
153
-
154
- Because AI agents operating on your workstation can do anything you can. Attestation is the audit trail — who ran what, when, with which policy. Without it, agent operations are black boxes.
155
-
156
- ### Why MIT License?
157
-
158
- To maximize adoption and contribution. MIT is compatible with commercial use; copyleft alternatives would restrict who can use the code.
159
-
160
- ### Why no GUI configurator?
161
-
162
- Text + Git is the optimal interface for a workstation baseline:
163
-
164
- - Versioned (Git history)
165
- - Reproducible (same input → same output)
166
- - Auditable (diff-able)
167
- - Scriptable (any `dot` command can be invoked programmatically)
168
-
169
- A GUI adds complexity without benefit over editing `.chezmoidata.toml` directly.
170
-
171
- ## See Also
172
-
173
- - [Troubleshooting](02-troubleshooting.md)
174
- - [Recipes](01-recipes.md)
175
- - [GitHub Discussions](https://github.com/sebastienrousseau/dotfiles/discussions)
@@ -1,101 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Appendix A: Platform Support Matrix
6
-
7
- ## Supported Platforms
8
-
9
- | OS | Version | Support | Notes |
10
- |:---|:---|:---:|:---|
11
- | macOS | 14 (Sonoma) | ✓ full | Primary development platform |
12
- | macOS | 15 (Sequoia) | ✓ full | |
13
- | macOS | 26 (Tahoe) | ✓ full | |
14
- | Ubuntu | 22.04 LTS | ✓ full | |
15
- | Ubuntu | 24.04 LTS | ✓ full | CI reference platform |
16
- | Debian | 12 (Bookworm) | ✓ full | |
17
- | Debian | 13 (Trixie) | ✓ full | |
18
- | Arch Linux | rolling | ✓ full | |
19
- | CachyOS | rolling | ✓ full | Arch-based |
20
- | Fedora | 39 | ✓ | Less tested |
21
- | Fedora | 40, 41 | ✓ | Less tested |
22
- | openSUSE | Tumbleweed | ✓ | Less tested |
23
- | Alpine | 3.20 | ⚠ partial | POSIX shells only; no Fish |
24
- | WSL2 | Ubuntu 22.04+ | ✓ full | Windows 11 host |
25
- | WSL2 | Debian | ✓ full | |
26
- | Windows PowerShell | 7.5+ | ⚠ baseline | Aliases + prompt; no chezmoi |
27
- | FreeBSD | 14 | ✗ untested | |
28
- | Termux (Android) | latest | ✗ untested | |
29
-
30
- ## Supported Shells
31
-
32
- | Shell | Version | Support |
33
- |:---|:---|:---:|
34
- | Fish | 3.6+ | ✓ primary |
35
- | Zsh | 5.9+ | ✓ full |
36
- | Bash | 5.0+ | ✓ full |
37
- | Nushell | 0.90+ | ✓ full |
38
- | PowerShell | 7.5+ | ⚠ baseline |
39
-
40
- ## Supported Architectures
41
-
42
- | Arch | Status |
43
- |:---:|:---:|
44
- | amd64 / x86_64 | ✓ |
45
- | arm64 / aarch64 | ✓ |
46
- | armv7 | ⚠ best-effort |
47
- | riscv64 | ✗ untested |
48
-
49
- ## Required Binaries
50
-
51
- | Binary | Purpose | Install |
52
- |:---|:---|:---|
53
- | `git` | Version control | System package manager |
54
- | `curl` | Installer | System package manager |
55
- | `chezmoi` | Template engine | Installer downloads verified binary |
56
-
57
- ## Optional Binaries (installed by Mise on first apply)
58
-
59
- | Binary | Purpose |
60
- |:---|:---|
61
- | `mise` | Runtime version manager |
62
- | `age` | Secret encryption |
63
- | `sops` | YAML secret encryption |
64
- | `pandoc` | Manual generation |
65
- | `shellcheck` | Shell linting |
66
- | `shfmt` | Shell formatting |
67
- | `starship` | Prompt |
68
- | `fzf` | Fuzzy finder |
69
- | `zoxide` | Smart `cd` |
70
- | `atuin` | Shell history sync |
71
- | `delta` | Git diff pager |
72
- | `lazygit` | TUI Git client |
73
- | `neovim` | Editor |
74
-
75
- ## Tested CI Environments
76
-
77
- | Environment | Workflow |
78
- |:---|:---|
79
- | macOS 14 (GHA) | `ci.yml`, `ci-enforced.yml` |
80
- | Ubuntu 24.04 (GHA) | `ci.yml`, `ci-enforced.yml` |
81
- | GitHub Codespaces | `devcontainer-prebuild.yml` |
82
- | Docker Ubuntu 24.04 | `ci.yml` test-docker job |
83
-
84
- ## Feature Matrix
85
-
86
- | Feature | macOS | Linux | WSL2 |
87
- |:---|:---:|:---:|:---:|
88
- | Shell configs (zsh/fish/bash/nu) | ✓ | ✓ | ✓ |
89
- | Terminal emulator configs | ✓ | ✓ | ✗ (host handles) |
90
- | Theme engine (K-Means) | ✓ | ✓ | ✓ |
91
- | Dynamic HEIC dark/light | ✓ native | ⚠ HEIC→PNG converted | ✗ |
92
- | Neovim + LSP | ✓ | ✓ | ✓ |
93
- | AI tools (Claude, Codex, etc.) | ✓ | ✓ | ✓ |
94
- | MCP policy enforcement | ✓ | ✓ | ✓ |
95
- | Attestation | ✓ | ✓ | ✓ |
96
- | Fleet (SSH-based) | ✓ | ✓ | ⚠ |
97
- | AeroSpace (WM) | ✓ | ✗ | ✗ |
98
- | Niri (WM) | ✗ | ✓ | ✗ |
99
- | GNOME gsettings | ✗ | ✓ | ⚠ |
100
- | Build artifact redirect | ✓ | ✓ | ✓ |
101
- | Self-healing (`dot heal`) | ✓ | ✓ | ✓ |
@@ -1,85 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Appendix B: Security Checklist
6
-
7
- Run this checklist after a fresh install and quarterly afterwards.
8
-
9
- ## Pre-Install
10
-
11
- - [ ] Download `install.sh` over HTTPS only
12
- - [ ] Inspect `install.sh` before running (optional, recommended for untrusted environments)
13
- - [ ] Ensure SSH signing key exists and is backed up (`~/.ssh/id_ed25519`)
14
- - [ ] Ensure Age key is backed up if reinstalling (`~/.config/age/keys.txt`)
15
-
16
- ## Post-Install
17
-
18
- - [ ] Run `dot doctor` — expect score ≥90
19
- - [ ] Run `dot verify --security` — all checks pass
20
- - [ ] Verify commit signing: `cd ~/.dotfiles && git verify-commit HEAD`
21
- - [ ] Confirm `~/.ssh/allowed_signers` contains your public key
22
- - [ ] Check that `~/.config/age/keys.txt` permissions are `0600`
23
- - [ ] Run `dot mcp --strict` — policy matches registry
24
-
25
- ## Ongoing (monthly)
26
-
27
- - [ ] `dot upgrade` — pick up security patches
28
- - [ ] `dot verify --security` — confirm no new leaks
29
- - [ ] Review `~/.local/state/dotfiles/mcp-violations.log` — any unexpected entries?
30
- - [ ] Review recent attestations — `ls ~/.local/state/dotfiles/attestation/ | tail -10`
31
- - [ ] Rotate Age key if compromised or as part of scheduled rotation
32
-
33
- ## Ongoing (quarterly)
34
-
35
- - [ ] Rotate SSH signing key
36
- - [ ] Audit `~/.ssh/allowed_signers` — remove former team members
37
- - [ ] Review SOPS recipient list in `.sops.yaml`
38
- - [ ] Run `dot chaos` in a test container — verify heal works
39
- - [ ] Update pinned tool versions in `mise.toml`
40
- - [ ] Run fleet attestation — confirm all hosts aligned
41
-
42
- ## Incident Response
43
-
44
- If a secret leak is detected:
45
-
46
- 1. **Contain** — remove from history, force-push
47
-
48
- ```sh
49
- git filter-repo --path <file> --invert-paths
50
- git push --force
51
- ```
52
-
53
- 2. **Rotate** — change the leaked secret upstream (Stripe key, SSH key, etc.)
54
- 3. **Audit** — check who/what had access
55
- 4. **Notify** — inform affected parties if required
56
-
57
- If a host is compromised:
58
-
59
- 1. **Revoke** — remove the host's public key from `~/.ssh/allowed_signers` on all other fleet hosts
60
- 2. **Re-encrypt** — `sops updatekeys` with the host excluded from recipients
61
- 3. **Attest** — run `dot fleet attest` to verify revocation propagated
62
- 4. **Wipe** — if the host is recoverable, `rm -rf ~/.config/age ~/.dotfiles` and reinstall
63
-
64
- ## Gates Enforced by CI
65
-
66
- Every PR to main must pass:
67
-
68
- - [x] SSH-signed commits
69
- - [x] Shellcheck zero warnings (severity=error)
70
- - [x] Gitleaks scan
71
- - [x] Detect-secrets baseline diff
72
- - [x] TruffleHog verified scan
73
- - [x] Copyright headers present
74
- - [x] 100% executable module mapping
75
- - [ ] 100% measured line and branch coverage (current ratchet is documented in `docs/operations/COVERAGE.md`)
76
- - [x] Reliability tests (macOS + Ubuntu)
77
- - [x] Checkov infra scan
78
- - [x] Version sync (bumped across all files)
79
-
80
- ## See Also
81
-
82
- - [Trust Model](../01-concepts/02-trust-model.md)
83
- - [Encrypt a Secret tutorial](../02-tutorials/04-encrypt-secret.md)
84
- - [Security Policy](../../security/SECURITY.md)
85
- - [Incident Response Playbook](../../security/INCIDENT_RESPONSE.md)
@@ -1,40 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Appendix C: Glossary
6
-
7
- | Term | Definition |
8
- |:---|:---|
9
- | **Age** | Modern file-encryption tool using X25519 + ChaCha20-Poly1305. Stores secrets in the repository encrypted at rest. |
10
- | **Agent Profile** | A named behaviour template for AI agents (e.g. architect, hardener). Stored in `dot_config/ai/patterns/`. |
11
- | **ANSI Colors** | The 16 foreground/background color slots (c0 through c15) used by terminal emulators. |
12
- | **Apple Desktop APR** | XMP metadata in dynamic HEIC wallpapers mapping image indices to light/dark appearance modes. |
13
- | **Attestation** | Signed JSON document asserting machine identity, policy, tool versions, and Git state at a point in time. |
14
- | **Baseline (security)** | Reference state used by `detect-secrets` to distinguish new leaks from known acceptable patterns. |
15
- | **Chaos** | Intentional corruption (`dot chaos`) used to verify `dot heal` recovers to a healthy state. |
16
- | **Chezmoi** | The templating engine handling per-platform rendering and applying configuration to `$HOME`. |
17
- | **CIELAB** | Color space designed for perceptual uniformity. Used by the theme engine for K-Means clustering. |
18
- | **CycloneDX** | SBOM format used by the repository for machine-readable dependency inventories. |
19
- | **Dank Material Shell (DMS)** | A shell for the Niri Wayland compositor that provides polished theming hooks. |
20
- | **Drift** | Local changes to managed files that diverge from the source tree. Detected by `dot status`. |
21
- | **Dynamic HEIC** | Apple's single-file wallpaper format that contains both light and dark variants with appearance metadata. |
22
- | **Fleet** | Two or more workstations sharing a single `.dotfiles` source repository. |
23
- | **Gitleaks** | Secret-pattern scanner that blocks commits containing obvious secret patterns. |
24
- | **Golden Ratio** | 1.618... Used as the target brightness ratio between dark and light theme variants. |
25
- | **Heal** | The `dot heal` command's action of auto-fixing drift, missing tools, and broken symlinks. |
26
- | **Idempotent** | Property where running an operation twice has the same result as running it once. |
27
- | **K-Means** | Clustering algorithm partitioning data into k groups by proximity to centroids. Used for dominant color extraction. |
28
- | **K-Means++** | Variant of K-Means with smart initialization that reduces sensitivity to random seeding. |
29
- | **MCP** | Model Context Protocol — standard for connecting AI models to external tools and data. |
30
- | **Mise** | User-space language and tool version manager. Replaces asdf, nvm, rbenv, pyenv. |
31
- | **Nix Flakes** | Nix's reproducible-build system. Used for strict repeatability when Mise's approximations aren't enough. |
32
- | **Niri** | Wayland compositor with scrollable tiling layout. |
33
- | **Policy Hash** | SHA-256 of the active MCP policy JSON. Included in attestations for drift detection. |
34
- | **Prewarm** | `dot prewarm` regenerates shell init caches, eliminating slow first-shell startup. |
35
- | **Profile** | Named collection of settings in `.chezmoidata.toml` selectable via `dot profile`. |
36
- | **SOPS** | "Secrets OPerationS" — YAML-aware envelope encryption tool that wraps Age (or PGP/AWS KMS). |
37
- | **SBOM** | Software Bill of Materials — machine-readable dependency list, generated by Syft, scanned by Grype. |
38
- | **Trust Anchor** | The root public key from which all other trust derives. For `.dotfiles`, the user's SSH ED25519 signing key. |
39
- | **WCAG AAA** | Web Content Accessibility Guidelines Level AAA — 7:1 text contrast ratio, the highest accessibility tier. |
40
- | **XDG Base Directory** | Spec defining `~/.config`, `~/.cache`, `~/.local/share`, `~/.local/state` for app data locations. |
@@ -1,58 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Appendix D: Bibliography
6
-
7
- Cited works and recommended reading.
8
-
9
- ## Algorithms
10
-
11
- - **MacQueen, J. (1967).** *Some methods for classification and analysis of multivariate observations.* Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability. — The original K-Means paper.
12
- - **Arthur, D. & Vassilvitskii, S. (2007).** *K-Means++: The advantages of careful seeding.* ACM-SIAM Symposium on Discrete Algorithms. <https://theory.stanford.edu/~sergei/papers/kMeansPP-soda.pdf>
13
- - **Heckbert, P. (1982).** *Color image quantization for frame buffer display.* Computer Graphics 16(3). — Median cut algorithm, the alternative to K-Means.
14
-
15
- ## Color Science
16
-
17
- - **CIE (1976).** *Recommendations on uniform color spaces, color-difference equations, psychometric color terms.* Supplement No. 2 to CIE Publication No. 15. — Defines CIELAB.
18
- - **Lindbloom, B. J.** *RGB/XYZ matrices.* <http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html> — sRGB → XYZ conversion reference.
19
- - **Fairchild, M. D. (2013).** *Color Appearance Models, 3rd Edition.* Wiley. — Comprehensive treatment of perceptual color spaces.
20
-
21
- ## Accessibility
22
-
23
- - **W3C (2023).** *Web Content Accessibility Guidelines (WCAG) 2.2.* <https://www.w3.org/TR/WCAG22/> — Accessibility standards including contrast ratios.
24
- - **W3C.** *Techniques for WCAG 2.2: G17 Using a contrast ratio of at least 7:1.* <https://www.w3.org/WAI/WCAG22/Techniques/general/G17>
25
-
26
- ## Cryptography
27
-
28
- - **Valsorda, F. (2020).** *age: A simple, modern and secure encryption tool.* <https://age-encryption.org/>
29
- - **Mozilla.** *SOPS: Secrets OPerationS.* <https://github.com/getsops/sops>
30
- - **Barnes, R., et al. (2023).** *RFC 9420: The Messaging Layer Security (MLS) Protocol.* — Modern group-key agreement, relevant to multi-recipient encryption.
31
-
32
- ## Protocols
33
-
34
- - **Anthropic.** *Model Context Protocol specification.* <https://modelcontextprotocol.io/>
35
- - **OpenID Foundation.** *Model Context Protocol A2A (Agent-to-Agent).* — Referenced in `dot_config/dotfiles/agent-card.json`.
36
-
37
- ## Tools & Systems
38
-
39
- - **Twpayne, T.** *chezmoi: Manage your dotfiles across multiple machines.* <https://chezmoi.io>
40
- - **jdxcode.** *mise: Dev tools, env vars, task runner.* <https://mise.jdx.dev/>
41
- - **NixOS.** *Nix Flakes.* <https://nixos.wiki/wiki/Flakes>
42
- - **Microsoft / CycloneDX.** *CycloneDX SBOM specification.* <https://cyclonedx.org/>
43
- - **Anchore.** *Syft + Grype.* <https://github.com/anchore/syft>, <https://github.com/anchore/grype>
44
-
45
- ## Shell Performance
46
-
47
- - **Yoo, D.** *How to benchmark shell startup time.* <https://web.archive.org/web/2023/https://hermann.blog/benchmark-shell-startup-time>
48
- - **Zsh manual.** *Startup files: zshenv, zprofile, zshrc.* <https://zsh.sourceforge.io/Doc/Release/Files.html>
49
-
50
- ## Documentation Systems
51
-
52
- - **GNU Stow documentation.** <https://www.gnu.org/software/stow/manual/> — Inspiration for this manual's multi-format publishing model.
53
- - **Pandoc.** *Universal document converter.* <https://pandoc.org/>
54
- - **GNU Texinfo.** <https://www.gnu.org/software/texinfo/> — The original GNU documentation system.
55
-
56
- ## Author
57
-
58
- - **Rousseau, S.** *Dotfiles v0.2.501.* <https://github.com/sebastienrousseau/dotfiles>
@@ -1,38 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Appendix E: License
6
-
7
- ## MIT License
8
-
9
- Copyright (c) 2015-2026 Sebastien Rousseau
10
-
11
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
-
17
- ## Third-Party Licenses
18
-
19
- This repository references, configures, or wraps many third-party tools. Each tool retains its own license:
20
-
21
- | Tool | License |
22
- |:---|:---|
23
- | Chezmoi | MIT |
24
- | Mise | MIT |
25
- | Nix | LGPL-2.1 |
26
- | Age | BSD-3-Clause |
27
- | SOPS | MPL-2.0 |
28
- | Fish shell | GPL-2.0 |
29
- | Zsh | Zsh License (MIT-like) |
30
- | Neovim | Apache-2.0 |
31
- | ImageMagick | ImageMagick License (Apache-2.0-like) |
32
- | Pandoc | GPL-2.0+ |
33
-
34
- Wallpapers referenced from `/System/Library/Desktop Pictures/` or `/usr/share/backgrounds/` retain their original vendors' licenses (Apple, Microsoft, distribution vendors). They are not redistributed by this repository — they are discovered and processed in place.
35
-
36
- ## Contributions
37
-
38
- Contributions are accepted under the MIT License. By submitting a pull request, you assert that your contribution is your own work (or properly attributed) and that it may be relicensed under MIT.
@@ -1,58 +0,0 @@
1
- # Master ordering for build-manual.sh
2
- # Determines concatenation order for single-page HTML/PDF/EPUB
3
- title: "The .dotfiles Manual"
4
- subtitle: "A Trusted Agent Workstation for macOS, Linux, and WSL"
5
- version: "0.2.503"
6
-
7
- sections:
8
- - file: 00-introduction.md
9
- title: "Introduction"
10
-
11
- - group: "Concepts"
12
- prefix: "01-concepts"
13
- files:
14
- - 01-architecture.md
15
- - 02-trust-model.md
16
- - 03-theme-engine.md
17
- - 04-fleet.md
18
- - 05-self-healing.md
19
-
20
- - group: "Tutorials"
21
- prefix: "02-tutorials"
22
- files:
23
- - 01-first-install.md
24
- - 02-add-wallpaper.md
25
- - 03-create-profile.md
26
- - 04-encrypt-secret.md
27
- - 05-deploy-fleet.md
28
-
29
- - group: "Reference"
30
- prefix: "03-reference"
31
- files:
32
- - 01-dot-cli.md
33
- - 02-config-files.md
34
- - 03-environment.md
35
- - 04-templates.md
36
- - 05-feature-flags.md
37
-
38
- - group: "Cookbook"
39
- prefix: "04-cookbook"
40
- files:
41
- - 01-recipes.md
42
- - 02-troubleshooting.md
43
- - 03-faq.md
44
-
45
- - group: "Appendices"
46
- prefix: "05-appendices"
47
- files:
48
- - A-platform-matrix.md
49
- - B-security-checklist.md
50
- - C-glossary.md
51
- - D-bibliography.md
52
- - E-license.md
53
-
54
- - file: concept-index.md
55
- title: "Concept Index"
56
-
57
- - file: command-index.md
58
- title: "Command Index"