@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.
- package/CHANGELOG.md +200 -0
- package/LICENSE-APACHE +190 -0
- package/{LICENSE → LICENSE-MIT} +1 -1
- package/README.md +1172 -166
- package/install.sh +77 -11
- package/package.json +8 -8
- package/tools/README.md +49 -0
- package/tools/ci/install-chezmoi-verified.sh +68 -0
- package/docs/.vitepress/reports/localization-readability-audit.md +0 -73
- package/docs/AI.md +0 -179
- package/docs/CNAME +0 -1
- package/docs/CONFIG_STRATEGY.md +0 -124
- package/docs/COPYRIGHT +0 -7
- package/docs/GOVERNANCE.md +0 -98
- package/docs/MAINTAINERS.md +0 -41
- package/docs/NAMING_CONVENTIONS.md +0 -102
- package/docs/OPENCODE.md +0 -127
- package/docs/README.md +0 -84
- package/docs/STRUCTURE.md +0 -102
- package/docs/adr/ADR-001-ci-cd-pipeline.md +0 -118
- package/docs/adr/ADR-002-shell-performance.md +0 -130
- package/docs/adr/ADR-003-security-first.md +0 -158
- package/docs/adr/ADR-004-cli-architecture.md +0 -171
- package/docs/adr/ADR-005-chezmoi-choice.md +0 -99
- package/docs/adr/ADR-006-shell-selection.md +0 -124
- package/docs/adr/ADR-007-multi-shell-parity.md +0 -62
- package/docs/adr/ADR-008-alias-system-architecture.md +0 -95
- package/docs/adr/ADR-009-wallpaper-driven-theming.md +0 -131
- package/docs/adr/ADR-010-starship-transient-prompt.md +0 -144
- package/docs/adr/ADR-011-nushell-tier3-keep.md +0 -144
- package/docs/adr/ADR-012-ai-fleet-local-proxy.md +0 -79
- package/docs/adr/README.md +0 -40
- package/docs/architecture/AI_COST_OPTIMIZATION.md +0 -144
- package/docs/architecture/ARCHITECTURE.md +0 -117
- package/docs/architecture/INTEROP.md +0 -44
- package/docs/architecture/REPO_LAYOUT.md +0 -241
- package/docs/architecture/WALKTHROUGH.md +0 -86
- package/docs/architecture/fleet-deployment.md +0 -77
- package/docs/archive/EUXIS_2026_REVIEW.md +0 -127
- package/docs/archive/LEGACY_ROADMAP.md +0 -6
- package/docs/archive/MILESTONE_v0.2.493.md +0 -47
- package/docs/archive/PLAN.md +0 -199
- package/docs/archive/REPO_AUDIT.md +0 -31
- package/docs/articles/.pages +0 -6
- package/docs/articles/2026-07-05-custom-mkdocs-material-dark-theme.md +0 -216
- package/docs/articles/2026-07-05-fish-startup-abbr.md +0 -153
- package/docs/articles/2026-07-05-master-to-main-rename-runbook.md +0 -128
- package/docs/articles/index.md +0 -36
- package/docs/guides/INSTALL.md +0 -144
- package/docs/guides/NEOVIM_IDE_GUIDE.md +0 -61
- package/docs/guides/THEMING.md +0 -230
- package/docs/guides/TROUBLESHOOTING.md +0 -176
- package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +0 -792
- package/docs/index.md +0 -132
- package/docs/interop/A2A.md +0 -39
- package/docs/interop/POWERSHELL.md +0 -102
- package/docs/manual/00-introduction.md +0 -89
- package/docs/manual/01-concepts/01-architecture.md +0 -138
- package/docs/manual/01-concepts/02-trust-model.md +0 -183
- package/docs/manual/01-concepts/03-theme-engine.md +0 -186
- package/docs/manual/01-concepts/04-fleet.md +0 -148
- package/docs/manual/01-concepts/05-self-healing.md +0 -204
- package/docs/manual/02-tutorials/01-first-install.md +0 -197
- package/docs/manual/02-tutorials/02-add-wallpaper.md +0 -216
- package/docs/manual/02-tutorials/03-create-profile.md +0 -244
- package/docs/manual/02-tutorials/04-encrypt-secret.md +0 -281
- package/docs/manual/02-tutorials/05-deploy-fleet.md +0 -283
- package/docs/manual/03-reference/01-dot-cli.md +0 -450
- package/docs/manual/03-reference/02-config-files.md +0 -265
- package/docs/manual/03-reference/03-environment.md +0 -124
- package/docs/manual/03-reference/04-templates.md +0 -190
- package/docs/manual/03-reference/05-feature-flags.md +0 -187
- package/docs/manual/04-cookbook/01-recipes.md +0 -285
- package/docs/manual/04-cookbook/02-troubleshooting.md +0 -351
- package/docs/manual/04-cookbook/03-faq.md +0 -175
- package/docs/manual/05-appendices/A-platform-matrix.md +0 -101
- package/docs/manual/05-appendices/B-security-checklist.md +0 -85
- package/docs/manual/05-appendices/C-glossary.md +0 -40
- package/docs/manual/05-appendices/D-bibliography.md +0 -58
- package/docs/manual/05-appendices/E-license.md +0 -38
- package/docs/manual/_toc.yml +0 -58
- package/docs/manual/command-index.md +0 -155
- package/docs/manual/concept-index.md +0 -168
- package/docs/manual/index.md +0 -66
- package/docs/operations/ARCHITECTURE_ROADMAP.md +0 -7
- package/docs/operations/ATTESTATION.md +0 -44
- package/docs/operations/CI_CADENCE.md +0 -107
- package/docs/operations/CI_COMPOSITES.md +0 -156
- package/docs/operations/COMPLETIONS.md +0 -123
- package/docs/operations/COVERAGE.md +0 -204
- package/docs/operations/DRIFT.md +0 -107
- package/docs/operations/HARD_AUDIT_2026.md +0 -631
- package/docs/operations/MAINTENANCE.md +0 -63
- package/docs/operations/MANIFEST.md +0 -127
- package/docs/operations/MIGRATION.md +0 -109
- package/docs/operations/OPERATIONS.md +0 -188
- package/docs/operations/PERFORMANCE.md +0 -133
- package/docs/operations/REGISTRY.md +0 -90
- package/docs/operations/RELEASE_PIPELINE.md +0 -128
- package/docs/operations/RELIABILITY.md +0 -122
- package/docs/operations/RFC_v0_2_503_reorganization.md +0 -280
- package/docs/operations/ROADMAP.md +0 -10
- package/docs/operations/ROADMAP_2026.md +0 -7
- package/docs/operations/ROADMAP_V0_2_503.md +0 -10
- package/docs/operations/TESTING.md +0 -216
- package/docs/operations/TRACEABILITY.md +0 -43
- package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +0 -65
- package/docs/operations/VERSION_SYNC.md +0 -393
- package/docs/reference/ALIASES.md +0 -131
- package/docs/reference/ALIASES_CHEATSHEET.md +0 -32
- package/docs/reference/ALIASES_DEPRECATIONS.md +0 -13
- package/docs/reference/FEATURES.md +0 -66
- package/docs/reference/FONTS.md +0 -112
- package/docs/reference/POWERSHELL_PARITY.md +0 -82
- package/docs/reference/PROFILES.md +0 -69
- package/docs/reference/SCREENSHOTS.md +0 -121
- package/docs/reference/SCRIPTS.md +0 -71
- package/docs/reference/SUPPORT_MATRIX.md +0 -80
- package/docs/reference/THEMES.md +0 -117
- package/docs/reference/TOOLS.md +0 -110
- package/docs/reference/UTILS.md +0 -242
- package/docs/registry.json +0 -6
- package/docs/schema/dot-env-v1.json +0 -110
- package/docs/schema/dot-registry-v1.json +0 -33
- package/docs/security/AI_ACT_COMPLIANCE.md +0 -94
- package/docs/security/AUDIT_BYPASS.md +0 -103
- package/docs/security/AUTOMATION_SECRETS.md +0 -26
- package/docs/security/CI_EGRESS_ALLOWLIST.md +0 -127
- package/docs/security/CI_PINNING.md +0 -129
- package/docs/security/COMMIT_SIGNING.md +0 -138
- package/docs/security/COMPLIANCE.md +0 -458
- package/docs/security/DEPS_DEV_EXCEPTIONS.md +0 -86
- package/docs/security/DISCLOSURE.md +0 -130
- package/docs/security/ENCRYPTION.md +0 -57
- package/docs/security/FMEA.md +0 -159
- package/docs/security/FUZZING.md +0 -114
- package/docs/security/HISTORY_FILTERING.md +0 -132
- package/docs/security/INCIDENT_RESPONSE.md +0 -579
- package/docs/security/INSTALL_VERIFICATION.md +0 -122
- package/docs/security/KEYS.md +0 -49
- package/docs/security/KEY_ROTATION.md +0 -303
- package/docs/security/MCP_POLICY.md +0 -78
- package/docs/security/POLICY_RELEASES.md +0 -37
- package/docs/security/README.md +0 -28
- package/docs/security/SCORECARD.md +0 -195
- package/docs/security/SECRETS.md +0 -158
- package/docs/security/SECURITY.md +0 -45
- package/docs/security/SECURITY_CHECKLIST.md +0 -55
- package/docs/security/SHELL_EXEMPTIONS.md +0 -145
- package/docs/security/SOUP_REGISTER.md +0 -36
- package/docs/security/THREAT_MODEL.md +0 -130
- package/docs/security/VERIFICATION_VALIDATION.md +0 -228
- package/docs/security/VERIFY_RELEASE.md +0 -201
- package/docs/security/security-pubkey.asc +0 -15
- package/docs/stylesheets/extra.css +0 -444
- package/docs/themes/README.md +0 -10
- package/docs/themes/VISUAL_INTEGRITY_REPORT.md +0 -30
- package/docs/themes/hero-shot.svg +0 -78
- package/scripts/README.md +0 -123
- package/scripts/ci/check-copyright-headers.sh +0 -8
- package/scripts/ci/check-shell-preamble.sh +0 -8
- package/scripts/ci/guard-gitleaks-checkout.sh +0 -8
- package/scripts/demo/record.sh +0 -43
- package/scripts/diagnostics/a2a-conformance.sh +0 -163
- package/scripts/diagnostics/alias-governance.sh +0 -138
- package/scripts/diagnostics/aliases-cheatsheet.sh +0 -74
- package/scripts/diagnostics/aliases-manifest.sh +0 -77
- package/scripts/diagnostics/benchmark.sh +0 -408
- package/scripts/diagnostics/conflicts.sh +0 -73
- package/scripts/diagnostics/doctor-unified.sh +0 -39
- package/scripts/diagnostics/doctor.sh +0 -751
- package/scripts/diagnostics/drift-dashboard.sh +0 -202
- package/scripts/diagnostics/health.sh +0 -623
- package/scripts/diagnostics/history-analysis.sh +0 -86
- package/scripts/diagnostics/mcp-doctor.sh +0 -582
- package/scripts/diagnostics/perf.sh +0 -453
- package/scripts/diagnostics/scorecard.sh +0 -119
- package/scripts/diagnostics/secret-governance.sh +0 -65
- package/scripts/diagnostics/security-score.sh +0 -467
- package/scripts/diagnostics/smoke-test.sh +0 -88
- package/scripts/diagnostics/snapshot.sh +0 -90
- package/scripts/diagnostics/verify.sh +0 -108
- package/scripts/diagnostics/verify_state.sh +0 -73
- package/scripts/diagnostics/version-locks.sh +0 -94
- package/scripts/diagnostics/workstation-attestation.sh +0 -187
- package/scripts/dot/commands/agent.sh +0 -485
- package/scripts/dot/commands/agents.sh +0 -336
- package/scripts/dot/commands/ai.sh +0 -587
- package/scripts/dot/commands/aliases.sh +0 -277
- package/scripts/dot/commands/appearance.sh +0 -110
- package/scripts/dot/commands/completion.sh +0 -134
- package/scripts/dot/commands/core.sh +0 -217
- package/scripts/dot/commands/diagnostics.sh +0 -265
- package/scripts/dot/commands/env-emit.sh +0 -203
- package/scripts/dot/commands/fleet.sh +0 -688
- package/scripts/dot/commands/init.sh +0 -185
- package/scripts/dot/commands/lint.sh +0 -208
- package/scripts/dot/commands/manual.sh +0 -169
- package/scripts/dot/commands/meta.sh +0 -333
- package/scripts/dot/commands/patterns.sh +0 -55
- package/scripts/dot/commands/registry.sh +0 -419
- package/scripts/dot/commands/restore.sh +0 -232
- package/scripts/dot/commands/secrets.sh +0 -296
- package/scripts/dot/commands/security.sh +0 -102
- package/scripts/dot/commands/tools.sh +0 -556
- package/scripts/dot/data/alias-deprecations.tsv +0 -2
- package/scripts/dot/powershell/Dot.psm1 +0 -319
- package/scripts/fonts/install-nerd-fonts.sh +0 -75
- package/scripts/fonts/patch-fonts.sh +0 -36
- package/scripts/git-hooks/install.sh +0 -12
- package/scripts/git-hooks/pre-commit +0 -12
- package/scripts/git-hooks/pre-commit-audit.sh +0 -146
- package/scripts/git-hooks/pre-push +0 -105
- package/scripts/git-hooks/prepare-commit-msg +0 -29
- package/scripts/lib/secrets_provider.sh +0 -185
- package/scripts/ops/ai-setup.sh +0 -71
- package/scripts/ops/bundle.sh +0 -104
- package/scripts/ops/chaos.sh +0 -50
- package/scripts/ops/chezmoi-apply.sh +0 -333
- package/scripts/ops/chezmoi-diff.sh +0 -16
- package/scripts/ops/chezmoi-remove.sh +0 -46
- package/scripts/ops/chezmoi-update.sh +0 -63
- package/scripts/ops/heal-chezmoi.sh +0 -87
- package/scripts/ops/heal-system.sh +0 -129
- package/scripts/ops/heal-tools.sh +0 -297
- package/scripts/ops/heal.sh +0 -223
- package/scripts/ops/post-apply-repair.sh +0 -107
- package/scripts/ops/prewarm.sh +0 -128
- package/scripts/ops/release.sh +0 -262
- package/scripts/ops/rollback.sh +0 -604
- package/scripts/ops/setup.sh +0 -138
- package/scripts/ops/teleport.sh +0 -34
- package/scripts/qa/check-version-consistency.sh +0 -124
- package/scripts/qa/coverage-baseline.sh +0 -61
- package/scripts/qa/docs-coverage.sh +0 -112
- package/scripts/qa/examples-coverage.sh +0 -94
- package/scripts/qa/powershell-contract.ps1 +0 -95
- package/scripts/qa/reliability-audit.sh +0 -139
- package/scripts/qa/scorecard-snapshot.sh +0 -128
- package/scripts/qa/traceability-coverage.sh +0 -117
- package/scripts/qa/validate-examples.sh +0 -27
- package/scripts/qa/wsl-contract.sh +0 -12
- package/scripts/secrets/age-init.sh +0 -82
- package/scripts/secrets/create-secrets-file.sh +0 -46
- package/scripts/secrets/encrypt-ssh-key.sh +0 -44
- package/scripts/security/backup.sh +0 -58
- package/scripts/security/check-disclosure-key-expiry.sh +0 -111
- package/scripts/security/dns-doh.sh +0 -52
- package/scripts/security/encryption-check.sh +0 -55
- package/scripts/security/enforce-policies.sh +0 -335
- package/scripts/security/firewall.sh +0 -91
- package/scripts/security/lock-configs.sh +0 -67
- package/scripts/security/lock-screen.sh +0 -56
- package/scripts/security/manage-secrets.sh +0 -429
- package/scripts/security/ssh-cert.sh +0 -204
- package/scripts/security/telemetry-kill.sh +0 -51
- package/scripts/security/usb-safety.sh +0 -52
- package/scripts/theme/apply-gnome-theme.sh +0 -333
- package/scripts/theme/extract-heic-frames.sh +0 -115
- package/scripts/theme/extract-theme.py +0 -742
- package/scripts/theme/install-boot-logo.sh +0 -63
- package/scripts/theme/install-catppuccin-themes.sh +0 -371
- package/scripts/theme/install-cursors.sh +0 -26
- package/scripts/theme/install-file-icons.sh +0 -27
- package/scripts/theme/install-grub-theme.sh +0 -62
- package/scripts/theme/install-lock-icon.sh +0 -31
- package/scripts/theme/merge-wallpaper.sh +0 -146
- package/scripts/theme/rebuild-themes.sh +0 -544
- package/scripts/theme/switch.sh +0 -449
- package/scripts/theme/wallpaper-rotate.sh +0 -137
- package/scripts/theme/wallpaper-sync.sh +0 -690
- package/scripts/tools/cmatrix.sh +0 -22
- package/scripts/tools/detect-collisions.py +0 -103
- package/scripts/tools/emoji-picker.sh +0 -49
- package/scripts/tools/figlet-banner.sh +0 -19
- package/scripts/tools/log-rotate.sh +0 -31
- package/scripts/tools/lolcat-wrap.sh +0 -20
- package/scripts/tools/pipes.sh +0 -49
- package/scripts/tuning/linux.sh +0 -186
- package/scripts/tuning/macos.sh +0 -56
- package/scripts/uninstall.sh +0 -86
- package/scripts/version-sync.sh +0 -654
- package/templates/chezmoi-data/geekom-a9.toml.example +0 -21
- package/templates/chezmoi-data/mac-m1.toml.example +0 -16
- package/templates/chezmoi-data/mac-t2-linux.toml.example +0 -21
- package/templates/chezmoi-data/surface-pro-7p.toml.example +0 -21
- package/templates/projects/go/.github/workflows/ci.yml +0 -31
- package/templates/projects/go/README.md +0 -7
- package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +0 -8
- package/templates/projects/go/go.mod +0 -3
- package/templates/projects/go/go.sum +0 -0
- package/templates/projects/molecule/README.md +0 -7
- package/templates/projects/molecule/converge.yml +0 -7
- package/templates/projects/molecule/molecule.yml +0 -16
- package/templates/projects/node/.github/workflows/ci.yml +0 -30
- package/templates/projects/node/README.md +0 -7
- package/templates/projects/node/package-lock.json +0 -12
- package/templates/projects/node/package.json +0 -10
- package/templates/projects/node/src/index.js +0 -3
- package/templates/projects/packer/README.md +0 -15
- package/templates/projects/packer/main.pkr.hcl +0 -15
- package/templates/projects/python/.github/workflows/ci.yml +0 -34
- package/templates/projects/python/README.md +0 -7
- package/templates/projects/python/pyproject.toml +0 -25
- package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +0 -2
- package/templates/projects/python/tests/test_basic.py +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,206 @@
|
|
|
2
2
|
|
|
3
3
|
This file documents all notable changes to this project.
|
|
4
4
|
|
|
5
|
+
## Unreleased
|
|
6
|
+
|
|
7
|
+
## v0.2.521 — 2026-09-20
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Began the production-hardening roadmap with an immutable release-identity
|
|
12
|
+
preflight, same-commit reusable workflows, and task-scoped GitHub
|
|
13
|
+
authentication instead of a globally inherited token.
|
|
14
|
+
- Promoted the verified, release-pinned installation path and tightened the
|
|
15
|
+
npm bootstrap artifact contract.
|
|
16
|
+
- Added pure theme plans plus serialized, journaled theme transactions with
|
|
17
|
+
pre-apply validation and automatic file/symlink rollback on required
|
|
18
|
+
failures.
|
|
19
|
+
- Hardened AI CLI theme adapters with typed outcomes, malformed-config
|
|
20
|
+
preservation, compare-before-commit writes, and global/per-provider opt-outs.
|
|
21
|
+
- Added an independently versioned palette audit covering truecolor, xterm-256,
|
|
22
|
+
focus/selection contrast, perceptual separation, and color-vision simulation
|
|
23
|
+
across all 228 themes; stabilized semantic status colors in both modes.
|
|
24
|
+
|
|
25
|
+
## v0.2.520 — 2026-09-13
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- `docs/guides/MACOS_ICLOUD_SYMLINKS.md`, documenting what the hook does, the
|
|
30
|
+
cases it refuses, and how to resolve each one by hand.
|
|
31
|
+
- A safety regression suite and a unit suite for the hook, covering the refusal
|
|
32
|
+
paths that the destructive version never had.
|
|
33
|
+
- Performance budgets for the shell startup path, with the budget table and its
|
|
34
|
+
rationale in `docs/operations/PERFORMANCE_BUDGETS.md`.
|
|
35
|
+
- A gate-integrity regression test asserting that the safety checks cannot be
|
|
36
|
+
disabled without a test failing.
|
|
37
|
+
- `dot mcp serve` — a real stdio Model Context Protocol server, where the
|
|
38
|
+
published card had previously described one that did not exist. Full
|
|
39
|
+
lifecycle with version negotiation across three protocol revisions,
|
|
40
|
+
`tools/list`, `tools/call`, resources and logging, with proper JSON-RPC
|
|
41
|
+
error objects. All four tools are read-only and run from closed argument
|
|
42
|
+
vectors without a shell; the mutating operations are deliberately
|
|
43
|
+
unreachable. Go, standard library only.
|
|
44
|
+
- A feature matrix covering every routable command, flag, environment
|
|
45
|
+
variable and config key, each row naming the regression test, benchmark,
|
|
46
|
+
example and manual section that covers it. The gate fails when a command
|
|
47
|
+
gains no row, or when a row names a test or example that does not exist,
|
|
48
|
+
so coverage cannot be claimed in the table without being written.
|
|
49
|
+
- `dot attest --verify` (`--json|-j`, `--max-age|-a`): checks a workstation
|
|
50
|
+
evidence record against the attestation policy by running `lib/wasm-tools`
|
|
51
|
+
as WebAssembly under `wasmtime`. The module gets stdin, stdout and a clock
|
|
52
|
+
and nothing else — no filesystem, no network, no environment — so the
|
|
53
|
+
verdict does not depend on the tools installed on the machine under review.
|
|
54
|
+
Eleven checks cover evidence freshness, the required identity fields, the
|
|
55
|
+
git signing configuration, the agent profile and MCP health.
|
|
56
|
+
- `scripts/diagnostics/attest-verify.sh`, the caller behind that flag: it
|
|
57
|
+
resolves the module and the runtime, builds the module on demand when a
|
|
58
|
+
Rust toolchain is present, and forwards an evidence file, a pipe, or a
|
|
59
|
+
fresh `dot attest --json`.
|
|
60
|
+
- `dot-sys` gained a real `wasm32-wasip1` target, a general JSON reader
|
|
61
|
+
(`dot_sys::json`), an RFC 3339 UTC parser (`dot_sys::time`), the policy
|
|
62
|
+
itself (`dot_sys::attest`), a `verify` subcommand, `--help` and
|
|
63
|
+
`--version`, two more fuzz targets (`fuzz_json`, `fuzz_verify`), a fourth
|
|
64
|
+
example, a second benchmark suite, and `tests/wasm.rs`, which executes the
|
|
65
|
+
built module in a runtime rather than merely inspecting the artefact.
|
|
66
|
+
- `rust.yml` gained a `wasm` job: clippy for the target, a build, an
|
|
67
|
+
execution assertion, the WebAssembly integration tests, the shell caller's
|
|
68
|
+
test, and the `.wasm` uploaded as an artefact.
|
|
69
|
+
|
|
70
|
+
### Changed
|
|
71
|
+
|
|
72
|
+
- Bash line coverage went from 59% to **98.14%**. Roughly half of that came
|
|
73
|
+
from fixing the measurement rather than adding tests: untraceable lines sat
|
|
74
|
+
in the denominator, 540 of 706 test files discarded their traces through
|
|
75
|
+
`2>&1`, silent timeout kills were counted as passes, and the sweep's `PS4`
|
|
76
|
+
truncated at 100 characters so the figure depended on how long your checkout
|
|
77
|
+
path was. Correcting those alone moved it 59.36% to 72.29% with no new test
|
|
78
|
+
written. Both Go modules are at 100%, where fuzzing found four defects.
|
|
79
|
+
- The terminal palette now takes more than one colour from the wallpaper.
|
|
80
|
+
`term.bg` had two distinct values across all 228 themes; it now has 36, and
|
|
81
|
+
the status bar carries a secondary and tertiary alongside the accent. The
|
|
82
|
+
background is *tinted* rather than replaced — lightness is unchanged, so the
|
|
83
|
+
low-eye-strain surface the engine was built around is preserved, and
|
|
84
|
+
`DOTFILES_TERM_TINT=0` restores the flat neutrals.
|
|
85
|
+
- Rust is no longer managed by mise. Its plugin exports `RUSTUP_TOOLCHAIN`,
|
|
86
|
+
which silently overrides `rust-toolchain.toml` in every project — a
|
|
87
|
+
repository pinned to 1.98.0 was being built with 1.97.1, and a local "all
|
|
88
|
+
green" said nothing about CI. rustup governs instead, so each project's own
|
|
89
|
+
pin is honoured.
|
|
90
|
+
- `~/.cargo/config.toml` no longer sets a global `target-dir`. Cargo takes an
|
|
91
|
+
exclusive lock on it, so every repository sharing one path serialised: a
|
|
92
|
+
build in one project blocked `cargo test` in another, and cargo prints
|
|
93
|
+
nothing while it waits, so it read as a hang. sccache recovers the shared
|
|
94
|
+
dependency cache without the lock.
|
|
95
|
+
- mise's tool directories are promoted above Homebrew and the shims on `PATH`,
|
|
96
|
+
fused into the existing dedup pass rather than added as a second walk.
|
|
97
|
+
|
|
98
|
+
### Fixed
|
|
99
|
+
|
|
100
|
+
- AI provider dispatch now uses the installed CLIs' prompt modes; OpenCode
|
|
101
|
+
installs through its native mise backend. Noninteractive status checks no
|
|
102
|
+
longer open terminal pickers. Reviewed upstream installer checksums are refreshed.
|
|
103
|
+
- Ollama prompts and interactive chat default to `qwen3.5:4b`; set
|
|
104
|
+
`DOTFILES_OLLAMA_MODEL` to select another downloaded model.
|
|
105
|
+
- Neovim configures the current Treesitter and mason-lspconfig APIs, preserves
|
|
106
|
+
custom debugger configurations, and uses Mason's Python debug adapter.
|
|
107
|
+
- Health checks recognize named SSH key pairs and the configured age identity;
|
|
108
|
+
doctor includes Codex and reports absent optional AI providers as information.
|
|
109
|
+
- Homebrew's rustup is available in the shared shell and Fish paths. Go uses
|
|
110
|
+
its system temporary directory instead of a potentially missing custom directory.
|
|
111
|
+
- Terminal test fixtures explicitly control `NO_COLOR`.
|
|
112
|
+
|
|
113
|
+
- `dot doctor`, `dot health`, `dot fleet`, the scorecard and the drift dashboard
|
|
114
|
+
no longer report permanent drift on macOS. The iCloud symlink hook is a
|
|
115
|
+
`run_before_` script that chezmoi lists as pending on every apply by design,
|
|
116
|
+
which made plain `chezmoi verify` exit 1 and every `chezmoi status` line
|
|
117
|
+
count read 1 on a fully synchronised machine. Those callers now pass
|
|
118
|
+
`--exclude=always`; files, directories, symlinks and `run_once`/`run_onchange`
|
|
119
|
+
scripts still count as drift.
|
|
120
|
+
- markdown-preview.nvim no longer blocks `dot upgrade`'s plugin sync. Its build
|
|
121
|
+
step ran `cd app && npm install`, which rewrote the upstream `app/yarn.lock`
|
|
122
|
+
on every build and left the checkout dirty, so Lazy refused to update it.
|
|
123
|
+
The spec now uses upstream's `mkdp#util#install`, which downloads the
|
|
124
|
+
prebuilt preview server and leaves the checkout untouched.
|
|
125
|
+
|
|
126
|
+
- Replaced the destructive mechanism behind the macOS iCloud symlink hook. The
|
|
127
|
+
previous implementation could remove real content from `~/Documents` and
|
|
128
|
+
`~/Desktop`; the replacement only ever removes an empty directory, refuses to
|
|
129
|
+
act on a non-empty one, and leaves an existing correct symlink untouched.
|
|
130
|
+
- Reported what it declined to do, and why, instead of failing silently.
|
|
131
|
+
- The health-probe record no longer claims `"engine": "wasm"` when it was
|
|
132
|
+
produced by a host binary. `ENGINE` is now `cfg`-selected, so the field
|
|
133
|
+
states where the bytes were actually computed: `wasm` from the module,
|
|
134
|
+
`native` from the host build. This is what makes the field evidence rather
|
|
135
|
+
than a label, and both halves are asserted in CI.
|
|
136
|
+
- Corrected the documentation that described `lib/wasm-tools` as vendored
|
|
137
|
+
third-party tooling or as "not actually WebAssembly": `docs/ECOSYSTEM.md`,
|
|
138
|
+
`docs/architecture/REPO_LAYOUT.md`, `docs/STRUCTURE.md`,
|
|
139
|
+
`docs/ARCHITECTURE.md`, `docs/reference/TOOLS.md` and `REUSE.toml`.
|
|
140
|
+
- `workbench.colorTheme` had been commented out on every machine this was
|
|
141
|
+
ever applied to. A template newline was chomped, welding the setting onto
|
|
142
|
+
the comment above it. Two thirds of the theme labels also named themes no
|
|
143
|
+
extension registers — "Tokyonight Mocha" and "Everforest Latte", where
|
|
144
|
+
Mocha and Latte are Catppuccin flavours rather than a general dark/light
|
|
145
|
+
suffix. The editor is now pinned to Catppuccin, and the icon theme ids are
|
|
146
|
+
the ones the extension actually declares.
|
|
147
|
+
- Twelve documented defects, each with a regression test proven to fail
|
|
148
|
+
against the unfixed code first: `dot theme set` aborting before its picker,
|
|
149
|
+
`dot fleet namespace set` reporting success while writing nothing,
|
|
150
|
+
`dot agent delegate` requiring a GNU `timeout` absent from stock macOS, a
|
|
151
|
+
registry cache keyed by path so changing the URL served a stale index for
|
|
152
|
+
six hours, and `dot doctor --audit` routing to a script not in the tree.
|
|
153
|
+
Two of the reported findings turned out to be wrong, and correcting them
|
|
154
|
+
was more useful than fixing them.
|
|
155
|
+
- `chezmoi apply` no longer silently discards edits made directly in `$HOME`.
|
|
156
|
+
Local drift is captured into the source instead of overwritten.
|
|
157
|
+
- macOS home folders (`~/Desktop`, `~/Documents`, `~/Public` and the rest) are
|
|
158
|
+
excluded from chezmoi management entirely, as a second layer beneath the
|
|
159
|
+
iCloud hook's own refusals.
|
|
160
|
+
- `docs-coverage.sh` and `traceability-coverage.sh` stopped masking their own
|
|
161
|
+
exit codes, so a failing gate now fails.
|
|
162
|
+
- `dot benchmark` is routed. Every layer but the router already had it.
|
|
163
|
+
- `dot upgrade` no longer hangs on a question nobody can see. Each phase's
|
|
164
|
+
output is captured to a log, so when `chezmoi update` met a locally edited
|
|
165
|
+
managed file it asked "has changed since chezmoi last wrote it?" on the
|
|
166
|
+
terminal's tty while the run looked merely slow. The step runner now closes
|
|
167
|
+
stdin and passes `--no-tty`, so the prompt fails fast, the step is marked
|
|
168
|
+
failed, and the surfaced tail names the fix (`chezmoi apply` to choose per
|
|
169
|
+
file, or `chezmoi update --force`).
|
|
170
|
+
- `dot upgrade`'s Neovim phase actually syncs plugins. `nvim -l` does not
|
|
171
|
+
load `init.lua`, so `scripts/nvim/headless-upgrade.lua` never found
|
|
172
|
+
lazy.nvim and logged "skipping plugin update" on every run. The phase now
|
|
173
|
+
passes `-u` with the user's `init.lua` (honouring `XDG_CONFIG_HOME` and
|
|
174
|
+
`NVIM_APPNAME`) ahead of `-l`, and reports a visible skip when there is no
|
|
175
|
+
config to load.
|
|
176
|
+
- `dot doctor` no longer warns about a missing `cargo-install-update` on a
|
|
177
|
+
machine that has no `cargo` for it to run through; the check now reports
|
|
178
|
+
"not needed" there and keeps warning where a Rust toolchain is present.
|
|
179
|
+
|
|
5
180
|
## v0.2.519 — 2026-08-13
|
|
6
181
|
|
|
182
|
+
### Added
|
|
183
|
+
|
|
184
|
+
- Implemented the Model Context Protocol server the discovery card has always
|
|
185
|
+
advertised. `dot mcp serve` now speaks JSON-RPC 2.0 over newline-delimited
|
|
186
|
+
frames on stdin/stdout: `initialize`, `initialized`, `ping`, `tools/list`,
|
|
187
|
+
`tools/call`, `resources/list`, `resources/read`,
|
|
188
|
+
`resources/templates/list`, `logging/setLevel`, and a clean shutdown on EOF.
|
|
189
|
+
It is a third Go module, `defaults/dot_local/share/dot-mcp`, deployed to
|
|
190
|
+
`~/.local/bin/dot-mcp`.
|
|
191
|
+
- Served four read-only tools — `mcp-doctor`, `agent-mode`,
|
|
192
|
+
`workstation-attestation` and `fleet-status` — each a fixed `dot` argument
|
|
193
|
+
vector run without a shell, and five read-only resources covering the MCP
|
|
194
|
+
policy, the MCP registry, the agent profiles and both discovery cards.
|
|
195
|
+
Mutating paths are deliberately not exposed.
|
|
196
|
+
|
|
197
|
+
### Changed
|
|
198
|
+
|
|
199
|
+
- Corrected `.well-known/mcp/server-card.json` to describe the server that now
|
|
200
|
+
exists: the stdio transport is `dot mcp serve` rather than the one-shot
|
|
201
|
+
`dot mcp --strict --json` audit, and the declared tools, resources and
|
|
202
|
+
capabilities are pinned to the running registry by tests that fail in both
|
|
203
|
+
directions. `entrypoints.mcp` in the A2A card was updated to match.
|
|
204
|
+
|
|
7
205
|
### Fixed
|
|
8
206
|
|
|
9
207
|
- Rendered the Nerd Font check as a chezmoi template so its verified-download
|
|
@@ -297,9 +495,11 @@ headers across the source tree.
|
|
|
297
495
|
to `batcat`/`fdfind`; a missing apt/dnf/pacman warns loudly instead of silently
|
|
298
496
|
installing nothing; WSL gets a best-effort `wslu` install for `wslview`. fish
|
|
299
497
|
and nushell now export `EDITOR`/`VISUAL`/`PAGER` to match the zsh/bash profile.
|
|
498
|
+
<!-- REUSE-IgnoreStart -->
|
|
300
499
|
- **Licensing:** added `SPDX-License-Identifier: MIT` headers (SPDX-first / REUSE
|
|
301
500
|
form) and normalized the copyright line to `Sebastien Rousseau` across 831
|
|
302
501
|
repo-only source files; dropped the contradictory `All rights reserved.`.
|
|
502
|
+
<!-- REUSE-IgnoreEnd -->
|
|
303
503
|
- **README** — fixed the OpenSSF Best Practices badge (was linking to the
|
|
304
504
|
new-project form with a static label; now the live `cii/percentage/12840`
|
|
305
505
|
endpoint linked to the real project).
|
package/LICENSE-APACHE
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to the Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
with Licensor regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act only
|
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
|
177
|
+
|
|
178
|
+
Copyright 2026 Sebastien Rousseau
|
|
179
|
+
|
|
180
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
181
|
+
you may not use this file except in compliance with the License.
|
|
182
|
+
You may obtain a copy of the License at
|
|
183
|
+
|
|
184
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
185
|
+
|
|
186
|
+
Unless required by applicable law or agreed to in writing, software
|
|
187
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
188
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
189
|
+
See the License for the specific language governing permissions and
|
|
190
|
+
limitations under the License.
|
package/{LICENSE → LICENSE-MIT}
RENAMED