@sebastienrousseau/dotfiles 0.2.511 → 0.2.513
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.
- package/CHANGELOG.md +90 -0
- package/README.md +2 -2
- package/docs/AI.md +2 -1
- package/docs/COPYRIGHT +1 -1
- package/docs/architecture/AI_COST_OPTIMIZATION.md +1 -0
- package/docs/archive/LEGACY_ROADMAP.md +4 -158
- package/docs/manual/00-introduction.md +1 -1
- package/docs/manual/01-concepts/02-trust-model.md +2 -1
- package/docs/manual/02-tutorials/02-add-wallpaper.md +6 -6
- package/docs/manual/02-tutorials/03-create-profile.md +1 -1
- package/docs/manual/02-tutorials/05-deploy-fleet.md +1 -1
- package/docs/manual/03-reference/02-config-files.md +1 -1
- package/docs/manual/03-reference/03-environment.md +1 -1
- package/docs/manual/04-cookbook/03-faq.md +1 -1
- package/docs/manual/05-appendices/B-security-checklist.md +2 -1
- package/docs/manual/command-index.md +1 -0
- package/docs/operations/ARCHITECTURE_ROADMAP.md +5 -143
- package/docs/operations/COVERAGE.md +30 -8
- package/docs/operations/REGISTRY.md +20 -19
- package/docs/operations/ROADMAP.md +3 -159
- package/docs/operations/ROADMAP_2026.md +5 -663
- package/docs/operations/ROADMAP_V0_2_503.md +5 -129
- package/docs/reference/POWERSHELL_PARITY.md +28 -27
- package/docs/reference/THEMES.md +1 -1
- package/docs/reference/TOOLS.md +1 -0
- package/docs/reference/UTILS.md +1 -0
- package/docs/schema/dot-registry-v1.json +33 -0
- package/docs/security/SCORECARD.md +1 -1
- package/install.sh +20 -11
- package/package.json +1 -1
- package/scripts/diagnostics/a2a-conformance.sh +0 -0
- package/scripts/diagnostics/aliases-manifest.sh +33 -6
- package/scripts/diagnostics/benchmark.sh +27 -1
- package/scripts/diagnostics/doctor.sh +18 -11
- package/scripts/diagnostics/health.sh +12 -4
- package/scripts/diagnostics/mcp-doctor.sh +3 -0
- package/scripts/diagnostics/secret-governance.sh +7 -1
- package/scripts/diagnostics/security-score.sh +14 -5
- package/scripts/diagnostics/verify_state.sh +9 -1
- package/scripts/diagnostics/workstation-attestation.sh +0 -0
- package/scripts/dot/commands/ai.sh +40 -31
- package/scripts/dot/commands/aliases.sh +28 -4
- package/scripts/dot/commands/appearance.sh +16 -0
- package/scripts/dot/commands/core.sh +17 -0
- package/scripts/dot/commands/diagnostics.sh +19 -0
- package/scripts/dot/commands/fleet.sh +1 -1
- package/scripts/dot/commands/manual.sh +4 -4
- package/scripts/dot/commands/meta.sh +87 -12
- package/scripts/dot/commands/registry.sh +164 -15
- package/scripts/dot/commands/secrets.sh +17 -0
- package/scripts/dot/commands/security.sh +17 -0
- package/scripts/dot/commands/tools.sh +19 -0
- package/scripts/dot/powershell/Dot.psm1 +146 -26
- package/scripts/fonts/install-nerd-fonts.sh +16 -10
- package/scripts/git-hooks/pre-commit-audit.sh +1 -1
- package/scripts/ops/ai-setup.sh +13 -6
- package/scripts/ops/bundle.sh +31 -5
- package/scripts/ops/chezmoi-apply.sh +5 -0
- package/scripts/ops/heal-tools.sh +39 -111
- package/scripts/ops/post-apply-repair.sh +0 -0
- package/scripts/ops/release.sh +14 -5
- package/scripts/qa/docs-coverage.sh +1 -1
- package/scripts/qa/reliability-audit.sh +4 -4
- package/scripts/qa/scorecard-snapshot.sh +3 -3
- package/scripts/qa/validate-examples.sh +0 -0
- package/scripts/qa/wsl-contract.sh +0 -0
- package/scripts/secrets/age-init.sh +15 -4
- package/scripts/theme/apply-gnome-theme.sh +6 -2
- package/scripts/theme/extract-theme.py +97 -33
- package/scripts/theme/rebuild-themes.sh +240 -35
- package/scripts/theme/switch.sh +26 -16
- package/scripts/theme/wallpaper-sync.sh +95 -7
- package/scripts/tools/detect-collisions.py +0 -0
- package/scripts/version-sync.sh +108 -44
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,96 @@
|
|
|
2
2
|
|
|
3
3
|
This file documents all notable changes to this project.
|
|
4
4
|
|
|
5
|
+
## v0.2.513 — 2026-08-06
|
|
6
|
+
|
|
7
|
+
- **Verified module registry installation.** `dot registry install` now validates the v1 index, verifies immutable archive SHA-256 digests, rejects traversal and link-bearing archives, previews with chezmoi by default, and applies only with explicit `--yes`. CI validates the published registry contract and JSON Schema.
|
|
8
|
+
- **Native PowerShell daily workflow.** `dot.ps1` now handles core chezmoi operations, status, doctor, mise inventory, agent checks/listing, and local fleet status without bash. Windows CI exercises the cmdlets directly, and the parity matrix now distinguishes native behavior from bash bridges.
|
|
9
|
+
- **Checksum-verified self-healing tools.** Nushell, Pueue, Wasmtime, SOPS, Yazi, and Zellij recovery now uses exact mise/aqua pins instead of mutable GitHub release URLs and unverified executable downloads.
|
|
10
|
+
- **Reproducible toolchain lock.** The development toolchain now ships a cross-platform `mise.lock` covering Linux, macOS, and Windows with exact download URLs and available SHA-256 checksums. Font archives, distro signing keys, and binary archives now fail closed on integrity or unsafe archive structure.
|
|
11
|
+
|
|
12
|
+
### Security
|
|
13
|
+
|
|
14
|
+
- Enforce signed commits, linear history, required merge/reliability/DCO/PR
|
|
15
|
+
signature checks, conversation resolution, and up-to-date branches on
|
|
16
|
+
`main`.
|
|
17
|
+
- Default GitHub Actions tokens to read-only, disable workflow PR approvals,
|
|
18
|
+
enable secret push protection, and pin the SLSA reusable workflow to its
|
|
19
|
+
immutable commit.
|
|
20
|
+
- Verify every remotely executed installer against a committed SHA-256
|
|
21
|
+
allowlist. CI rejects direct download-to-shell execution and verifier
|
|
22
|
+
bypasses.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Make CLI snapshots hermetic across hosts by normalizing platform facts,
|
|
27
|
+
installed-tool paths, versions, health counts, and timing measurements.
|
|
28
|
+
- Keep `dot health` best-effort when an interactive zsh startup probe fails or
|
|
29
|
+
omits timing output, so macOS diagnostics still reach the health summary.
|
|
30
|
+
- Measure both unit and mandatory regression tests in Bash coverage, retain
|
|
31
|
+
function-probe xtrace, and cache source normalization. Measured line
|
|
32
|
+
coverage rises to 59.32%, the enforced floor rises to 58%, and aggregation
|
|
33
|
+
now completes in seconds instead of minutes.
|
|
34
|
+
- Run the reliability audit's integration phase without repeating the full
|
|
35
|
+
unit and regression suites.
|
|
36
|
+
- Keep `master` as a verified, fast-forward-only compatibility mirror of
|
|
37
|
+
`main` for historical raw-content install URLs.
|
|
38
|
+
- Package a self-contained `dot` distribution including command modules,
|
|
39
|
+
operational scripts, policies, schemas, help data, and the verified-download
|
|
40
|
+
manifest. Previously published archives omitted the command modules required
|
|
41
|
+
by most subcommands.
|
|
42
|
+
- Add `make install PREFIX=... DESTDIR=...` and `make uninstall` using the
|
|
43
|
+
same tested staging path as release archives. Published releases now run a
|
|
44
|
+
provenance-verified clean-install smoke test on Linux and macOS.
|
|
45
|
+
- Store CLI benchmark baselines under `XDG_CACHE_HOME` instead of requiring a
|
|
46
|
+
writable source checkout.
|
|
47
|
+
- Make focused help work for `apply`, `agents`, and `registry`.
|
|
48
|
+
- Make an explicit version-sync target update `package.json` atomically and
|
|
49
|
+
distinguish historical roadmap versions from current-version references.
|
|
50
|
+
- Correct documentation that conflated 100% executable-module mapping with
|
|
51
|
+
measured Bash line coverage.
|
|
52
|
+
|
|
53
|
+
## v0.2.512 — 2026-07-21
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
|
|
57
|
+
- **`dot-ui`** — a shared Bubble Tea (Go) renderer for the `dot` CLI: themed
|
|
58
|
+
tables across all list/table commands, a unified `dot-ui pick` that replaces
|
|
59
|
+
fzf in the theme picker, and a step-runner façade. Degrades gracefully when
|
|
60
|
+
Go is absent, so it never fails a `chezmoi apply`.
|
|
61
|
+
- **AI CLIs** — Kimi Code CLI support, with a Kiri compatibility shim.
|
|
62
|
+
- **Themes** — regenerated the full theme set from the updated wallpaper
|
|
63
|
+
library; system wallpapers are now opt-in (only discovered themes are
|
|
64
|
+
assembled); `bloom-light` is the new default theme.
|
|
65
|
+
- **`corralctl`** — scheduled daily repo sync.
|
|
66
|
+
- Symlink iCloud Drive folders into home.
|
|
67
|
+
|
|
68
|
+
### Changed
|
|
69
|
+
|
|
70
|
+
- **Theme engine overhaul** — terminals always use the dark palette with an
|
|
71
|
+
AAA light ramp; Apple-consistent light ANSI ramp; accurate wallpaper counts
|
|
72
|
+
and dominant-colour tracking; `dot-theme-sync` now drives through the shared
|
|
73
|
+
UI.
|
|
74
|
+
- **mise** — folded `~/mise.toml` overrides into the managed base layer; bumped
|
|
75
|
+
topgrade to 17.4.0 and dropped the typos pin.
|
|
76
|
+
- Bumped GitHub Actions pins (minor-patch group plus setup-go/node/python,
|
|
77
|
+
codeql-action, and action-gh-release), folding Dependabot #977 and #978.
|
|
78
|
+
|
|
79
|
+
### Fixed
|
|
80
|
+
|
|
81
|
+
- **Themes / terminals** — readable light-mode palettes (fixed bg/fg with
|
|
82
|
+
AA/AAA ANSI contrast); kitty now renders light themes, is opaque in light
|
|
83
|
+
mode, and gets a runtime reloader; tmux client redraw across all servers so
|
|
84
|
+
existing sessions refresh immediately; regen-proof fallback themes; correct
|
|
85
|
+
macOS accent mapping and per-mode HEIC frame resolution; no workspace freeze
|
|
86
|
+
or WallpaperAgent restart on apply.
|
|
87
|
+
- **git** — render `allowed_signers` and guard it on a missing key / unset
|
|
88
|
+
email.
|
|
89
|
+
- **CI / reliability** — portable `timeout` shim for macOS (real `gtimeout`);
|
|
90
|
+
reliability tests made portable and environment-tolerant; diagnostics
|
|
91
|
+
scorecard to 100; copyright and coverage gate fixes.
|
|
92
|
+
- **aliases** — the CD-completion load-once guard now actually gates.
|
|
93
|
+
- Push the AUR package to `master`, not `main`.
|
|
94
|
+
|
|
5
95
|
## v0.2.511 — 2026-07-08
|
|
6
96
|
|
|
7
97
|
Bug-fix release: restore shell aliases that were silently dropped after the CD-completion fragment.
|
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.
|
|
13
|
+
<a href="https://github.com/sebastienrousseau/dotfiles/releases/latest"><img src="https://img.shields.io/badge/Version-v0.2.513-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>
|
|
@@ -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.
|
|
55
|
+
https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.513/install.sh
|
|
56
56
|
echo "d5a04c5e2813a93a63c8ecce9655cf3d107f6068862c6eba84a92cf22f801c7e /tmp/dotfiles-install.sh" \
|
|
57
57
|
| shasum -a 256 -c
|
|
58
58
|
bash /tmp/dotfiles-install.sh
|
package/docs/AI.md
CHANGED
|
@@ -120,6 +120,7 @@ These tools are not installed for you. Install what you want with `dot ai instal
|
|
|
120
120
|
- `amp` — Sourcegraph's agentic coder
|
|
121
121
|
- `cursor-agent` — Cursor's terminal agent
|
|
122
122
|
- `grok` — xAI's terminal coding agent (Grok Build; needs a SuperGrok / X Premium+ plan)
|
|
123
|
+
- `kimi` — Moonshot AI's Kimi Code CLI; installed natively to `~/.kimi-code/bin/kimi` and supports native interactive use and one-shot prompts
|
|
123
124
|
|
|
124
125
|
- **Coding (interactive)** — focused pair-programming assistants:
|
|
125
126
|
- `aider` — Git-aware AI pair programmer
|
|
@@ -152,7 +153,7 @@ The old command shapes still work, but print a one-line hint pointing at the new
|
|
|
152
153
|
| Deprecated | Use instead |
|
|
153
154
|
|------------|-------------|
|
|
154
155
|
| `dot cl` | `dot ai claude` |
|
|
155
|
-
| `dot codex` / `dot copilot` / `dot agy` / `dot goose` | `dot ai codex` / `dot ai copilot` / `dot ai agy` / `dot ai goose` |
|
|
156
|
+
| `dot codex` / `dot copilot` / `dot kimi` / `dot agy` / `dot goose` | `dot ai codex` / `dot ai copilot` / `dot ai kimi` / `dot ai agy` / `dot ai goose` |
|
|
156
157
|
| `dot kiro` / `dot sgpt` / `dot ollama` / `dot opencode` | `dot ai kiro` / `dot ai sgpt` / `dot ai ollama` / `dot ai opencode` |
|
|
157
158
|
| `dot aider` / `dot autohand` / `dot vibe` / `dot qwen` / `dot zai` | `dot ai aider` / `dot ai autohand` / `dot ai vibe` / `dot ai qwen` / `dot ai zai` |
|
|
158
159
|
| `dot ai status` | `dot ai tools` |
|
package/docs/COPYRIGHT
CHANGED
|
@@ -114,6 +114,7 @@ Providers tracked today:
|
|
|
114
114
|
| Copilot CLI | `copilot` | yes | no |
|
|
115
115
|
| Gemini CLI | `gemini` | yes | no |
|
|
116
116
|
| Goose | `goose` | yes | no |
|
|
117
|
+
| Kimi CLI | `kimi` | yes | no |
|
|
117
118
|
| Aider | `aider` | yes | no |
|
|
118
119
|
| OpenCode | `opencode` | yes | no |
|
|
119
120
|
| Autohand | `autohand` | yes | no |
|
|
@@ -1,160 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
render_with_liquid: false
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# The Ultimate Developer Environment Roadmap
|
|
6
|
-
|
|
7
|
-
This roadmap outlines the path to a high-performance, super-efficient development machine designed for Rust, Python, and AI on Linux (Zorin OS / T2 Mac hardware).
|
|
8
|
-
|
|
9
|
-
## Phase 1: Foundation (Completed)
|
|
10
|
-
|
|
11
|
-
- **Core Shell**: Zsh + Oh My Zsh.
|
|
12
|
-
- **Modern Prompt**: Starship (hooked & active).
|
|
13
|
-
- **Language Managers**: `rustup` (Rust) and `fnm` (Node.js).
|
|
14
|
-
- **Ultra-Fast Python**: `uv` installed.
|
|
15
|
-
- **Basic Modern Tools**: `eza` (ls), `bat` (cat), `fd` (find), `ripgrep` (grep).
|
|
16
|
-
- **Git Enhancements**: `lazygit` (TUI) and `delta` (Diffs).
|
|
17
|
-
- **Multiplexer**: `zellij` installed.
|
|
18
|
-
- **AI**: `ollama` installed locally.
|
|
19
|
-
- **Security**: Firewall (`ufw`) enabled.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Phase 2: Speed & Navigation (Completed)
|
|
24
|
-
|
|
25
|
-
Focus: Reduce friction in filesystem navigation and build times.
|
|
26
|
-
|
|
27
|
-
### 1. Navigation
|
|
28
|
-
|
|
29
|
-
- [x] **Zoxide**: Smarter `cd` command that learns your habits (`z directory`).
|
|
30
|
-
- [x] **FZF**: Command-line fuzzy finder. Essential for search history, files, and replacing standard completion.
|
|
31
|
-
- [x] **Yazi**: Blazing fast terminal file manager (Rust-based).
|
|
32
|
-
|
|
33
|
-
### 2. Rust Optimization
|
|
34
|
-
|
|
35
|
-
- [x] **Mold**: Use the `mold` linker to speed up Rust compile times by 3x-10x.
|
|
36
|
-
- [x] **Sccache**: Shared compilation cache to speed up recompilations across projects.
|
|
37
|
-
- [x] **Bacon**: Background rust compiler that gives instant feedback on errors.
|
|
38
|
-
|
|
39
|
-
### 3. Python Optimization
|
|
40
|
-
|
|
41
|
-
- [x] **Ruff**: Extremely fast Python linter and formatter (replace flake8/black).
|
|
42
|
-
- [x] **Global Config**: Set `uv` to use system Python or managed Python preferences.
|
|
43
|
-
|
|
44
|
-
### 4. Code Search
|
|
45
|
-
|
|
46
|
-
- [x] **Ripgrep-all (rga)**: Search inside PDFs, E-Books, zip files, etc.
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Phase 3: AI Power User (Completed)
|
|
51
|
-
|
|
52
|
-
Focus: Integrate AI deeply into the workflow.
|
|
53
|
-
|
|
54
|
-
- [x] **Fabric**: Open-source framework for augmenting humans using AI (installed via `cmd` path).
|
|
55
|
-
- [x] **Open WebUI**: A beautiful web interface for `ollama` (requires Docker).
|
|
56
|
-
- [x] **GitHub Copilot CLI**: Integrate AI assistance directly into the terminal commands.
|
|
57
|
-
- [x] **Local RAG**: Setup tools to chat with your own documents locally (Open WebUI).
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## Phase 4: System Tuning & Hardening (Completed)
|
|
62
|
-
|
|
63
|
-
Focus: Squeeze every ounce of performance and security from the hardware.
|
|
64
|
-
|
|
65
|
-
- [x] **Kernel Tuning**: Increase file descriptor limits and optimize TCP stack for lower latency.
|
|
66
|
-
- [x] **Swap Optimization**: Configure `zram` for memory compression (improves performance on 16GB RAM).
|
|
67
|
-
- [x] **Flatpak Overrides**: Secure Flatpak permissions using `Flatseal`.
|
|
68
|
-
- [x] **Automated Updates**: Configure `unattended-upgrades` for security patches.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Phase 5: Final Polish (Completed)
|
|
73
|
-
|
|
74
|
-
- [x] **Global UV Config**: Created `~/.config/uv/uv.toml` for managed python preference.
|
|
75
|
-
- [x] **Roadmap Completion**: Verified all items are 100% complete.
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Maintenance & Updates
|
|
80
|
-
|
|
81
|
-
- **Update System**: `sudo apt update && sudo apt upgrade`
|
|
82
|
-
- **Update Rust**: `rustup update`
|
|
83
|
-
- **Update Node**: `fnm install --lts`
|
|
84
|
-
- **Update UV**: `uv self update`
|
|
85
|
-
- **Update Firmware**: `fwupdmgr get-updates`
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Phase 6: Desktop Environment (Completed)
|
|
90
|
-
|
|
91
|
-
Focus: Clean, bloat-free, and supercharged GNOME/Zorin experience.
|
|
92
|
-
|
|
93
|
-
- [x] **Bloatware Removal**: Removed games (`aisleriot`, `mines`, etc.) and media apps (`rhythmbox`, `totem`).
|
|
94
|
-
- [x] **Menu Cleanup**: Created `hide_menu_entries.sh` to deduplicate and hide unwanted entries.
|
|
95
|
-
- [x] **GNOME Extensions**: Installed productivity boosters via `gnome-extensions-cli`:
|
|
96
|
-
- [x] `Clipboard Indicator`: History management.
|
|
97
|
-
- [x] `Caffeine`: Prevent auto-suspend.
|
|
98
|
-
- [x] `Impatience`: Speed up animations.
|
|
99
|
-
- [x] `Vitals`: System monitoring in top bar.
|
|
100
|
-
- [x] **Memory Tuning**: Optimize GNOME Shell performance.
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Phase 7: Browser Optimization (Completed)
|
|
105
|
-
|
|
106
|
-
Focus: Chrome tuned for development and memory efficiency.
|
|
107
|
-
|
|
108
|
-
- [x] **Settings**: Enable "Memory Saver" and "Energy Saver" via Managed Policies.
|
|
109
|
-
- [x] **Extensions**: Automated installation of developer stack (uBlock, JSON Viewer, React DevTools, Vimium, Refined GitHub).
|
|
110
|
-
- [x] **Profile Separation**: Separate Personal and Work profiles (Manual setup recommendation).
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Phase 8: Neovim IDE (Completed)
|
|
115
|
-
|
|
116
|
-
Focus: Building a terminal-based IDE that rivals VS Code for Rust, Python, and AI.
|
|
117
|
-
|
|
118
|
-
- [x] **Latest Version**: Installed Neovim v0.12.0-dev (Nightly) to resolve plugin stability issues.
|
|
119
|
-
- [x] **Plugin Manager**: Setup `lazy.nvim` with modular config (Restored from **PR #62**).
|
|
120
|
-
- [x] **Core Plugins**:
|
|
121
|
-
- [x] `Telescope`: Fuzzy finding.
|
|
122
|
-
- [x] `Treesitter`: Syntax highlighting.
|
|
123
|
-
- [x] `Harpoon`: Fast file switching.
|
|
124
|
-
- [x] `Neo-tree`: File explorer.
|
|
125
|
-
- [x] **UI/UX Menus**: Added `dressing.nvim` and `telescope-ui-select.nvim` for modern, searchable selection lists and floating inputs.
|
|
126
|
-
- [x] **LSP & Autocomplete**:
|
|
127
|
-
- [x] `Mason`: Managing LSPs (rust-analyzer, pyright, ruff).
|
|
128
|
-
- [x] `Cmp`: Autocompletion engine.
|
|
129
|
-
- [x] **Language Specifics**:
|
|
130
|
-
- [x] **Rust**: `rustaceanvim` configured.
|
|
131
|
-
- [x] **Python**: `pyright` + `ruff`.
|
|
132
|
-
- [x] **AI Integration**:
|
|
133
|
-
- [x] `Copilot.lua`: Enabled (needs `:Copilot auth`).
|
|
134
|
-
- [x] `CopilotChat.nvim`: Sidebar chat (VS Code style).
|
|
135
|
-
- [ ] `Avante.nvim`: Skipped (Removed due to complexity/instability).
|
|
136
|
-
- [x] **VS Code Parity Pack**:
|
|
137
|
-
- [x] `Trouble`: Problems panel.
|
|
138
|
-
- [x] `Spectre`: Search/Replace.
|
|
139
|
-
- [x] `Autopairs`: Auto-close brackets.
|
|
140
|
-
- [x] `Todo-Comments`: TODO/FIXME highlighting.
|
|
141
|
-
- [x] `Persistence`: Session management.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Phase 9: Repository Polish & PR #62 (In Progress)
|
|
146
|
-
|
|
147
|
-
Focus: Finalize the `dotfiles` repository for public consumption and sync the local "Gold Standard" environment.
|
|
148
|
-
|
|
149
|
-
- [x] **Repository Sync**:
|
|
150
|
-
- [x] Clone official repo to `~/dotfiles`.
|
|
151
|
-
- [ ] Sync validated configuration (Neovim, scripts, tuning) into repository.
|
|
152
|
-
- [ ] **Documentation Update**:
|
|
153
|
-
- [ ] Refactor `README.md` for the modern architecture.
|
|
154
|
-
- [ ] Add "Easy Setup" and "Troubleshooting" guides.
|
|
155
|
-
- [ ] **Final PR Submission**:
|
|
156
|
-
- [ ] Verify clean diff against original PR #62.
|
|
157
|
-
- [ ] Push updates to PR #62 branch.
|
|
158
|
-
|
|
1
|
+
# Legacy Roadmap
|
|
159
2
|
|
|
3
|
+
Legacy roadmap material has been consolidated into the canonical
|
|
4
|
+
[`../../ROADMAP.md`](../../ROADMAP.md).
|
|
160
5
|
|
|
6
|
+
This archive path is retained only for compatibility with older links.
|
|
@@ -4,7 +4,7 @@ render_with_liquid: false
|
|
|
4
4
|
|
|
5
5
|
# Introduction
|
|
6
6
|
|
|
7
|
-
This manual describes `.dotfiles` v0.2.
|
|
7
|
+
This manual describes `.dotfiles` v0.2.513 — 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
|
|
|
@@ -160,7 +160,8 @@ See [Fleet Architecture](04-fleet.md) for the full model.
|
|
|
160
160
|
| Shellcheck zero-warnings | `ci.yml` | Yes |
|
|
161
161
|
| Gitleaks scan | `ci.yml` | Yes |
|
|
162
162
|
| Copyright headers | `ci-enforced.yml` | Yes |
|
|
163
|
-
| 100%
|
|
163
|
+
| 100% executable module mapping | `ci-enforced.yml` | Yes |
|
|
164
|
+
| Measured Bash line coverage | `coverage.yml` | Ratcheted floor; see `docs/operations/COVERAGE.md` |
|
|
164
165
|
| Reliability (macOS + Linux) | `ci-enforced.yml` | Yes |
|
|
165
166
|
| Checkov infrastructure scan | `ci-enforced.yml` | On severity MEDIUM+ |
|
|
166
167
|
| SBOM (CycloneDX) | `ci.yml` | No (informational) |
|
|
@@ -126,10 +126,10 @@ Output:
|
|
|
126
126
|
```
|
|
127
127
|
NAME SOURCE PATH
|
|
128
128
|
---- ------ ----
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
monterey-dark system /System/Library/Desktop Pictures/.thumbnails/Monterey Dark.heic
|
|
130
|
+
monterey-light system /System/Library/Desktop Pictures/.thumbnails/Monterey Light.heic
|
|
131
|
+
tahoe-dark system /System/Library/Desktop Pictures/.thumbnails/Tahoe Dark.heic
|
|
132
|
+
tahoe-light system /System/Library/Desktop Pictures/.thumbnails/Tahoe Light.heic
|
|
133
133
|
sonoma-dark system /System/Library/Desktop Pictures/.thumbnails/Sonoma Dark.heic
|
|
134
134
|
...
|
|
135
135
|
Total: 152 wallpapers
|
|
@@ -138,10 +138,10 @@ Total: 152 wallpapers
|
|
|
138
138
|
Switch to any system wallpaper:
|
|
139
139
|
|
|
140
140
|
```sh
|
|
141
|
-
dot theme
|
|
141
|
+
dot theme monterey-dark
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
-
The engine extracts
|
|
144
|
+
The engine extracts Monterey Dark's dominant colors, generates a palette, and applies it to every surface.
|
|
145
145
|
|
|
146
146
|
## Verifying the Result
|
|
147
147
|
|
|
@@ -48,7 +48,7 @@ Edit `~/.config/chezmoi/chezmoi.toml`:
|
|
|
48
48
|
```toml
|
|
49
49
|
[data]
|
|
50
50
|
machine = "surface-pro" # choose from .chezmoidata/hardware.toml
|
|
51
|
-
theme = "
|
|
51
|
+
theme = "monterey-dark"
|
|
52
52
|
default_shell = "fish"
|
|
53
53
|
terminal_font_family = "JetBrainsMono Nerd Font"
|
|
54
54
|
terminal_font_size = 11 # larger for HiDPI, smaller for dense screens
|
|
@@ -146,7 +146,7 @@ Each host has its own `~/.config/chezmoi/chezmoi.toml` — use it for things tha
|
|
|
146
146
|
# surface-pro's chezmoi.toml
|
|
147
147
|
[data]
|
|
148
148
|
machine = "surface-pro"
|
|
149
|
-
theme = "
|
|
149
|
+
theme = "monterey-dark" # per-host default
|
|
150
150
|
default_shell = "fish"
|
|
151
151
|
terminal_font_size = 11 # smaller for HiDPI
|
|
152
152
|
```
|
|
@@ -122,7 +122,7 @@ sourceDir = "/Users/you/.dotfiles"
|
|
|
122
122
|
|
|
123
123
|
[data]
|
|
124
124
|
machine = "surface-pro" # selects preset from hardware.toml
|
|
125
|
-
theme = "
|
|
125
|
+
theme = "monterey-dark" # overrides .chezmoidata.toml default
|
|
126
126
|
default_shell = "fish"
|
|
127
127
|
terminal_font_size = 11
|
|
128
128
|
email = "you@example.com"
|
|
@@ -75,7 +75,7 @@ Variables relevant in GitHub Actions.
|
|
|
75
75
|
| `CI` | Set to `true` in CI; disables prompts |
|
|
76
76
|
| `GITHUB_ACTIONS` | GHA-specific; enables step summary output |
|
|
77
77
|
| `CHEZMOI_VERSION` | Pinned chezmoi version for CI |
|
|
78
|
-
| `COVERAGE_THRESHOLD` |
|
|
78
|
+
| `COVERAGE_THRESHOLD` | Executable module-mapping threshold (100 in enforced CI; not line coverage) |
|
|
79
79
|
| `DOTFILES_TEST_MODE` | Skip network-dependent tests |
|
|
80
80
|
|
|
81
81
|
## Secret-Related
|
|
@@ -25,7 +25,7 @@ Only via WSL2. Native Windows PowerShell support exists for baseline parity (ali
|
|
|
25
25
|
|
|
26
26
|
### Is it production-ready?
|
|
27
27
|
|
|
28
|
-
Yes — it's the author's daily driver across multiple hosts and receives regular releases (see `CHANGELOG.md`). CI enforces 100%
|
|
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
29
|
|
|
30
30
|
### Can I fork it and use it without attribution?
|
|
31
31
|
|
|
@@ -71,7 +71,8 @@ Every PR to main must pass:
|
|
|
71
71
|
- [x] Detect-secrets baseline diff
|
|
72
72
|
- [x] TruffleHog verified scan
|
|
73
73
|
- [x] Copyright headers present
|
|
74
|
-
- [x] 100%
|
|
74
|
+
- [x] 100% executable module mapping
|
|
75
|
+
- [ ] 100% measured line and branch coverage (current ratchet is documented in `docs/operations/COVERAGE.md`)
|
|
75
76
|
- [x] Reliability tests (macOS + Ubuntu)
|
|
76
77
|
- [x] Checkov infra scan
|
|
77
78
|
- [x] Version sync (bumped across all files)
|
|
@@ -77,6 +77,7 @@ job `lint/command-index` fails when this file is stale.
|
|
|
77
77
|
| `dot history` | Shell history analysis |
|
|
78
78
|
| `dot keys` | Keybindings (sign-check: verify git signing) |
|
|
79
79
|
| `dot keys` | sign-check Verify git commit-signing configuration and key availability |
|
|
80
|
+
| `dot kimi` | Kimi CLI with context patterns |
|
|
80
81
|
| `dot kiro` | Kiro CLI with context patterns |
|
|
81
82
|
| `dot learn` | Start the interactive tour of your new tools |
|
|
82
83
|
| `dot lint` | Lint shell scripts (--fix |
|
|
@@ -1,145 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
title: "Architecture & Roadmap — cross-shell consistency, performance, decoupling"
|
|
3
|
-
date: 2026-07-01
|
|
4
|
-
status: living document
|
|
5
|
-
---
|
|
1
|
+
# Architecture Roadmap
|
|
6
2
|
|
|
7
|
-
|
|
3
|
+
Historical architecture planning has been consolidated into the canonical
|
|
4
|
+
[`../../ROADMAP.md`](../../ROADMAP.md).
|
|
8
5
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
landscape, and a plan to decouple optional subsystems (`dot ai`, MCP, LSP)
|
|
12
|
-
into companion repos around a stable core. It is the source of truth for
|
|
13
|
-
the multi-phase program tracked below.
|
|
14
|
-
|
|
15
|
-
> Honesty policy: every performance number here is **measured** with
|
|
16
|
-
> `hyperfine` (warmed up), reproducible with the harness in
|
|
17
|
-
> `tests/performance/bench.sh` (interactive sessions, all installed shells)
|
|
18
|
-
> and `dot benchmark`. Estimates are labelled as such. The
|
|
19
|
-
> built-in `dot doctor` perf readout historically **understated** real
|
|
20
|
-
> startup because it timed a narrower slice — Phase 0 reconciles that.
|
|
21
|
-
|
|
22
|
-
## 1. Measured performance baseline (2026-07-01, Apple Silicon)
|
|
23
|
-
|
|
24
|
-
Method: `hyperfine -N --warmup 5` on the deployed config; `exit`-on-launch.
|
|
25
|
-
|
|
26
|
-
| Shell | Startup (mean) | rc cost over ~7ms spawn | vs <30ms target |
|
|
27
|
-
|---------|----------------|-------------------------|-----------------|
|
|
28
|
-
| nushell | 24.8 ms | — | meets |
|
|
29
|
-
| bash | 51.1 ms | +43.6 ms | 1.7× over |
|
|
30
|
-
| zsh | 66.3 ms | +59.6 ms | 2.2× over |
|
|
31
|
-
| fish | 128.8 ms | bash-bridge tax | 4.3× over |
|
|
32
|
-
|
|
33
|
-
Baselines (pure process spawn, no rc): `zsh -fc exit` 6.7 ms,
|
|
34
|
-
`bash --norc` 7.5 ms.
|
|
35
|
-
|
|
36
|
-
Cost attribution (uncached tool-init subprocess cost, what `_cached_eval`
|
|
37
|
-
caches away): `mise activate` 17.7 ms, `atuin init` 7.1 ms,
|
|
38
|
-
`starship init` 4.0 ms, `zoxide init` 2.4 ms. `_cached_eval` **is**
|
|
39
|
-
working (cache files fresh; `zcompdump` is `zcompile`d), which is why zsh
|
|
40
|
-
is 66 ms and not ~97 ms.
|
|
41
|
-
|
|
42
|
-
**<30ms verdict (honest):** not reachable for the *full eager stack*
|
|
43
|
-
(mise + starship + atuin + zoxide + fzf + zinit + ~97 alias files + ~53
|
|
44
|
-
functions + compinit) on zsh/bash without tradeoffs. It **is** reachable
|
|
45
|
-
as a tunable "fast profile" + first-prompt deferral. nushell already
|
|
46
|
-
meets it; fish (bash-bridge) is the worst and the biggest opportunity.
|
|
47
|
-
|
|
48
|
-
## 2. Cross-shell consistency
|
|
49
|
-
|
|
50
|
-
- bash/zsh are native + single-source; **fish and nushell are bash
|
|
51
|
-
*bridges*** — they filter aliases and wrap functions via `bash -c`
|
|
52
|
-
subshells, adding a runtime bash dependency and silent parity loss.
|
|
53
|
-
- Parity gap: bash/zsh ~53 functions; fish 27 native; nushell 0 native;
|
|
54
|
-
~26 functions have no native impl; behaviour drifts (e.g. `goto` loses
|
|
55
|
-
directory grouping in fish/nu).
|
|
56
|
-
- Duplication: eza-detection logic in bash + 7 fish files + nu wrappers;
|
|
57
|
-
`_cached_eval` reimplemented four times.
|
|
58
|
-
- Direction: a **manifest-driven single source of truth** (one
|
|
59
|
-
alias/function spec → per-shell generators). This also removes the
|
|
60
|
-
class of parse-time collision that produced the zsh alias-shim bug.
|
|
61
|
-
|
|
62
|
-
## 3. Decoupling architecture
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
dotfiles (CORE)
|
|
66
|
-
dot CLI · lib/dot/ui.sh · utils.sh · chezmoi base · plugin API
|
|
67
|
-
| | | |
|
|
68
|
-
dotfiles-ai dotfiles-mcp dotfiles-lsp (future)
|
|
69
|
-
dot ai, registry, dot/alias/
|
|
70
|
-
cockpit, policy, chezmoi-template
|
|
71
|
-
gateway mcp-doctor completions
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
Readiness (from the coupling audit):
|
|
75
|
-
|
|
76
|
-
| Subsystem | Coupling | Effort | Notes |
|
|
77
|
-
|-----------|----------|--------|-------|
|
|
78
|
-
| MCP | low (declarative JSON + one `cmd_mcp`) | low | isolated by design |
|
|
79
|
-
| LSP | none (one nvim plugin file) | trivial | already a lazy.nvim plugin |
|
|
80
|
-
| `dot ai` | high (ui.sh, utils.sh, dispatcher, chezmoi hooks) | high | needs the two contracts below |
|
|
81
|
-
|
|
82
|
-
Two foundational contracts must exist before AI can move cleanly:
|
|
83
|
-
|
|
84
|
-
1. **Extract `lib/dot/ui.sh` into a versioned shared lib** — AI *and* MCP
|
|
85
|
-
depend on it; without this, decoupling means duplication.
|
|
86
|
-
2. **A `dot` plugin/extension API** — manifest-registered subcommands so
|
|
87
|
-
companion repos add `dot ai` / `dot mcp` without forking the
|
|
88
|
-
dispatcher.
|
|
89
|
-
|
|
90
|
-
## 4. 2026 landscape — gaps worth adopting (highest value first)
|
|
91
|
-
|
|
92
|
-
- **`dotfiles-mcp` with a secrets-redaction + allowlist policy layer** — a
|
|
93
|
-
genuine gap no existing dotfiles-MCP fills; reuses the gitleaks / Atuin
|
|
94
|
-
`history_filter` posture. Expose introspection via MCP **Resources**,
|
|
95
|
-
actions via **Tools**.
|
|
96
|
-
- **`dotfiles-lsp`** = `dot` subcommand completions + alias awareness +
|
|
97
|
-
**chezmoi-template-data-aware** completions → a novel *combination*
|
|
98
|
-
(weekend-scale MVP using just-lsp / tcl-lsp patterns).
|
|
99
|
-
- Password-manager templating (1Password/Bitwarden), SOPS for shared
|
|
100
|
-
secrets, **Bats** tests (reviewer lingua franca), devcontainer/Codespaces
|
|
101
|
-
fast install path.
|
|
102
|
-
|
|
103
|
-
Context: chezmoi has won the dotfiles category; mise is baseline; Starship
|
|
104
|
-
has overtaken Powerlevel10k (maintenance-only); MCP spec 2025-11-25 is
|
|
105
|
-
under the Linux Foundation and safe to build on.
|
|
106
|
-
|
|
107
|
-
## 5. Staged roadmap
|
|
108
|
-
|
|
109
|
-
Each phase ships as its own reviewed PR with before/after benchmarks.
|
|
110
|
-
|
|
111
|
-
| Phase | Work | Risk | Target payoff |
|
|
112
|
-
|-------|------|------|---------------|
|
|
113
|
-
| **0** | Honest benchmark harness in-repo; make `dot doctor` report real numbers | low | truth in metrics |
|
|
114
|
-
| **1** | Perf quick-wins audit (deferral, compinit, zcompile, mise ordering) | low | verify + record baseline |
|
|
115
|
-
| **2** | Extract `lib/dot/ui.sh` → versioned shared lib | med | unblocks decoupling |
|
|
116
|
-
| **3** | `dot` plugin API + carve out `dotfiles-mcp` (lowest-risk repo) | med | proves the model |
|
|
117
|
-
| **4** | Cross-shell manifest (single source → per-shell generators); de-bash-bridge fish | high | consistency + fish speed |
|
|
118
|
-
| **5** | `dotfiles-ai` as a plugin repo | high | the decoupling goal |
|
|
119
|
-
| **6** | `dotfiles-lsp` MVP | low | differentiation |
|
|
120
|
-
| **7** | Docs + `examples/` + published honest benchmarks | med | completeness |
|
|
121
|
-
|
|
122
|
-
### Status
|
|
123
|
-
|
|
124
|
-
- **Phase 0 — done** (`feat/v0.2.509`): `tests/performance/bench.sh` now times
|
|
125
|
-
every shell *interactively* (fish was measured non-interactively, faking
|
|
126
|
-
~12ms vs the real ~118ms) and includes nushell; `dot doctor` reports the
|
|
127
|
-
real medians.
|
|
128
|
-
- **Phase 1 — done (audit)** (`feat/v0.2.509`): the documented quick-wins are
|
|
129
|
-
**already implemented** in the deployed config, verified:
|
|
130
|
-
- `compinit` deferred to first prompt, `-C` + daily-audit cache
|
|
131
|
-
(`~/.config/zsh/rc.d/30-options.zsh`).
|
|
132
|
-
- Eagerly-sourced hub files are `zcompile`d (`.zwc` present).
|
|
133
|
-
- Plugins turbo-deferred (`zinit ice wait lucid`), fzf backgrounded, and
|
|
134
|
-
mise/atuin/starship/zoxide inits deferred to post-prompt hydration and
|
|
135
|
-
cached via `_cached_eval`.
|
|
136
|
-
- `mise activate` ordering is a non-issue here: zsh uses `add-zsh-hook`
|
|
137
|
-
(appends, no overwrite) and bash manages `PROMPT_COMMAND` explicitly.
|
|
138
|
-
- Net: `zsh -ic exit` (which runs before the prompt, so it excludes the
|
|
139
|
-
deferred inits) is ~66ms of *eager* rc — dominated by sourcing the large
|
|
140
|
-
aggregated alias/function hubs. No safe further quick-win remains.
|
|
141
|
-
- **Consequence:** sub-30ms is not reachable by tuning; it needs Phase 4
|
|
142
|
-
(manifest → cut the eager alias/function volume) or a lean profile.
|
|
143
|
-
fish (~118ms) is the biggest single opportunity (bash-bridge), also
|
|
144
|
-
Phase 4.
|
|
145
|
-
- Phases 2–7 — planned; sequencing subject to review.
|
|
6
|
+
Current architecture decisions belong in `docs/architecture/`; future roadmap
|
|
7
|
+
items belong in the root roadmap or in GitHub issues and milestones.
|
|
@@ -43,17 +43,40 @@ matches and emits standard `lcov.info` that Codecov ingests natively.
|
|
|
43
43
|
|
|
44
44
|
| Surface | What runs |
|
|
45
45
|
|---|---|
|
|
46
|
-
| **PR + push to main** | `.github/workflows/coverage.yml` → `Coverage / kcov` job → uploads lcov.info to Codecov and fails the build below `MIN_COVERAGE_PCT` (currently `
|
|
46
|
+
| **PR + push to main** | `.github/workflows/coverage.yml` → `Coverage / kcov` job → uploads lcov.info to Codecov and fails the build below `MIN_COVERAGE_PCT` (currently `58`, ratcheted up after measured integer-floor gains). |
|
|
47
47
|
| **Local dev** | `bash tools/ci/run-coverage.sh` — works on Linux + macOS (xtrace is a bash primitive, no platform tools needed). |
|
|
48
|
-
| **macOS dev** | Supported. xtrace-based instrumentation runs on macOS bash 3.2+ and Homebrew bash 5.x. |
|
|
48
|
+
| **macOS dev** | Supported. xtrace-based instrumentation runs on macOS bash 3.2+ and Homebrew bash 5.x, with a Perl alarm fallback when GNU `timeout`/`gtimeout` is unavailable. |
|
|
49
49
|
|
|
50
50
|
## The current floor
|
|
51
51
|
|
|
52
|
-
`MIN_COVERAGE_PCT=
|
|
52
|
+
`MIN_COVERAGE_PCT=58` in `.github/workflows/coverage.yml`. Slice 1
|
|
53
53
|
of [#883](https://github.com/sebastienrousseau/dotfiles/issues/883)
|
|
54
54
|
established the baseline at **~2.7% measured** (~613 of ~22 500 lines
|
|
55
55
|
across 231 files). Successive slices raised it; the current measured
|
|
56
|
-
value sits at
|
|
56
|
+
value sits at **59.32%** (`7523/12682` lines, measured on v0.2.513; gate floored at 58 for local<->CI drift + run variance). This release now traces both mandatory unit and regression suites, replays the function exerciser's captured xtrace, and caches source-path normalization so aggregation completes in seconds instead of minutes. It builds on the earlier parser correction for nested Bash execution prefixes and deterministic branch-driving tests for Scorecard snapshots, examples coverage, and `httpdebug`. It builds on the eighth core
|
|
57
|
+
coverage-ratchet slice, which added `jwt` portability coverage and
|
|
58
|
+
branch-driving function coverage for `apihealth`, `apiload`, and
|
|
59
|
+
`apilatency`. This builds on the prior helper slice that drove
|
|
60
|
+
`scripts/dot/commands/restore.sh` to 75.17%,
|
|
61
|
+
`scripts/dot/commands/meta.sh` to 66.88%, `lib/dot/log.sh` to 59.56%,
|
|
62
|
+
and `scripts/dot/commands/diagnostics.sh` to 49.63%, with additional
|
|
63
|
+
git AI, hashsum, regex, jsonv, gl, and hex helper branch coverage.
|
|
64
|
+
This builds on the prior core slice (`scripts/dot/commands/init.sh` at 72.09%,
|
|
65
|
+
`scripts/dot/commands/manual.sh` at 62.50%,
|
|
66
|
+
`scripts/dot/commands/core.sh` at 55.86%, and
|
|
67
|
+
`scripts/dot/commands/secrets.sh` at 54.97%), the prior
|
|
68
|
+
AI command slice (`defaults/dot_local/bin/executable_dot-ai-proxy` at
|
|
69
|
+
76.00%, `scripts/dot/commands/agents.sh` at 66.15%, and
|
|
70
|
+
`scripts/dot/commands/completion.sh` at 45.68%), the registry slice
|
|
71
|
+
(`scripts/dot/commands/registry.sh` at 65.03%) and the macOS
|
|
72
|
+
coverage-runner Perl timeout fallback, the aliases slice
|
|
73
|
+
(`scripts/dot/commands/aliases.sh` at 70.00%), the tools/version-sync
|
|
74
|
+
slice (`scripts/dot/commands/tools.sh` at 72.85%, `lib/dot/utils.sh` at
|
|
75
|
+
73.24%, and `scripts/version-sync.sh` at 36.53%), the first core slice
|
|
76
|
+
for `lib/dot/ui.sh`, and the #954 deep-branch pass for
|
|
77
|
+
`scripts/theme/switch.sh`,
|
|
78
|
+
`scripts/diagnostics/mcp-doctor.sh`, and Linux/WSL branches in
|
|
79
|
+
`scripts/diagnostics/doctor.sh`.
|
|
57
80
|
|
|
58
81
|
To tighten:
|
|
59
82
|
|
|
@@ -66,10 +89,9 @@ To tighten:
|
|
|
66
89
|
|
|
67
90
|
### Why not the 95% target from #883
|
|
68
91
|
|
|
69
|
-
The roadmap originally targeted ≥95% measured.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
not aspirational:
|
|
92
|
+
The roadmap originally targeted ≥95% measured. The current xtrace-only
|
|
93
|
+
measurement is **59.32%** on this codebase. The remaining gap is largely
|
|
94
|
+
structural:
|
|
73
95
|
|
|
74
96
|
- **System-mutation surface** — large parts of the repo orchestrate
|
|
75
97
|
real OS state (`chezmoi apply`, `gpg`, `pass`/`age` keystores,
|