@sebastienrousseau/dotfiles 0.2.507 → 0.2.510

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 (73) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/README.md +5 -5
  3. package/docs/COPYRIGHT +1 -1
  4. package/docs/GOVERNANCE.md +2 -2
  5. package/docs/adr/ADR-011-nushell-tier3-keep.md +2 -2
  6. package/docs/guides/INSTALL.md +3 -3
  7. package/docs/index.md +116 -27
  8. package/docs/interop/A2A.md +2 -2
  9. package/docs/interop/POWERSHELL.md +4 -4
  10. package/docs/manual/00-introduction.md +3 -3
  11. package/docs/manual/01-concepts/02-trust-model.md +3 -3
  12. package/docs/manual/01-concepts/04-fleet.md +1 -1
  13. package/docs/manual/02-tutorials/01-first-install.md +1 -1
  14. package/docs/manual/02-tutorials/05-deploy-fleet.md +2 -2
  15. package/docs/manual/03-reference/02-config-files.md +1 -1
  16. package/docs/manual/03-reference/04-templates.md +1 -1
  17. package/docs/manual/04-cookbook/01-recipes.md +1 -1
  18. package/docs/manual/04-cookbook/02-troubleshooting.md +1 -1
  19. package/docs/manual/05-appendices/B-security-checklist.md +1 -1
  20. package/docs/manual/command-index.md +76 -1
  21. package/docs/manual/index.md +1 -1
  22. package/docs/operations/ARCHITECTURE_ROADMAP.md +145 -0
  23. package/docs/operations/CI_CADENCE.md +2 -2
  24. package/docs/operations/COMPLETIONS.md +2 -2
  25. package/docs/operations/COVERAGE.md +4 -4
  26. package/docs/operations/DRIFT.md +1 -1
  27. package/docs/operations/MAINTENANCE.md +6 -6
  28. package/docs/operations/PERFORMANCE.md +6 -6
  29. package/docs/operations/RELIABILITY.md +1 -1
  30. package/docs/operations/ROADMAP_V0_2_503.md +1 -1
  31. package/docs/operations/TRACEABILITY.md +2 -0
  32. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +6 -6
  33. package/docs/operations/VERSION_SYNC.md +3 -3
  34. package/docs/reference/UTILS.md +82 -0
  35. package/docs/security/AUDIT_BYPASS.md +3 -3
  36. package/docs/security/AUTOMATION_SECRETS.md +1 -1
  37. package/docs/security/CI_PINNING.md +10 -10
  38. package/docs/security/COMMIT_SIGNING.md +10 -10
  39. package/docs/security/DEPS_DEV_EXCEPTIONS.md +4 -4
  40. package/docs/security/DISCLOSURE.md +3 -3
  41. package/docs/security/INCIDENT_RESPONSE.md +1 -1
  42. package/docs/security/INSTALL_VERIFICATION.md +2 -2
  43. package/docs/security/MCP_POLICY.md +4 -4
  44. package/docs/security/SCORECARD.md +7 -7
  45. package/docs/security/SECURITY_CHECKLIST.md +1 -1
  46. package/docs/security/SHELL_EXEMPTIONS.md +2 -2
  47. package/docs/security/SOUP_REGISTER.md +4 -4
  48. package/docs/stylesheets/extra.css +444 -0
  49. package/docs/themes/hero-shot.svg +1 -1
  50. package/install.sh +17 -6
  51. package/package.json +1 -1
  52. package/scripts/ci/check-copyright-headers.sh +1 -1
  53. package/scripts/ci/check-shell-preamble.sh +1 -1
  54. package/scripts/ci/guard-gitleaks-checkout.sh +1 -1
  55. package/scripts/dot/commands/agent.sh +7 -6
  56. package/scripts/dot/commands/ai.sh +8 -5
  57. package/scripts/dot/commands/appearance.sh +14 -1
  58. package/scripts/dot/commands/completion.sh +134 -0
  59. package/scripts/dot/commands/core.sh +8 -0
  60. package/scripts/dot/commands/diagnostics.sh +16 -0
  61. package/scripts/dot/commands/fleet.sh +7 -3
  62. package/scripts/dot/commands/lint.sh +55 -30
  63. package/scripts/dot/commands/secrets.sh +61 -7
  64. package/scripts/dot/commands/security.sh +8 -0
  65. package/scripts/dot/powershell/Dot.psm1 +1 -1
  66. package/scripts/git-hooks/pre-commit-audit.sh +1 -1
  67. package/scripts/ops/chezmoi-apply.sh +42 -8
  68. package/scripts/ops/chezmoi-update.sh +14 -0
  69. package/scripts/ops/heal-tools.sh +28 -0
  70. package/scripts/ops/teleport.sh +2 -2
  71. package/scripts/qa/examples-coverage.sh +94 -0
  72. package/scripts/version-sync.sh +29 -2
  73. package/docs/_config.yml +0 -59
