@sebastienrousseau/dotfiles 0.2.500 → 0.2.501
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 +77 -0
- package/README.md +82 -44
- package/docs/.vitepress/reports/localization-readability-audit.md +4 -0
- package/docs/AI.md +8 -2
- package/docs/CNAME +1 -0
- package/docs/COPYRIGHT +1 -1
- package/docs/NAMING_CONVENTIONS.md +7 -0
- package/docs/README.md +4 -0
- package/docs/_config.yml +59 -0
- package/docs/adr/ADR-001-ci-cd-pipeline.md +17 -0
- package/docs/adr/ADR-002-shell-performance.md +9 -0
- package/docs/adr/ADR-003-security-first.md +18 -0
- package/docs/adr/ADR-004-cli-architecture.md +14 -0
- package/docs/adr/ADR-005-chezmoi-choice.md +10 -0
- package/docs/adr/ADR-006-shell-selection.md +9 -0
- package/docs/adr/ADR-007-multi-shell-parity.md +10 -1
- package/docs/adr/ADR-008-alias-system-architecture.md +10 -0
- package/docs/adr/ADR-009-wallpaper-driven-theming.md +131 -0
- package/docs/adr/ADR-010-starship-transient-prompt.md +144 -0
- package/docs/adr/ADR-011-nushell-tier3-keep.md +144 -0
- package/docs/adr/README.md +7 -0
- package/docs/architecture/ARCHITECTURE.md +4 -0
- package/docs/architecture/INTEROP.md +8 -0
- package/docs/architecture/REPO_LAYOUT.md +5 -1
- package/docs/architecture/WALKTHROUGH.md +4 -0
- package/docs/architecture/fleet-deployment.md +4 -0
- package/docs/archive/EUXIS_2026_REVIEW.md +11 -3
- package/docs/archive/LEGACY_ROADMAP.md +45 -27
- package/docs/archive/MILESTONE_v0.2.493.md +4 -0
- package/docs/archive/PLAN.md +46 -8
- package/docs/archive/REPO_AUDIT.md +8 -0
- package/docs/guides/INSTALL.md +4 -0
- package/docs/guides/NEOVIM_IDE_GUIDE.md +9 -0
- package/docs/guides/THEMING.md +8 -0
- package/docs/guides/TROUBLESHOOTING.md +28 -0
- package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +70 -1
- package/docs/index.md +6 -2
- package/docs/interop/A2A.md +7 -0
- package/docs/interop/POWERSHELL.md +102 -0
- package/docs/manual/00-introduction.md +5 -1
- package/docs/manual/01-concepts/01-architecture.md +4 -0
- package/docs/manual/01-concepts/02-trust-model.md +6 -2
- package/docs/manual/01-concepts/03-theme-engine.md +4 -0
- package/docs/manual/01-concepts/04-fleet.md +7 -1
- package/docs/manual/01-concepts/05-self-healing.md +8 -1
- package/docs/manual/02-tutorials/01-first-install.md +5 -0
- package/docs/manual/02-tutorials/02-add-wallpaper.md +5 -0
- package/docs/manual/02-tutorials/03-create-profile.md +6 -0
- package/docs/manual/02-tutorials/04-encrypt-secret.md +6 -0
- package/docs/manual/02-tutorials/05-deploy-fleet.md +5 -1
- package/docs/manual/03-reference/01-dot-cli.md +4 -0
- package/docs/manual/03-reference/02-config-files.md +8 -2
- package/docs/manual/03-reference/03-environment.md +4 -0
- package/docs/manual/03-reference/04-templates.md +7 -1
- package/docs/manual/03-reference/05-feature-flags.md +10 -0
- package/docs/manual/04-cookbook/01-recipes.md +4 -0
- package/docs/manual/04-cookbook/02-troubleshooting.md +32 -0
- package/docs/manual/04-cookbook/03-faq.md +8 -0
- package/docs/manual/05-appendices/A-platform-matrix.md +4 -0
- package/docs/manual/05-appendices/B-security-checklist.md +6 -0
- package/docs/manual/05-appendices/C-glossary.md +4 -0
- package/docs/manual/05-appendices/D-bibliography.md +5 -1
- package/docs/manual/05-appendices/E-license.md +4 -0
- package/docs/manual/_toc.yml +1 -1
- package/docs/manual/command-index.md +4 -0
- package/docs/manual/concept-index.md +4 -0
- package/docs/operations/ATTESTATION.md +5 -0
- package/docs/operations/CI_CADENCE.md +107 -0
- package/docs/operations/CI_COMPOSITES.md +156 -0
- package/docs/operations/COMPLETIONS.md +123 -0
- package/docs/operations/COVERAGE.md +148 -0
- package/docs/operations/DRIFT.md +107 -0
- package/docs/operations/MAINTENANCE.md +5 -1
- package/docs/operations/MIGRATION.md +14 -6
- package/docs/operations/OPERATIONS.md +24 -0
- package/docs/operations/PERFORMANCE.md +133 -0
- package/docs/operations/RELIABILITY.md +6 -0
- package/docs/operations/ROADMAP.md +36 -18
- package/docs/operations/TESTING.md +4 -0
- package/docs/operations/TRACEABILITY.md +4 -0
- package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +4 -0
- package/docs/operations/VERSION_SYNC.md +54 -5
- package/docs/reference/ALIASES.md +7 -0
- package/docs/reference/ALIASES_CHEATSHEET.md +5 -1
- package/docs/reference/ALIASES_DEPRECATIONS.md +5 -1
- package/docs/reference/FEATURES.md +4 -0
- package/docs/reference/FONTS.md +4 -0
- package/docs/reference/PROFILES.md +4 -0
- package/docs/reference/SCREENSHOTS.md +4 -0
- package/docs/reference/SCRIPTS.md +4 -0
- package/docs/reference/SUPPORT_MATRIX.md +10 -4
- package/docs/reference/THEMES.md +4 -0
- package/docs/reference/TOOLS.md +4 -0
- package/docs/reference/UTILS.md +16 -12
- package/docs/security/AI_ACT_COMPLIANCE.md +4 -0
- package/docs/security/AUDIT_BYPASS.md +103 -0
- package/docs/security/AUTOMATION_SECRETS.md +4 -0
- package/docs/security/CI_EGRESS_ALLOWLIST.md +127 -0
- package/docs/security/COMPLIANCE.md +5 -0
- package/docs/security/DEPS_DEV_EXCEPTIONS.md +86 -0
- package/docs/security/ENCRYPTION.md +5 -0
- package/docs/security/FMEA.md +4 -0
- package/docs/security/HISTORY_FILTERING.md +132 -0
- package/docs/security/INCIDENT_RESPONSE.md +4 -0
- package/docs/security/INSTALL_VERIFICATION.md +122 -0
- package/docs/security/KEYS.md +4 -0
- package/docs/security/KEY_ROTATION.md +4 -0
- package/docs/security/MCP_POLICY.md +9 -0
- package/docs/security/POLICY_RELEASES.md +4 -0
- package/docs/security/README.md +4 -0
- package/docs/security/SCORECARD.md +80 -0
- package/docs/security/SECRETS.md +12 -0
- package/docs/security/SECURITY.md +4 -0
- package/docs/security/SECURITY_CHECKLIST.md +11 -0
- package/docs/security/SHELL_EXEMPTIONS.md +145 -0
- package/docs/security/SOUP_REGISTER.md +4 -0
- package/docs/security/THREAT_MODEL.md +10 -0
- package/docs/security/VERIFICATION_VALIDATION.md +5 -1
- package/docs/themes/README.md +4 -0
- package/docs/themes/VISUAL_INTEGRITY_REPORT.md +4 -0
- package/dot_config/ai/identity.md +3 -0
- package/dot_config/ai/patterns/architect.md +2 -0
- package/dot_config/ai/patterns/hardener.md +2 -0
- package/dot_config/ai/patterns/refactor.md +2 -0
- package/dot_config/alacritty/alacritty.toml.tmpl +3 -3
- package/dot_config/atuin/config.toml.tmpl +47 -0
- package/dot_config/dotfiles/agent-card.json +1 -1
- package/dot_config/dotfiles/boot/README.md +2 -0
- package/dot_config/dotfiles/grub/README.md +2 -0
- package/dot_config/dotfiles/lock/README.md +2 -0
- package/dot_config/fish/conf.d/init.fish.tmpl +21 -0
- package/dot_config/fish/functions/_cached_eval.fish +84 -11
- package/dot_config/fish/functions/_cached_eval_clear.fish +17 -0
- package/dot_config/foot/foot.ini.tmpl +3 -3
- package/dot_config/fuzzel/fuzzel.ini.tmpl +2 -2
- package/dot_config/ghostty/config.tmpl +3 -3
- package/dot_config/git/hooks/executable_commit-msg +146 -0
- package/dot_config/goose/config.yaml +2 -2
- package/dot_config/gtk-3.0/gtk.css.tmpl +2 -2
- package/dot_config/gtk-3.0/settings.ini.tmpl +2 -2
- package/dot_config/gtk-4.0/gtk.css.tmpl +2 -2
- package/dot_config/gtk-4.0/settings.ini.tmpl +2 -2
- package/dot_config/kitty/kitty.conf.tmpl +3 -3
- package/dot_config/mise/config.toml +1 -1
- package/dot_config/niri/config.kdl.tmpl +2 -2
- package/dot_config/nushell/cached_eval.nu +80 -0
- package/dot_config/nushell/env.nu.tmpl +21 -13
- package/dot_config/shell/00-core-paths.sh.tmpl +1 -0
- package/dot_config/shell/05-core-safety.sh +1 -0
- package/dot_config/shell/10-secrets.sh +1 -0
- package/dot_config/shell/40-fzf-defaults.sh.tmpl +1 -0
- package/dot_config/shell/40-ls-colors.sh +1 -0
- package/dot_config/shell/50-logic-functions-core.sh.tmpl +1 -0
- package/dot_config/shell/50-logic-functions.sh.tmpl +1 -0
- package/dot_config/shell/51-logic-functions-extra.sh.tmpl +1 -0
- package/dot_config/shell/90-ux-aliases.sh.tmpl +1 -0
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +1 -0
- package/dot_config/shell/README.md +25 -8
- package/dot_config/starship.toml.tmpl +2 -2
- package/dot_config/tmux/tmux.conf.tmpl +3 -3
- package/dot_config/user-dirs.dirs +1 -0
- package/dot_config/vscode/settings.json.tmpl +2 -2
- package/dot_config/waybar/config.jsonc.tmpl +2 -2
- package/dot_config/waybar/style.css.tmpl +2 -2
- package/dot_config/wezterm/wezterm.lua.tmpl +3 -3
- package/dot_config/zsh/dot_zshrc.tmpl +154 -17
- package/dot_config/zsh/rc.d/00-alias-shims.zsh +28 -6
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +26 -6
- package/dot_local/bin/executable_bm +2 -0
- package/dot_local/bin/executable_dot +9 -2
- package/dot_local/bin/executable_dot-load-benchmark +1 -1
- package/dot_local/bin/executable_notify +2 -0
- package/dot_local/bin/executable_open +2 -0
- package/dot_local/bin/executable_tour +4 -2
- package/dot_local/bin/executable_up +3 -1
- package/install.sh +12 -4
- package/package.json +1 -1
- package/scripts/ci/check-dangerous-chmod.sh +19 -0
- package/scripts/ci/check-deps-dev.sh +236 -0
- package/scripts/ci/check-insecure-tls.sh +61 -0
- package/scripts/ci/check-regression-traceability.sh +67 -0
- package/scripts/ci/check-shell-preamble.sh +106 -0
- package/scripts/ci/run-coverage.sh +362 -0
- package/scripts/ci/validate-chezmoidata.sh +25 -0
- package/scripts/diagnostics/doctor.sh +173 -5
- package/scripts/diagnostics/drift-dashboard.sh +177 -13
- package/scripts/diagnostics/health.sh +21 -4
- package/scripts/diagnostics/perf.sh +304 -77
- package/scripts/diagnostics/workstation-attestation.sh +6 -1
- package/scripts/dot/commands/agent.sh +14 -5
- package/scripts/dot/commands/ai.sh +75 -10
- package/scripts/dot/lib/bento.sh +2 -1
- package/scripts/dot/lib/log.sh +6 -0
- package/scripts/dot/lib/platform.sh +1 -0
- package/scripts/dot/lib/ui.sh +11 -0
- package/scripts/dot/lib/utils.sh +5 -0
- package/scripts/git-hooks/pre-commit-audit.sh +1 -1
- package/scripts/git-hooks/pre-push +66 -3
- package/scripts/ops/heal-chezmoi.sh +41 -6
- package/scripts/qa/powershell-contract.ps1 +95 -0
- package/scripts/theme/merge-wallpaper.sh +4 -0
- package/scripts/theme/switch.sh +20 -10
- package/dot_config/atuin/config.toml +0 -40
- package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Version Synchronization System
|
|
2
6
|
|
|
3
7
|
The version synchronization system ensures that all version references across the repository remain consistent with the version specified in `package.json`.
|
|
@@ -5,7 +9,9 @@ The version synchronization system ensures that all version references across th
|
|
|
5
9
|
## Overview
|
|
6
10
|
|
|
7
11
|
### Problem Statement
|
|
12
|
+
|
|
8
13
|
Large repositories often have version numbers scattered across multiple files:
|
|
14
|
+
|
|
9
15
|
- README badges
|
|
10
16
|
- Documentation headers
|
|
11
17
|
- Feature version stamps
|
|
@@ -14,7 +20,9 @@ Large repositories often have version numbers scattered across multiple files:
|
|
|
14
20
|
Manually keeping these synchronized is error-prone and time-consuming.
|
|
15
21
|
|
|
16
22
|
### Solution Architecture
|
|
23
|
+
|
|
17
24
|
This system provides automated version synchronization through:
|
|
25
|
+
|
|
18
26
|
1. **CI/CD Workflow** (`.github/workflows/sync-versions.yml`) - Automated synchronization on version changes
|
|
19
27
|
2. **Local Script** (`scripts/version-sync.sh`) - Manual synchronization and verification
|
|
20
28
|
3. **Verification System** - Ensures all references remain consistent
|
|
@@ -26,17 +34,20 @@ This system provides automated version synchronization through:
|
|
|
26
34
|
**Location**: `.github/workflows/sync-versions.yml`
|
|
27
35
|
|
|
28
36
|
**Triggers**:
|
|
37
|
+
|
|
29
38
|
- Push to `master` branch when `package.json` changes
|
|
30
39
|
- Pull requests affecting `package.json`
|
|
31
40
|
- Manual dispatch with optional target version
|
|
32
41
|
|
|
33
42
|
**Process**:
|
|
43
|
+
|
|
34
44
|
1. **Detect Changes** - Compares current vs previous `package.json` version
|
|
35
45
|
2. **Sync Versions** - Updates all markdown files with version references
|
|
36
46
|
3. **Verify Consistency** - Ensures all references match target version
|
|
37
47
|
4. **Commit & Push** - Automatically commits changes (except on PRs)
|
|
38
48
|
|
|
39
49
|
**Features**:
|
|
50
|
+
|
|
40
51
|
- Backup creation before changes
|
|
41
52
|
- Comprehensive change reporting
|
|
42
53
|
- PR comment integration
|
|
@@ -47,6 +58,7 @@ This system provides automated version synchronization through:
|
|
|
47
58
|
**Location**: `scripts/version-sync.sh`
|
|
48
59
|
|
|
49
60
|
**Usage**:
|
|
61
|
+
|
|
50
62
|
```bash
|
|
51
63
|
# Sync to current package.json version
|
|
52
64
|
./scripts/version-sync.sh
|
|
@@ -62,6 +74,7 @@ This system provides automated version synchronization through:
|
|
|
62
74
|
```
|
|
63
75
|
|
|
64
76
|
**Options**:
|
|
77
|
+
|
|
65
78
|
- `--dry-run` - Preview changes without applying
|
|
66
79
|
- `--verify` - Check version consistency only
|
|
67
80
|
- `--backup` / `--no-backup` - Control backup creation
|
|
@@ -72,15 +85,17 @@ This system provides automated version synchronization through:
|
|
|
72
85
|
The system recognizes and updates these patterns:
|
|
73
86
|
|
|
74
87
|
#### README.md
|
|
88
|
+
|
|
75
89
|
```markdown
|
|
76
|
-
[]
|
|
77
91
|
```
|
|
78
92
|
|
|
79
93
|
#### Documentation Files
|
|
94
|
+
|
|
80
95
|
```markdown
|
|
81
|
-
**Version**: v0.2.
|
|
82
|
-
**Dotfiles Version**: v0.2.
|
|
83
|
-
Version: v0.2.
|
|
96
|
+
**Version**: v0.2.501
|
|
97
|
+
**Dotfiles Version**: v0.2.501
|
|
98
|
+
Version: v0.2.501
|
|
84
99
|
version 0.2.485
|
|
85
100
|
```
|
|
86
101
|
|
|
@@ -126,6 +141,7 @@ Version changes in `package.json` automatically trigger synchronization:
|
|
|
126
141
|
## Workflow Examples
|
|
127
142
|
|
|
128
143
|
### Scenario 1: Version Bump
|
|
144
|
+
|
|
129
145
|
```bash
|
|
130
146
|
# Developer updates package.json version
|
|
131
147
|
npm version patch
|
|
@@ -141,6 +157,7 @@ git push origin master
|
|
|
141
157
|
```
|
|
142
158
|
|
|
143
159
|
### Scenario 2: PR Review
|
|
160
|
+
|
|
144
161
|
```bash
|
|
145
162
|
# PR with package.json changes
|
|
146
163
|
# GitHub Actions automatically:
|
|
@@ -151,6 +168,7 @@ git push origin master
|
|
|
151
168
|
```
|
|
152
169
|
|
|
153
170
|
### Scenario 3: Manual Sync
|
|
171
|
+
|
|
154
172
|
```bash
|
|
155
173
|
# Local development
|
|
156
174
|
./scripts/version-sync.sh --dry-run # Preview changes
|
|
@@ -161,19 +179,25 @@ git push origin master
|
|
|
161
179
|
## File Detection Logic
|
|
162
180
|
|
|
163
181
|
### Automatic Discovery
|
|
182
|
+
|
|
164
183
|
The system automatically discovers files containing version references:
|
|
184
|
+
|
|
165
185
|
```bash
|
|
166
186
|
rg -l "v?[0-9]+\.[0-9]+\.[0-9]+" --type md
|
|
167
187
|
```
|
|
168
188
|
|
|
169
189
|
### Known Files
|
|
190
|
+
|
|
170
191
|
These files are always included even if they don't currently contain versions:
|
|
192
|
+
|
|
171
193
|
- `README.md`
|
|
172
194
|
- `docs/reference/FEATURES.md`
|
|
173
195
|
- Any file matching version patterns
|
|
174
196
|
|
|
175
197
|
### Exclusions
|
|
198
|
+
|
|
176
199
|
Files that are intentionally excluded:
|
|
200
|
+
|
|
177
201
|
- `CHANGELOG.md` - May contain historical versions
|
|
178
202
|
- `package.json` - Source of truth
|
|
179
203
|
- `docs/security/COMPLIANCE.md` - Includes external compliance spec versions
|
|
@@ -191,26 +215,33 @@ Files that are intentionally excluded:
|
|
|
191
215
|
### Common Issues
|
|
192
216
|
|
|
193
217
|
#### Version Mismatch
|
|
218
|
+
|
|
194
219
|
```text
|
|
195
220
|
❌ Found inconsistent release in docs/reference/FEATURES.md: vX.Y.Z (expected: vA.B.C)
|
|
196
221
|
```
|
|
222
|
+
|
|
197
223
|
**Solution**: Run `./scripts/version-sync.sh` to fix
|
|
198
224
|
|
|
199
225
|
#### Missing Dependencies
|
|
226
|
+
|
|
200
227
|
```text
|
|
201
228
|
❌ jq is required but not installed
|
|
202
229
|
```
|
|
230
|
+
|
|
203
231
|
**Solution**: Install dependencies (`jq`, `rg`)
|
|
204
232
|
|
|
205
233
|
#### Permission Issues
|
|
234
|
+
|
|
206
235
|
```text
|
|
207
236
|
❌ Permission denied writing to README.md
|
|
208
237
|
```
|
|
238
|
+
|
|
209
239
|
**Solution**: Check file permissions and Git status
|
|
210
240
|
|
|
211
241
|
### Recovery Procedures
|
|
212
242
|
|
|
213
243
|
#### Rollback Changes
|
|
244
|
+
|
|
214
245
|
```bash
|
|
215
246
|
# Restore from backup
|
|
216
247
|
cp .version-sync-backup/README.md.*.backup README.md
|
|
@@ -220,6 +251,7 @@ git checkout HEAD~1 -- README.md
|
|
|
220
251
|
```
|
|
221
252
|
|
|
222
253
|
#### Force Resync
|
|
254
|
+
|
|
223
255
|
```bash
|
|
224
256
|
./scripts/version-sync.sh --force
|
|
225
257
|
```
|
|
@@ -227,19 +259,23 @@ git checkout HEAD~1 -- README.md
|
|
|
227
259
|
## Monitoring & Maintenance
|
|
228
260
|
|
|
229
261
|
### Health Checks
|
|
262
|
+
|
|
230
263
|
```bash
|
|
231
264
|
# Daily verification (add to cron)
|
|
232
265
|
./scripts/version-sync.sh --verify || echo "Version drift detected"
|
|
233
266
|
```
|
|
234
267
|
|
|
235
268
|
### Metrics Tracking
|
|
269
|
+
|
|
236
270
|
The GitHub Actions workflow provides metrics:
|
|
271
|
+
|
|
237
272
|
- Files scanned
|
|
238
273
|
- Files updated
|
|
239
274
|
- Verification status
|
|
240
275
|
- Processing time
|
|
241
276
|
|
|
242
277
|
### Backup Strategy
|
|
278
|
+
|
|
243
279
|
- Local backups in `.version-sync-backup/`
|
|
244
280
|
- GitHub Actions artifacts (30-day retention)
|
|
245
281
|
- Git history for rollback
|
|
@@ -247,6 +283,7 @@ The GitHub Actions workflow provides metrics:
|
|
|
247
283
|
## Security Considerations
|
|
248
284
|
|
|
249
285
|
### Token Permissions
|
|
286
|
+
|
|
250
287
|
```yaml
|
|
251
288
|
permissions:
|
|
252
289
|
contents: write # Required for commits
|
|
@@ -254,11 +291,13 @@ permissions:
|
|
|
254
291
|
```
|
|
255
292
|
|
|
256
293
|
### Validation
|
|
294
|
+
|
|
257
295
|
- Version format validation (`x.y.z` pattern)
|
|
258
296
|
- File path validation (no directory traversal)
|
|
259
297
|
- Change verification before commit
|
|
260
298
|
|
|
261
299
|
### Audit Trail
|
|
300
|
+
|
|
262
301
|
- All changes logged in Git history
|
|
263
302
|
- GitHub Actions run history
|
|
264
303
|
- Backup preservation
|
|
@@ -266,16 +305,19 @@ permissions:
|
|
|
266
305
|
## Performance Optimization
|
|
267
306
|
|
|
268
307
|
### Caching Strategy
|
|
308
|
+
|
|
269
309
|
- Git operations use shallow fetch when possible
|
|
270
310
|
- Pattern compilation cached
|
|
271
311
|
- File discovery optimized with `ripgrep`
|
|
272
312
|
|
|
273
313
|
### Parallel Processing
|
|
314
|
+
|
|
274
315
|
- File processing is sequential but optimized
|
|
275
316
|
- Git operations batched
|
|
276
317
|
- Verification runs concurrently with updates
|
|
277
318
|
|
|
278
319
|
### Resource Usage
|
|
320
|
+
|
|
279
321
|
- Typical run time: 30-60 seconds
|
|
280
322
|
- Memory usage: <100MB
|
|
281
323
|
- Network usage: Minimal (only Git operations)
|
|
@@ -283,6 +325,7 @@ permissions:
|
|
|
283
325
|
## Future Enhancements
|
|
284
326
|
|
|
285
327
|
### Planned Features
|
|
328
|
+
|
|
286
329
|
1. **Smart Version Detection** - Semantic version awareness
|
|
287
330
|
2. **Template Support** - Custom version patterns
|
|
288
331
|
3. **Multi-Format Support** - YAML, JSON, TOML files
|
|
@@ -290,6 +333,7 @@ permissions:
|
|
|
290
333
|
5. **Integration Testing** - End-to-end workflow tests
|
|
291
334
|
|
|
292
335
|
### Extension Points
|
|
336
|
+
|
|
293
337
|
- Custom pattern definitions
|
|
294
338
|
- File-specific update rules
|
|
295
339
|
- Pre/post-sync hooks
|
|
@@ -298,12 +342,14 @@ permissions:
|
|
|
298
342
|
## Troubleshooting
|
|
299
343
|
|
|
300
344
|
### Debug Mode
|
|
345
|
+
|
|
301
346
|
```bash
|
|
302
347
|
# Enable verbose output
|
|
303
348
|
DEBUG=1 ./scripts/version-sync.sh --dry-run
|
|
304
349
|
```
|
|
305
350
|
|
|
306
351
|
### Common Solutions
|
|
352
|
+
|
|
307
353
|
| Issue | Solution |
|
|
308
354
|
|-------|----------|
|
|
309
355
|
| Script not executable | `chmod +x scripts/version-sync.sh` |
|
|
@@ -313,6 +359,7 @@ DEBUG=1 ./scripts/version-sync.sh --dry-run
|
|
|
313
359
|
| Changes not committed | Check branch protection rules |
|
|
314
360
|
|
|
315
361
|
### Log Analysis
|
|
362
|
+
|
|
316
363
|
```bash
|
|
317
364
|
# View GitHub Actions logs
|
|
318
365
|
gh run list --workflow=sync-versions.yml
|
|
@@ -322,6 +369,7 @@ gh run view <run-id> --log
|
|
|
322
369
|
## Contributing
|
|
323
370
|
|
|
324
371
|
### Testing Changes
|
|
372
|
+
|
|
325
373
|
```bash
|
|
326
374
|
# Test local changes
|
|
327
375
|
./scripts/version-sync.sh --dry-run
|
|
@@ -331,6 +379,7 @@ gh workflow run sync-versions.yml --ref feature-branch
|
|
|
331
379
|
```
|
|
332
380
|
|
|
333
381
|
### Adding New Patterns
|
|
382
|
+
|
|
334
383
|
1. Update pattern regex in script
|
|
335
384
|
2. Add test cases
|
|
336
385
|
3. Update documentation
|
|
@@ -339,6 +388,6 @@ gh workflow run sync-versions.yml --ref feature-branch
|
|
|
339
388
|
---
|
|
340
389
|
|
|
341
390
|
**Last Updated**: 2026-02-15
|
|
342
|
-
**Version**: v0.2.
|
|
391
|
+
**Version**: v0.2.501
|
|
343
392
|
**Maintainer**: Principal Automation Engineer
|
|
344
393
|
**Status**: Production Ready ✅
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Aliases
|
|
2
6
|
|
|
3
7
|
Shell aliases provided by the dotfiles, organized by category in `~/.dotfiles/.chezmoitemplates/aliases/`.
|
|
@@ -107,11 +111,13 @@ Shell aliases provided by the dotfiles, organized by category in `~/.dotfiles/.c
|
|
|
107
111
|
## Adding custom aliases
|
|
108
112
|
|
|
109
113
|
1. Create a new file in the appropriate category:
|
|
114
|
+
|
|
110
115
|
```bash
|
|
111
116
|
vim ~/.dotfiles/.chezmoitemplates/aliases/mycategory/mycategory.aliases.sh
|
|
112
117
|
```
|
|
113
118
|
|
|
114
119
|
2. Define your aliases:
|
|
120
|
+
|
|
115
121
|
```bash
|
|
116
122
|
# shellcheck shell=bash
|
|
117
123
|
# My Custom Aliases
|
|
@@ -119,6 +125,7 @@ Shell aliases provided by the dotfiles, organized by category in `~/.dotfiles/.c
|
|
|
119
125
|
```
|
|
120
126
|
|
|
121
127
|
3. Apply changes:
|
|
128
|
+
|
|
122
129
|
```bash
|
|
123
130
|
chezmoi apply
|
|
124
131
|
```
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Alias Cheatsheet
|
|
2
6
|
|
|
3
7
|
Auto-generated from the alias manifest.
|
|
@@ -10,7 +14,7 @@ Auto-generated from the alias manifest.
|
|
|
10
14
|
| `q` | `quit` |
|
|
11
15
|
| `e` | `${EDITOR:-nano}` |
|
|
12
16
|
| `h` | `history` |
|
|
13
|
-
| `_` | `sudo
|
|
17
|
+
| `_` | `sudo` |
|
|
14
18
|
| `i` | `epoch` |
|
|
15
19
|
| `l` | `dot_ls` |
|
|
16
20
|
| `ll` | `dot_ll` |
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Alias Deprecations
|
|
2
6
|
|
|
3
7
|
This file tracks aliases that we've kept temporarily for backwards compatibility.
|
|
4
8
|
|
|
5
9
|
| Alias | Replacement | Remove In | Note |
|
|
6
10
|
|-------|-------------|-----------|------|
|
|
7
|
-
| `dlogsf` | `dklf` | `v0.2.
|
|
11
|
+
| `dlogsf` | `dklf` | `v0.2.501` | Removed duplicate logs-follow alias |
|
|
8
12
|
|
|
9
13
|
Use `dot aliases why <alias>` to check deprecation status from the CLI.
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Feature Flags Reference
|
|
2
6
|
|
|
3
7
|
Feature flags let you turn parts of the dotfiles on or off. All flags live in `.chezmoidata.toml` under `[features]`. Set a flag to `true` to enable it, or `false` to disable it. Changes take effect after you run `dot apply`.
|
package/docs/reference/FONTS.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Support Matrix
|
|
2
6
|
|
|
3
7
|
Tested platform and tool combinations for the dotfiles distribution.
|
|
@@ -31,10 +35,12 @@ Tested platform and tool combinations for the dotfiles distribution.
|
|
|
31
35
|
| Terminal | Status | Notes |
|
|
32
36
|
|----------|--------|-------|
|
|
33
37
|
| Ghostty | Supported | Primary, custom config in `dot_config/ghostty/` |
|
|
34
|
-
| iTerm2 | Supported | macOS
|
|
35
|
-
| Alacritty | Supported |
|
|
36
|
-
| Kitty | Supported |
|
|
37
|
-
| WezTerm | Supported |
|
|
38
|
+
| iTerm2 | Supported | macOS only; auto-installed Dynamic Profile via `run_onchange_22-iterm2-profile.sh.tmpl` (pick "dotfiles" profile in iTerm2) |
|
|
39
|
+
| Alacritty | Supported | Theme-driven, config in `dot_config/alacritty/` |
|
|
40
|
+
| Kitty | Supported | Theme-driven, config in `dot_config/kitty/` |
|
|
41
|
+
| WezTerm | Supported | Theme-driven, config in `dot_config/wezterm/` |
|
|
42
|
+
| Foot | Supported | Linux/Wayland, gated by `features.foot`, config in `dot_config/foot/` |
|
|
43
|
+
| Warp | Supported | Theme-driven, deploys to `~/.warp/themes/dotfiles.yaml`; pick "dotfiles" in Warp Settings → Appearance → Themes |
|
|
38
44
|
| Windows Terminal | Supported | WSL2 profile |
|
|
39
45
|
| tmux | Supported | Config in `dot_config/tmux/` |
|
|
40
46
|
|
package/docs/reference/THEMES.md
CHANGED
package/docs/reference/TOOLS.md
CHANGED
package/docs/reference/UTILS.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Utilities
|
|
2
6
|
|
|
3
7
|
Aliases, functions, and the `dot` CLI provide day-to-day tooling across macOS, Linux, and WSL.
|
|
@@ -34,31 +38,31 @@ The `dot` command is the main interface for managing dotfiles. Run `dot version`
|
|
|
34
38
|
|
|
35
39
|
| Command | Description |
|
|
36
40
|
|---------|-------------|
|
|
37
|
-
| `dot doctor` | Run system health checks (`--score
|
|
38
|
-
| `dot health` | Run the health dashboard (`--verbose
|
|
39
|
-
| `dot heal` | Auto-repair missing tools, chezmoi drift, broken symlinks, and critical files (`--dry-run
|
|
41
|
+
| `dot doctor` | Run system health checks (`--score/-s`,`--heal/-H`) |
|
|
42
|
+
| `dot health` | Run the health dashboard (`--verbose/-v`,`--json/-j`,`--fix/-f`,`--force/-F`) |
|
|
43
|
+
| `dot heal` | Auto-repair missing tools, chezmoi drift, broken symlinks, and critical files (`--dry-run/-n`,`--force/-f`) |
|
|
40
44
|
| `dot smoke-test` | Verify toolchains (Rust, Go, AI CLIs) |
|
|
41
|
-
| `dot verify` | Run security and integrity verification (`--security
|
|
45
|
+
| `dot verify` | Run security and integrity verification (`--security/-s`) |
|
|
42
46
|
| `dot chaos` | Simulate config corruption to test self-healing |
|
|
43
47
|
| `dot rollback` | Roll back dotfiles to the previous known-good state |
|
|
44
48
|
| `dot drift` | Detailed configuration drift dashboard |
|
|
45
|
-
| `dot benchmark` | Measure shell startup time (`--detailed
|
|
46
|
-
| `dot perf` | Show performance mode + quick timing (`--json
|
|
49
|
+
| `dot benchmark` | Measure shell startup time (`--detailed/-d`,`--profile/-p`,`--compare/-c`,`--waterfall/-w`) |
|
|
50
|
+
| `dot perf` | Show performance mode + quick timing (`--json/-j`,`--profile/-p`,`--runs/-r`,`--target/-t`) |
|
|
47
51
|
| `dot score` | Show the high-level system health and security scorecard |
|
|
48
52
|
| `dot metrics` | Show recent observability metrics |
|
|
49
53
|
| `dot load-bench` | Measure heavy-layer readiness |
|
|
50
|
-
| `dot mcp` | Validate MCP policy and registry (`--strict
|
|
51
|
-
| `dot attest` | Export workstation evidence (`--json
|
|
54
|
+
| `dot mcp` | Validate MCP policy and registry (`--strict/-s`,`--json/-j`) |
|
|
55
|
+
| `dot attest` | Export workstation evidence (`--json/-j`,`--write/-w`,`--fleet-store/-F`) |
|
|
52
56
|
| `dot history` | Analyse shell history |
|
|
53
|
-
| `dot security-score` | Score workstation security (`--verbose
|
|
54
|
-
| `dot snapshot` | Capture workstation state (`--baseline
|
|
57
|
+
| `dot security-score` | Score workstation security (`--verbose/-v`,`--quiet/-q`,`--json/-j`) |
|
|
58
|
+
| `dot snapshot` | Capture workstation state (`--baseline/-b`,`--force/-f`) |
|
|
55
59
|
| `dot ai` | Show categorized AI CLI status and launch an installed provider |
|
|
56
60
|
| `dot ai-setup` | Bootstrap supported AI CLIs interactively |
|
|
57
61
|
| `dot ai-query` | Run context-aware AI queries over the repo |
|
|
58
62
|
| `dot mode` | Show or switch the active agent profile |
|
|
59
63
|
| `dot agent` | Inspect agent metadata, logs, checkpoints, and conformance |
|
|
60
64
|
| `dot agent checkpoint` | Save, list, show, and replay bounded agent checkpoints |
|
|
61
|
-
| `dot agent conformance` | Validate A2A discovery and agent card conformance (`--strict
|
|
65
|
+
| `dot agent conformance` | Validate A2A discovery and agent card conformance (`--strict/-s`,`--json/-j`) |
|
|
62
66
|
|
|
63
67
|
### Tools
|
|
64
68
|
|
|
@@ -74,7 +78,7 @@ The `dot` command is the main interface for managing dotfiles. Run `dot version`
|
|
|
74
78
|
| `dot learn` | Start the guided onboarding tour |
|
|
75
79
|
| `dot docs` | Show the main repository documentation |
|
|
76
80
|
| `dot log-rotate` | Rotate `~/.local/share/dotfiles.log` |
|
|
77
|
-
| `dot lint` | Lint shell scripts (`--check
|
|
81
|
+
| `dot lint` | Lint shell scripts (`--check/-c`,`--fix/-f`) |
|
|
78
82
|
|
|
79
83
|
## Universal Scripts
|
|
80
84
|
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Pre-Push Audit Bypass
|
|
6
|
+
|
|
7
|
+
This page documents when the pre-push reliability audit can be bypassed,
|
|
8
|
+
how to do it, and why the answer is "almost never on `master`."
|
|
9
|
+
|
|
10
|
+
## Background
|
|
11
|
+
|
|
12
|
+
`scripts/git-hooks/pre-push` runs two checks on every push:
|
|
13
|
+
|
|
14
|
+
1. **Signed-commit verification** — every commit being pushed must have
|
|
15
|
+
a valid GPG/SSH signature. No bypass is available; an unsigned
|
|
16
|
+
commit is refused unconditionally.
|
|
17
|
+
|
|
18
|
+
2. **Reliability audit** — `scripts/qa/reliability-audit.sh --quick`
|
|
19
|
+
runs a fast subset of the test suite + lint checks. This is the
|
|
20
|
+
step that can be bypassed.
|
|
21
|
+
|
|
22
|
+
Before issue #871 the audit was opt-out: `DOTFILES_SKIP_PRE_PUSH_AUDIT=1`
|
|
23
|
+
in your shell rc would silently skip every push's audit. Bypass was
|
|
24
|
+
invisible, persistent, and one keystroke away. That's the wrong default.
|
|
25
|
+
|
|
26
|
+
## The new policy
|
|
27
|
+
|
|
28
|
+
Effective with #871 and the corresponding commit on this branch:
|
|
29
|
+
|
|
30
|
+
- The audit **always runs by default**. Missing env var → audit runs.
|
|
31
|
+
- Bypass requires `DOTFILES_ALLOW_UNSKIPPED_PUSH=1` set inline for the
|
|
32
|
+
one push you want to bypass (not exported in your shell rc).
|
|
33
|
+
- The legacy `DOTFILES_SKIP_PRE_PUSH_AUDIT=1` is **rejected** with a
|
|
34
|
+
migration message; the hook exits non-zero if it sees the old var.
|
|
35
|
+
- Every bypass is appended to
|
|
36
|
+
`${XDG_STATE_HOME:-~/.local/state}/dotfiles/audit-bypass.log` with
|
|
37
|
+
timestamp, branch, remote, and reason.
|
|
38
|
+
- `dot doctor` reports the count of bypasses in the last 7 days.
|
|
39
|
+
|
|
40
|
+
The new variable name is deliberately awkward
|
|
41
|
+
(`DOTFILES_ALLOW_UNSKIPPED_PUSH`) — it should not feel like a routine
|
|
42
|
+
flag. Setting it should require a moment's thought.
|
|
43
|
+
|
|
44
|
+
## How to bypass for a single push
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
DOTFILES_ALLOW_UNSKIPPED_PUSH=1 \
|
|
48
|
+
DOTFILES_BYPASS_REASON='hotfix: CI is wedged on flake' \
|
|
49
|
+
git push origin hotfix/my-branch
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The reason string is optional but encouraged. It lands in the audit log
|
|
53
|
+
so `dot doctor` and any future review can answer "why was this
|
|
54
|
+
bypassed?" without git archaeology.
|
|
55
|
+
|
|
56
|
+
## When bypass is legitimate
|
|
57
|
+
|
|
58
|
+
Short list — anything outside this is suspicious:
|
|
59
|
+
|
|
60
|
+
- **Hotfix push to a non-master branch** when CI infrastructure itself
|
|
61
|
+
is the audit blocker (e.g., the audit pre-flight depends on a remote
|
|
62
|
+
service that's down). The fix should land *before* the
|
|
63
|
+
infrastructure recovers; bypass is the bridge.
|
|
64
|
+
- **Force-push of a tag rewind** that doesn't introduce new commits
|
|
65
|
+
(rare).
|
|
66
|
+
|
|
67
|
+
When bypass is **not** legitimate:
|
|
68
|
+
|
|
69
|
+
- Routine `master` pushes. The whole point of the audit is to guard
|
|
70
|
+
the protected branch.
|
|
71
|
+
- Pushes whose audit failure is "annoying" — the right move is to fix
|
|
72
|
+
the failure, not skip the check.
|
|
73
|
+
- CI environments. CI should run the audit explicitly, never bypass
|
|
74
|
+
it; if a CI job pushes, the env var must remain unset there.
|
|
75
|
+
|
|
76
|
+
## Verifying current state
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
dot doctor # surfaces recent bypasses
|
|
80
|
+
cat ${XDG_STATE_HOME:-~/.local/state}/dotfiles/audit-bypass.log
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Each line of the log is tab-separated:
|
|
84
|
+
`ISO8601-timestamp \t branch=... \t remote=... \t reason=...`.
|
|
85
|
+
|
|
86
|
+
## Disabling bypass entirely
|
|
87
|
+
|
|
88
|
+
If your machine should *never* bypass (e.g., a release runner), unset
|
|
89
|
+
the env var in your shell rc and add a guard to your `.zshenv` or
|
|
90
|
+
equivalent:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
unset DOTFILES_ALLOW_UNSKIPPED_PUSH
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
There's no way to permanently grant bypass — that's intentional.
|
|
97
|
+
|
|
98
|
+
## References
|
|
99
|
+
|
|
100
|
+
- `scripts/git-hooks/pre-push` — the hook itself
|
|
101
|
+
- `scripts/diagnostics/doctor.sh` — the "Pre-Push Audit Bypass" section
|
|
102
|
+
- `tests/unit/security/test_pre_push_bypass.sh` — regression test
|
|
103
|
+
- Issue #871
|