package/CHANGELOG.md CHANGED
@@ -2,6 +2,99 @@
2
2
 
3
3
  This file documents all notable changes to this project.
4
4
 
5
+ ## v0.2.510 — 2026-07-05
6
+
7
+ Post-v0.2.509 quality-of-life release: default branch renamed `master` → `main`, docs site relit with a custom dark + terminal-green MkDocs Material theme, shells warmed up (fish alias→abbr, zsh PATH prune), font bumped to 20pt across every terminal template, themes rebuilt from wallpapers.
8
+
9
+ ### Added
10
+
11
+ - **Custom docs theme** (#960). doc.dotfiles.io now serves MkDocs Material with a bespoke palette (near-black `#0b0e14` background, terminal-green `#7ee787` accent), Inter + JetBrains Mono fonts, hero + 8-card feature grid landing page. Header, tabs, sidebar, TOC, admonitions, code blocks, tables, custom scrollbar all restyled in `docs/stylesheets/extra.css`.
12
+ - **CLAUDE.md `## Handing over commands` rule** (#959). Cross-project preference deployed to `~/.claude/CLAUDE.md`: when Claude Code needs the user to run shell steps themselves, it must hand them over as one runnable script file, not fenced code blocks or scattered one-liners.
13
+ - **`mirror-main-to-master` workflow** (#961). Fast-forwards `master` from `main` on every push during the rename grace period so bookmarked `raw.githubusercontent.com/…/master/…` install URLs keep resolving. Retire on 2027-07-05 per tracking issue #962.
14
+ - **fish alias-cache pre-warm** (#964). New `run_onchange_after_30-regen-fish-alias-cache.sh.tmpl` regenerates `~/.cache/fish/bash-aliases.fish` at chezmoi-apply time when the alias sources change, so the first fish shell after apply doesn't pay ~200ms rebuilding the cache from scratch.
15
+
16
+ ### Changed
17
+
18
+ - **Default branch: `master` → `main`** (#961). GitHub-side rename plus 96 in-repo edits (workflow triggers, docs URIs, install URLs, ruleset filename, git aliases). Every `raw.githubusercontent.com/…/master/…` and `github.com/…/blob/master/…` reference now points at `/main/`. Workflow `pull_request:` / `push:` triggers keep `master` as a grace-period fallback until the mirror is retired.
19
+ - **Portability + missing commands** (#953). Ships as part of v0.2.509 via PR #953 (already tagged) — cross-platform fixes for macOS/BSD/Alpine/openSUSE (base64 `-D` fallback, `sort -V` stdin buffering, `date +%s%3N` guards, zypper/apk/pkg package-manager detection) plus wiring for `dot teleport`, `dot uninstall`, `dot policy`, `dot secret-audit`, `dot completion <bash|zsh|fish|nu>`, `dot fonts patch`. Cross-shell parity for `dot secrets load --shell posix|fish|nu` and auto-secret-load in bash/fish/nushell. See [v0.2.509 release notes](https://github.com/sebastienrousseau/dotfiles/releases/tag/v0.2.509).
20
+ - **Terminal font 12 → 20** (#963). `defaults/.chezmoidata.toml` and every terminal template (alacritty, wezterm, ghostty, kitty, waybar) bumped so a fresh install reads at 20pt across the surface.
21
+ - **Themes rebuilt** (#963). K-Means CIELAB color extraction re-run over all 206 detected wallpapers → 752 theme sections. Five dark themes removed where the underlying wallpaper is inherently light-toned (hello, iphone, valentine, modern, firewatch) — their `-light` counterparts kept.
22
+ - **Zsh PATH prune** (#963). The pre-existing dedup+prune tail in `00-core-paths.sh` was gated behind `[ -z "$ZSH_VERSION" ]`, so zsh never pruned. Now runs native zsh path-array iteration for zsh (89 → 77 entries with no non-existent dirs) alongside the existing bash 4+ associative-array and bash 3.x awk paths.
23
+
24
+ ### Fixed
25
+
26
+ - **Fish startup 217 ms → 119 ms** (#963). `defaults/dot_config/fish/conf.d/aliases.fish.tmpl` now writes the bash-bridge cache as `abbr --add NAME -- VALUE` instead of `alias NAME=VALUE`. Fish's `alias` builtin creates one function per entry (~183 µs); `abbr` is a command-line-time expansion at ~40 µs. Sourcing the same 878-entry cache went 170 ms → 34 ms. Cache self-heals on upgrade (staleness now also fires on the old `alias` format).
27
+ - **Scorecard code-scanning alerts** (this release, #965). Nine `TokenPermissionsID` alerts closed by adding top-level `permissions: contents: read` (least-privilege default) to workflows that only declared job-level write permissions. One `PinnedDependenciesID` alert closed by hash-locking `requirements-docs.txt` via `pip-compile --generate-hashes` and switching pages.yml to `pip install --require-hashes`.
28
+
29
+ ### Housekeeping
30
+
31
+ - Bumped `package.json`, `defaults/.chezmoidata.toml`, and every managed markdown reference from `v0.2.508` → `v0.2.510` (26 files consistent).
32
+ - Pruned the stale `feat/v0.2.509` local branch (its remote was deleted at merge time).
33
+ - Retired the `.git/*.sh` session helper scripts left over from the rename + docs-theme + housekeeping PRs.
34
+
35
+ ## v0.2.508 — 2026-06-30
36
+
37
+ Makes `dot apply` / `dot update` behave like an OS package-manager update —
38
+ unattended and reliable on macOS — and converts the cross-platform required
39
+ check into an always-runs gate so documentation-only PRs are mergeable.
40
+
41
+ ### Fixed
42
+
43
+ - **`dot apply` / `dot update` run unattended** (#946). They no longer stall on
44
+ chezmoi's "file changed since chezmoi last wrote it" prompt, which could not
45
+ be answered because chezmoi always runs under `gum spin`/captured output (no
46
+ controlling TTY) and aborted with "could not open a new TTY". They now apply
47
+ the canonical source with `--force` by default, like `apt`/system updates;
48
+ local drift to *managed* files yields to the source. Opt back into prompts
49
+ with `DOTFILES_INTERACTIVE_APPLY=1`, and keep machine-local tweaks in the
50
+ unmanaged `~/.zshrc.local` or `~/.config/zsh/rc.d.local/*.zsh`.
51
+ - **macOS apply no-op** (#946). The concurrency lock used `flock(1)`, which does
52
+ not exist on macOS — `! flock` took the "already running" branch and made
53
+ `dot apply` exit 0 without applying anything. It now falls back to an atomic
54
+ `mkdir` lock when `flock` is absent (portable to macOS/BSD). The optional
55
+ AI-provider installer menu is also gated on real interactivity (TTY + not CI).
56
+
57
+ ### Changed
58
+
59
+ - **CI required check** (#944). `Test on ubuntu-latest` (path-filtered, so it
60
+ never ran on docs-only PRs and left them unmergeable) is replaced by an
61
+ always-runs `Cross-Platform Tests` gate that reports success when the OS
62
+ matrix is skipped and failure when it fails.
63
+
64
+ ## v0.2.507 — 2026-06-30
65
+
66
+ This release ships the **`dot ai` cockpit** — an interactive Bubble Tea TUI for
67
+ the 18-agent AI fleet with a local Claude gateway — grows the bundled theme
68
+ collection from 150 to 173, and repairs the AI provider install path
69
+ end-to-end.
70
+
71
+ ### Added
72
+
73
+ - **`dot ai` cockpit** — bare `dot ai` now opens an interactive Bubble Tea TUI
74
+ to browse, launch, install, and monitor the AI fleet, backed by a local Claude
75
+ gateway and an 18-agent provider roster (#936).
76
+ - **Floral theme collection** — grew the bundled themes from 150 to 173 (#940).
77
+
78
+ ### Fixed
79
+
80
+ - **AI installs (`dot ai install`):** three reproducible failures (#942).
81
+ - *Duplicate banner* — the cockpit shells out to `dot ai install <tool>` once
82
+ per tool, and each subprocess reprinted the full command banner. `dotExec`
83
+ now sets `DOT_AI_RAW=1`, matching the streaming path.
84
+ - *amp* — `@sourcegraph/amp` publishes only prerelease-tagged npm versions,
85
+ which mise filters out (`@latest` resolves to nothing). Routed to amp's
86
+ native installer, pre-resolving `AMP_VERSION` to dodge an upstream bug where
87
+ amp's own version fetch builds a malformed checksum URL.
88
+ - *Cursor* — `cursor.com/install` User-Agent-sniffs and served marketing HTML
89
+ to curl (failing the shebang check); now sends a browser UA to fetch the
90
+ real install script.
91
+ - Also unified the `dot ai tools` fallback install loop (amp/cursor/goose/grok
92
+ were silently skipped there) and added an `ai` command summary line.
93
+ - **CI / release reliability:** theme nil-guard and shfmt-absent skip (#939);
94
+ repinned a stale reusable shell-lint workflow and hardened pin-bumping (#937);
95
+ the distribute workflows now poll for the release asset before consuming it
96
+ (#931).
97
+
5
98
  ## v0.2.505 — 2026-06-04
6
99
 
7
100
  Claude Code is no longer installed through mise/npm. npm 11 silently drops
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  <p align="center">
12
12
  <a href="https://github.com/sebastienrousseau/dotfiles/actions"><img src="https://img.shields.io/github/actions/workflow/status/sebastienrousseau/dotfiles/ci.yml?style=for-the-badge&logo=githubactions&logoColor=white" alt="Build" /></a>
13
- <a href="https://github.com/sebastienrousseau/dotfiles/releases/latest"><img src="https://img.shields.io/badge/Version-v0.2.507-blue?style=for-the-badge&logo=semanticrelease&logoColor=white" alt="Version" /></a>
13
+ <a href="https://github.com/sebastienrousseau/dotfiles/releases/latest"><img src="https://img.shields.io/badge/Version-v0.2.510-blue?style=for-the-badge&logo=semanticrelease&logoColor=white" alt="Version" /></a>
14
14
  <a href="https://github.com/sebastienrousseau/dotfiles/releases"><img src="https://img.shields.io/github/downloads/sebastienrousseau/dotfiles/total?style=for-the-badge&logo=github&logoColor=white" alt="Downloads" /></a>
15
15
  <a href="https://codespaces.new/sebastienrousseau/dotfiles"><img src="https://img.shields.io/badge/Open%20in-Codespaces-blue?style=for-the-badge&logo=github&logoColor=white" alt="Open in GitHub Codespaces" /></a>
16
16
  <a href="https://scorecard.dev/viewer/?uri=github.com/sebastienrousseau/dotfiles"><img src="https://img.shields.io/ossf-scorecard/github.com/sebastienrousseau/dotfiles?style=for-the-badge&logo=linuxfoundation&logoColor=white&label=OpenSSF%20Scorecard" alt="OpenSSF Scorecard" /></a>
@@ -30,7 +30,7 @@
30
30
  --idle-time-limit 1 --rows 30 --cols 100 \
31
31
  --title "Dotfiles: install → doctor → theme"
32
32
  # in the recording shell:
33
- # curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh | bash
33
+ # curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh | bash
34
34
  # dot doctor
35
35
  # dot theme rebuild --force
36
36
  # then Ctrl-D to stop
@@ -52,7 +52,7 @@
52
52
 
53
53
  ```bash
54
54
  curl -fsSL -o /tmp/dotfiles-install.sh \
55
- https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.507/install.sh
55
+ https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.510/install.sh
56
56
  echo "d5a04c5e2813a93a63c8ecce9655cf3d107f6068862c6eba84a92cf22f801c7e /tmp/dotfiles-install.sh" \
57
57
  | shasum -a 256 -c
58
58
  bash /tmp/dotfiles-install.sh
@@ -61,7 +61,7 @@ bash /tmp/dotfiles-install.sh
61
61
  **Trust-source one-liner** (skips the SHA check — fine for sandboxes and ephemeral CI, not recommended for primary workstations):
62
62
 
63
63
  ```bash
64
- bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
64
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
65
65
  ```
66
66
 
67
67
  Then verify and explore:
@@ -80,7 +80,7 @@ Silent install (no prompts):
80
80
 
81
81
  ```bash
82
82
  DOTFILES_SILENT=1 DOTFILES_NONINTERACTIVE=1 \
83
- bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
83
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
84
84
  ```
85
85
 
86
86
  Docker sandbox:
package/docs/COPYRIGHT CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.507) - <https://github.com/sebastienrousseau/dotfiles>
2
+ * 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.510) - <https://github.com/sebastienrousseau/dotfiles>
3
3
  * Made With ❤️ in London, United Kingdom
4
4
  * Designed by
5
5
  * Copyright (c) 2015-2026. All rights reserved.
@@ -22,7 +22,7 @@ exist.
22
22
  ## Contribution flow
23
23
 
24
24
  1. **Issue** for non-trivial work. Confirm scope before coding.
25
- 2. **Branch** off `master`: `feat/<scope>`, `fix/<scope>`,
25
+ 2. **Branch** off `main`: `feat/<scope>`, `fix/<scope>`,
26
26
  `docs/<scope>`, etc.
27
27
  3. **PR** with description following the template:
28
28
  - Summary (1–3 bullets)
@@ -51,7 +51,7 @@ For breaking changes or substantial new features:
51
51
  - **Backwards compatibility** (what breaks, migration path)
52
52
  - **Alternatives considered** (with reasons rejected)
53
53
  - **Unresolved questions**
54
- 2. Open a PR labelled `rfc` against `master`.
54
+ 2. Open a PR labelled `rfc` against `main`.
55
55
  3. Comment window: 14 days minimum.
56
56
  4. Maintainer renders a decision (accept / accept-with-changes /
57
57
  reject) with public reasoning in the PR.
@@ -137,8 +137,8 @@ plugin system, bash bridge for aliases) await an actual user request.
137
137
 
138
138
  ## References
139
139
 
140
- - [`dot_config/nushell/cached_eval.nu`](../../defaults/dot_config/nushell/cached_eval.nu) — the new module.
141
- - [`dot_config/nushell/env.nu.tmpl`](../../defaults/dot_config/nushell/env.nu.tmpl) — adopter.
140
+ - [`dot_config/nushell/cached_eval.nu`](https://github.com/sebastienrousseau/dotfiles/blob/main/defaults/dot_config/nushell/cached_eval.nu) — the new module.
141
+ - [`dot_config/nushell/env.nu.tmpl`](https://github.com/sebastienrousseau/dotfiles/blob/main/defaults/dot_config/nushell/env.nu.tmpl) — adopter.
142
142
  - ADR-007 (Multi-Shell Parity Strategy) — establishes the tier definitions.
143
143
  - ADR-002 (Shell Performance Optimization Strategy) — establishes `_cached_eval` semantics this module ports.
144
144
  - Issue [#880](https://github.com/sebastienrousseau/dotfiles/issues/880).
@@ -14,7 +14,7 @@ Set up on macOS, Linux, or WSL in 3 to 5 minutes.
14
14
 
15
15
  ```bash
16
16
  bash -c "$(
17
- curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh
17
+ curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh
18
18
  )"
19
19
  ```
20
20
 
@@ -99,7 +99,7 @@ Use this mode for CI or scripts that run without user input:
99
99
  ```bash
100
100
  DOTFILES_SILENT=1 DOTFILES_NONINTERACTIVE=1 \
101
101
  bash -c "$(
102
- curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh
102
+ curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh
103
103
  )"
104
104
  ```
105
105
 
@@ -136,7 +136,7 @@ rm -rf ~/.local/share/chezmoi ~/.local/share/dotfiles.log
136
136
 
137
137
  ### Signed contributions
138
138
 
139
- All commits must be signed. See [Contributing](../../CONTRIBUTING.md) for details.
139
+ All commits must be signed. See [Contributing](https://github.com/sebastienrousseau/dotfiles/blob/main/CONTRIBUTING.md) for details.
140
140
 
141
141
  ---
142
142
 
package/docs/index.md CHANGED
@@ -1,43 +1,132 @@
1
1
  ---
2
+ title: .dotfiles — dark, signed, cross-platform
3
+ description: Cross-platform, signed, local-first dotfiles for macOS, Linux, and WSL.
4
+ hide:
5
+ - navigation
6
+ - toc
2
7
  render_with_liquid: false
3
8
  ---
4
9
 
10
+ <section class="dot-hero" markdown>
11
+
5
12
  # .dotfiles
6
13
 
7
- Cross-platform, signed, local-first dotfiles for macOS, Linux, and WSL.
14
+ <p class="tagline">Cross-platform, signed, local-first dotfiles for macOS, Linux, and WSL — multi-shell parity (bash/zsh/fish/nushell), a fast <code>dot</code> CLI, wallpaper-driven themes, SLSA-signed releases, and AI/MCP-aware tooling.</p>
15
+
16
+ <div class="buttons">
17
+ <a class="primary" href="guides/INSTALL/">Install →</a>
18
+ <a href="https://github.com/sebastienrousseau/dotfiles">GitHub</a>
19
+ <a href="reference/UTILS/">Utilities</a>
20
+ <a href="architecture/ARCHITECTURE/">Architecture</a>
21
+ </div>
22
+
23
+ </section>
24
+
25
+ ## What's inside
26
+
27
+ <div class="grid cards" markdown>
28
+
29
+ - :material-console:{ .lg .middle } **Multi-shell parity**
30
+
31
+ ---
32
+
33
+ Bash, Zsh, Fish, Nushell — same aliases, functions, prompt, and completions. Cross-shell env parity from `.chezmoidata.toml`.
34
+
35
+ [→ Shell hub](reference/UTILS.md)
36
+
37
+ - :material-lock-check:{ .lg .middle } **Signed & attested**
38
+
39
+ ---
40
+
41
+ Every commit SSH-signed, DCO enforced, SLSA-signed releases, SBOM + CVE gate, secret encryption via age.
42
+
43
+ [→ Security](operations/ATTESTATION.md)
44
+
45
+ - :material-palette:{ .lg .middle } **190 wallpaper-driven themes**
46
+
47
+ ---
48
+
49
+ K-Means CIELAB color extraction. Terminal, editor, DE — all follow the wallpaper. `dot theme rebuild --force` regenerates from `~/Pictures/Wallpapers/`.
50
+
51
+ [→ Theme system](reference/UTILS.md)
52
+
53
+ - :material-rocket-launch:{ .lg .middle } **Fast `dot` CLI**
54
+
55
+ ---
56
+
57
+ 142+ subcommands: apply, health, doctor, heal, ai, agent, fleet, secrets, teleport, uninstall — with fzf pickers and a Bubble Tea cockpit.
58
+
59
+ [→ CLI reference](reference/UTILS.md)
60
+
61
+ - :material-check-decagram:{ .lg .middle } **CI you can trust**
62
+
63
+ ---
64
+
65
+ 35+ checks — shellcheck, shfmt, luacheck, stylua, CodeQL, Snyk, grype/SBOM, deps.dev, doc-drift gate, examples contract at 100%.
66
+
67
+ [→ Operations](operations/OPERATIONS.md)
68
+
69
+ - :material-earth:{ .lg .middle } **Cross-platform**
70
+
71
+ ---
72
+
73
+ macOS (Intel & Apple Silicon), Linux (Ubuntu, Fedora, Arch, Alpine, openSUSE), WSL, PowerShell 7.5+, real BSDs.
74
+
75
+ [→ Support matrix](reference/SUPPORT_MATRIX.md)
76
+
77
+ - :material-brain:{ .lg .middle } **AI & MCP aware**
78
+
79
+ ---
80
+
81
+ 18-agent fleet cockpit (`dot ai`), local Claude gateway, MCP registry, context patterns, provider secrets — first-class support, not bolted on.
82
+
83
+ [→ AI operations](AI.md)
84
+
85
+ - :material-account-cog:{ .lg .middle } **Chezmoi under the hood**
86
+
87
+ ---
88
+
89
+ Deterministic templates, feature flags, profiles, `run_onchange_` hooks. Everything lives in `defaults/` and applies to `$HOME` on-demand.
90
+
91
+ [→ Architecture](architecture/ARCHITECTURE.md)
92
+
93
+ </div>
94
+
95
+ ## Quick start
96
+
97
+ Install onto a fresh machine:
8
98
 
9
- [![Build](https://img.shields.io/github/actions/workflow/status/sebastienrousseau/dotfiles/ci.yml?style=for-the-badge&logo=github)](https://github.com/sebastienrousseau/dotfiles/actions)
10
- [![Version](https://img.shields.io/badge/Version-v0.2.507-blue?style=for-the-badge)](https://github.com/sebastienrousseau/dotfiles/releases/tag/v0.2.507)
11
- [![Downloads](https://img.shields.io/github/downloads/sebastienrousseau/dotfiles/total?style=for-the-badge)](https://github.com/sebastienrousseau/dotfiles/releases)
99
+ === "macOS / Linux / WSL"
12
100
 
13
- This site is published from the `docs/` directory on `master` and tracks the current workstation baseline, operational guidance, and security material for the repository.
101
+ ```bash
102
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
103
+ ```
14
104
 
15
- ## Start Here
105
+ === "Windows (PowerShell 7+)"
16
106
 
17
- - [Repository README](https://github.com/sebastienrousseau/dotfiles#readme)
18
- - [Install guide](guides/INSTALL.md)
19
- - [Troubleshooting](guides/TROUBLESHOOTING.md)
20
- - [Support matrix](reference/SUPPORT_MATRIX.md)
107
+ ```powershell
108
+ iwr -useb https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.ps1 | iex
109
+ ```
21
110
 
22
- ## Workstation Operations
111
+ Once installed:
23
112
 
24
- - [Utilities and `dot` CLI](reference/UTILS.md)
25
- - [Trusted agent workstation](operations/TRUSTED_AGENT_WORKSTATION.md)
26
- - [Workstation attestation](operations/ATTESTATION.md)
27
- - [Operations runbooks](operations/OPERATIONS.md)
28
- - [Architecture overview](architecture/ARCHITECTURE.md)
29
- - [Repository layout](architecture/REPO_LAYOUT.md)
113
+ dot doctor # verify state
114
+ dot health # dashboard with actionable warnings
115
+ dot ai # launch the AI cockpit (Bubble Tea TUI)
116
+ dot theme # pick a wallpaper-driven theme
117
+ dot help all # full CLI reference
30
118
 
31
- ## Security and Governance
119
+ ## Where to next
32
120
 
33
- - [Security overview](security/SECURITY.md)
34
- - [Security checklist](security/SECURITY_CHECKLIST.md)
35
- - [Compliance](security/COMPLIANCE.md)
36
- - [Policy bundle releases](security/POLICY_RELEASES.md)
37
- - [Threat model](security/THREAT_MODEL.md)
121
+ - [**Install guide**](guides/INSTALL.md) — full bootstrap walkthrough, per-platform.
122
+ - [**Utilities & `dot` CLI**](reference/UTILS.md) — every subcommand with examples.
123
+ - [**Architecture**](architecture/ARCHITECTURE.md) — how the layers fit together.
124
+ - [**Trusted agent workstation**](operations/TRUSTED_AGENT_WORKSTATION.md) — hardening + attestation runbook.
125
+ - [**Troubleshooting**](guides/TROUBLESHOOTING.md) — the common gotchas.
126
+ - [**Support matrix**](reference/SUPPORT_MATRIX.md) — OS × shell × package-manager grid.
127
+ - [**Security overview**](security/SECURITY.md) — signing, attestation, secret handling, threat model.
38
128
 
39
- ## Current Release
129
+ ## Current release
40
130
 
41
- - Current tagged release: [`v0.2.507`](https://github.com/sebastienrousseau/dotfiles/releases/tag/v0.2.507)
42
- - Latest release feed: [GitHub releases](https://github.com/sebastienrousseau/dotfiles/releases/latest)
43
- - Source repository: [sebastienrousseau/dotfiles](https://github.com/sebastienrousseau/dotfiles)
131
+ - Release feed: [GitHub releases](https://github.com/sebastienrousseau/dotfiles/releases/latest)
132
+ - Source: [sebastienrousseau/dotfiles](https://github.com/sebastienrousseau/dotfiles)
@@ -8,8 +8,8 @@ The repository now ships an agent card and an A2A-ready discovery document.
8
8
 
9
9
  Artifacts:
10
10
 
11
- - [agent-card.json](../../defaults/dot_config/dotfiles/agent-card.json)
12
- - [agent.json](../../.well-known/agent.json)
11
+ - [agent-card.json](https://github.com/sebastienrousseau/dotfiles/blob/main/defaults/dot_config/dotfiles/agent-card.json)
12
+ - [agent.json](https://github.com/sebastienrousseau/dotfiles/blob/main/.well-known/agent.json)
13
13
 
14
14
  Core properties:
15
15
 
@@ -13,9 +13,9 @@ and what specifically is verified. Closes the docs slice of
13
13
 
14
14
  | File | Role |
15
15
  |---|---|
16
- | [`dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl`](../../defaults/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl) | The dotfiles PowerShell profile. Deployed to `$PROFILE` (resolves to `~/.config/powershell/Microsoft.PowerShell_profile.ps1` on Linux/macOS; `Documents\PowerShell\Microsoft.PowerShell_profile.ps1` on Windows). |
17
- | [`scripts/qa/powershell-contract.ps1`](../../scripts/qa/powershell-contract.ps1) | The runtime contract. Renders the template, dot-sources it, asserts required function shims exist, runs PSScriptAnalyzer. |
18
- | [`tests/unit/install/test_powershell_profile_syntax.sh`](../../tests/unit/install/test_powershell_profile_syntax.sh) | Static-syntax test runnable on Linux/macOS via `pwsh` when present; falls back to brace-balance + textual invariants when not. |
16
+ | [`dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl`](https://github.com/sebastienrousseau/dotfiles/blob/main/defaults/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl) | The dotfiles PowerShell profile. Deployed to `$PROFILE` (resolves to `~/.config/powershell/Microsoft.PowerShell_profile.ps1` on Linux/macOS; `Documents\PowerShell\Microsoft.PowerShell_profile.ps1` on Windows). |
17
+ | [`scripts/qa/powershell-contract.ps1`](https://github.com/sebastienrousseau/dotfiles/blob/main/scripts/qa/powershell-contract.ps1) | The runtime contract. Renders the template, dot-sources it, asserts required function shims exist, runs PSScriptAnalyzer. |
18
+ | [`tests/unit/install/test_powershell_profile_syntax.sh`](https://github.com/sebastienrousseau/dotfiles/blob/main/tests/unit/install/test_powershell_profile_syntax.sh) | Static-syntax test runnable on Linux/macOS via `pwsh` when present; falls back to brace-balance + textual invariants when not. |
19
19
 
20
20
  ## What's verified
21
21
 
@@ -96,7 +96,7 @@ pwsh ./scripts/qa/powershell-contract.ps1
96
96
  ## References
97
97
 
98
98
  - [PowerShell 7 docs](https://learn.microsoft.com/en-us/powershell/scripting/overview)
99
- - [PSScriptAnalyzer rule reference](https://github.com/PowerShell/PSScriptAnalyzer/blob/master/docs/Rules/README.md)
99
+ - [PSScriptAnalyzer rule reference](https://github.com/PowerShell/PSScriptAnalyzer/blob/main/docs/Rules/README.md)
100
100
  - `.github/workflows/reliability-gate.yml` — Windows job definition.
101
101
  - Issue [#860](https://github.com/sebastienrousseau/dotfiles/issues/860).
102
102
  {% endraw %}
@@ -4,7 +4,7 @@ render_with_liquid: false
4
4
 
5
5
  # Introduction
6
6
 
7
- This manual describes `.dotfiles` v0.2.507 — a trusted agent workstation baseline for macOS, Linux, and WSL.
7
+ This manual describes `.dotfiles` v0.2.510 — a trusted agent workstation baseline for macOS, Linux, and WSL.
8
8
 
9
9
  The repository is more than a personal dotfiles collection. It ships as workstation infrastructure: signed, attested, multi-platform, AI-aware, and self-healing. Chezmoi handles templating and platform differences. The `dot` CLI sits on top and coordinates lifecycle operations.
10
10
 
@@ -52,7 +52,7 @@ dot manual text # pipe plain text to pager
52
52
  ## Quick Install
53
53
 
54
54
  ```sh
55
- bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
55
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
56
56
  dot doctor
57
57
  ```
58
58
 
@@ -86,4 +86,4 @@ Individual tools packaged, referenced, or templated by this repository retain th
86
86
 
87
87
  - **Bugs and feature requests** — <https://github.com/sebastienrousseau/dotfiles/issues>
88
88
  - **Security vulnerabilities** — see [Security Policy](../security/SECURITY.md); do not open public issues for unpatched vulnerabilities
89
- - **Documentation corrections** — open a pull request against `docs/manual/` on the `master` branch
89
+ - **Documentation corrections** — open a pull request against `docs/manual/` on the `main` branch
@@ -21,7 +21,7 @@ The trust model combines cryptographic signing, local-first secrets, policy-gate
21
21
 
22
22
  ### SSH ED25519 for Git
23
23
 
24
- Every commit on `master` is signed with SSH ED25519:
24
+ Every commit on `main` is signed with SSH ED25519:
25
25
 
26
26
  ```sh
27
27
  git verify-commit HEAD
@@ -62,7 +62,7 @@ CI runs three independent scanners:
62
62
 
63
63
  | Scanner | Purpose | Threshold |
64
64
  |:---|:---|:---|
65
- | `gitleaks` | Pattern-based secret detection | Zero leaks on `master` |
65
+ | `gitleaks` | Pattern-based secret detection | Zero leaks on `main` |
66
66
  | `detect-secrets` | Baseline-comparing scanner | Zero new secrets vs `.secrets.baseline` |
67
67
  | `trufflehog` | Verified-secret scanner (API-tested) | Zero verified secrets |
68
68
 
@@ -119,7 +119,7 @@ Violations are logged to `~/.local/state/dotfiles/mcp-violations.log` and report
119
119
  },
120
120
  "git": {
121
121
  "head": "abc123...",
122
- "branch": "master",
122
+ "branch": "main",
123
123
  "signed": true,
124
124
  "verified": true
125
125
  }
@@ -91,7 +91,7 @@ Recommended rollout procedure for fleet-wide changes:
91
91
 
92
92
  1. **Develop on one host** — make the change, test locally with `dot apply --dry-run` then `dot apply`
93
93
  2. **Open a PR** — CI validates shellcheck, tests, security scanners
94
- 3. **Merge to master** — signed commit required
94
+ 3. **Merge to main** — signed commit required
95
95
  4. **Per-host pull** — on each fleet host: `dot update` (git pull + apply)
96
96
  5. **Verify alignment** — run `dot fleet attest` from any host
97
97
 
@@ -16,7 +16,7 @@ End-to-end installation and verification, from zero to a fully-working environme
16
16
  ## Step 1: Run the Installer
17
17
 
18
18
  ```sh
19
- bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
19
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
20
20
  ```
21
21
 
22
22
  The installer:
@@ -21,7 +21,7 @@ Goal: all three running identical `.dotfiles` with per-host customization, with
21
21
  On each new host:
22
22
 
23
23
  ```sh
24
- bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
24
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
25
25
  ```
26
26
 
27
27
  During `chezmoi init`, answer with the host's preset:
@@ -164,7 +164,7 @@ Both hosts render from the same templates, producing correct platform-appropriat
164
164
 
165
165
  ## Step 6: Fleet-Wide Updates
166
166
 
167
- When you push a commit to master, each host pulls independently:
167
+ When you push a commit to main, each host pulls independently:
168
168
 
169
169
  ```sh
170
170
  # On each host
@@ -247,7 +247,7 @@ Agent Card (MCP A2A spec):
247
247
 
248
248
  ## Verified Files
249
249
 
250
- Every commit on `master` modifies tracked files only. Untracked files in the source directory (e.g. editor swap files) are ignored via `.chezmoiignore`:
250
+ Every commit on `main` modifies tracked files only. Untracked files in the source directory (e.g. editor swap files) are ignored via `.chezmoiignore`:
251
251
 
252
252
  ```
253
253
  .DS_Store
@@ -174,7 +174,7 @@ chezmoi execute-template '{{- $t := index .themes .theme -}}{{ $t.term.bg }}'
174
174
 
175
175
  ## Validation in CI
176
176
 
177
- Every push to master runs:
177
+ Every push to main runs:
178
178
 
179
179
  ```sh
180
180
  chezmoi apply --dry-run
@@ -11,7 +11,7 @@ Thirty short recipes for common tasks.
11
11
  ### 1. Install on a fresh machine
12
12
 
13
13
  ```sh
14
- bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
14
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
15
15
  ```
16
16
 
17
17
  ### 2. Update everything
@@ -17,7 +17,7 @@ Symptom → cause → fix.
17
17
 
18
18
  ```sh
19
19
  export PATH="$HOME/.local/bin:$PATH"
20
- bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
20
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
21
21
  ```
22
22
 
23
23
  ### Symptom: "could not create directory ~/.local/share/chezmoi"
@@ -63,7 +63,7 @@ If a host is compromised:
63
63
 
64
64
  ## Gates Enforced by CI
65
65
 
66
- Every PR to master must pass:
66
+ Every PR to main must pass:
67
67
 
68
68
  - [x] SSH-signed commits
69
69
  - [x] Shellcheck zero warnings (severity=error)