@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
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
render_with_liquid: false
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Command Index
|
|
6
|
-
|
|
7
|
-
Generated from `dot help all`. To refresh after adding or renaming
|
|
8
|
-
a subcommand, run `tools/docs/generate-command-index.sh`. The CI
|
|
9
|
-
job `lint/command-index` fails when this file is stale.
|
|
10
|
-
|
|
11
|
-
| Command | Summary |
|
|
12
|
-
|---------|---------|
|
|
13
|
-
| `dot add` | Add a file to chezmoi source |
|
|
14
|
-
| `dot agent` | Profile-aware execution, agent card, a2a-card, session log, checkpoints, and conformance |
|
|
15
|
-
| `dot agent` | a2a-card Show or validate the A2A v0.3 agent card |
|
|
16
|
-
| `dot agent` | card Show the local agent card metadata |
|
|
17
|
-
| `dot agent` | checkpoint Manage agent run checkpoints (save/list/show/replay) |
|
|
18
|
-
| `dot agent` | conformance Run the A2A conformance test suite |
|
|
19
|
-
| `dot agent` | delegate Delegate execution to an allowed sub-agent |
|
|
20
|
-
| `dot agent` | log Tail the agent session audit log |
|
|
21
|
-
| `dot agents` | check Verify AGENTS.md tracks CLAUDE.md (exit 1 if drifted) |
|
|
22
|
-
| `dot agents` | list Show recognised AI agent harnesses and their config paths |
|
|
23
|
-
| `dot agents` | render Regenerate AGENTS.md and per-harness config from CLAUDE.md |
|
|
24
|
-
| `dot agy` | Antigravity CLI with context patterns |
|
|
25
|
-
| `dot ai` | AI fleet cockpit, gateway, and cost |
|
|
26
|
-
| `dot ai` | ask Context-aware RAG query over your dotfiles |
|
|
27
|
-
| `dot ai` | chat Start an interactive AI session with a chosen tool |
|
|
28
|
-
| `dot ai` | cost Report AI spend across every provider from the unified run log |
|
|
29
|
-
| `dot ai` | delegate Delegate a coding task to a cheaper AI model under agent policy |
|
|
30
|
-
| `dot ai` | doctor Diagnose AI tooling configuration and connectivity |
|
|
31
|
-
| `dot ai` | install Install AI CLI tools via mise/native installers |
|
|
32
|
-
| `dot ai` | login Interactive setup/authentication for installed AI CLI tools |
|
|
33
|
-
| `dot ai` | run Run a one-shot prompt with an AI tool |
|
|
34
|
-
| `dot ai` | serve Run the local AI gateway/proxy that routes non-Claude providers |
|
|
35
|
-
| `dot ai` | tools Show installed AI CLI tools and their versions |
|
|
36
|
-
| `dot ai-query` | Context-aware RAG query over your dotfiles |
|
|
37
|
-
| `dot ai-setup` | Interactive setup for all AI CLI tools |
|
|
38
|
-
| `dot aider` | Aider with context patterns |
|
|
39
|
-
| `dot aliases` | cheatsheet Generate the alias cheatsheet markdown |
|
|
40
|
-
| `dot aliases` | list List all shell aliases shipped by the dotfiles |
|
|
41
|
-
| `dot aliases` | search Search aliases by term |
|
|
42
|
-
| `dot aliases` | stats Show alias usage counts from shell history |
|
|
43
|
-
| `dot aliases` | tiers Show which alias tiers/ecosystems are enabled |
|
|
44
|
-
| `dot aliases` | why Show details and deprecation status for a single alias |
|
|
45
|
-
| `dot attest` | Export workstation attestation evidence (--json |
|
|
46
|
-
| `dot backup` | Create a compressed backup of your home |
|
|
47
|
-
| `dot bundle` | Create offline archive of dotfiles environment |
|
|
48
|
-
| `dot cache-refresh` | Regenerate shell caches for ultra-fast startup |
|
|
49
|
-
| `dot cd` | Print source directory path (use: cd $(dot cd)) |
|
|
50
|
-
| `dot chaos` | Simulate config corruption to test self-healing |
|
|
51
|
-
| `dot cl` | Claude CLI with context patterns |
|
|
52
|
-
| `dot commit` | AI-powered conventional commit |
|
|
53
|
-
| `dot completion` | Generate shell completions (bash/zsh/fish/nu) from the command registry |
|
|
54
|
-
| `dot copilot` | GitHub Copilot CLI with context patterns |
|
|
55
|
-
| `dot diff` | Show chezmoi diff with exclusions |
|
|
56
|
-
| `dot dns-doh` | Enable DNS-over-HTTPS [macOS,Linux] |
|
|
57
|
-
| `dot docs` | Show repo README |
|
|
58
|
-
| `dot doctor` | Deep audit: tools, paths, portability, AI analysis (--ai |
|
|
59
|
-
| `dot edit` | Open chezmoi source in $EDITOR |
|
|
60
|
-
| `dot encrypt-check` | Check disk encryption status |
|
|
61
|
-
| `dot env` | Tool versions (mise) |
|
|
62
|
-
| `dot env` | emit Emit a portable workstation environment manifest (SBOM; --format json) |
|
|
63
|
-
| `dot env` | install Install requested tool versions via mise |
|
|
64
|
-
| `dot env` | list List managed tool versions via mise |
|
|
65
|
-
| `dot env` | prune Show or remove orphan tool installs (--yes to commit) |
|
|
66
|
-
| `dot env` | use Pin a tool version globally/locally via mise |
|
|
67
|
-
| `dot firewall` | Apply firewall hardening [macOS,Linux] |
|
|
68
|
-
| `dot fleet` | Show fleet node status, drift, and namespace (--json for machine output) |
|
|
69
|
-
| `dot fleet` | apply SSH to every host in fleet.toml and run dot sync (or a custom --cmd) |
|
|
70
|
-
| `dot fleet` | drift Check for configuration drift across managed files |
|
|
71
|
-
| `dot fleet` | enforce Show or set RBAC enforcement mode (advisory/strict) for agent profiles |
|
|
72
|
-
| `dot fleet` | events Show recent fleet events from local event log |
|
|
73
|
-
| `dot fleet` | namespace Show or set the active namespace for multi-tenant isolation |
|
|
74
|
-
| `dot fleet` | status Show this node's fleet status: id, namespace, version, OS, drift, last apply |
|
|
75
|
-
| `dot fonts` | Install (default) or patch Nerd Fonts (JetBrainsMono by default) |
|
|
76
|
-
| `dot help` | Show this help message |
|
|
77
|
-
| `dot history` | Shell history analysis |
|
|
78
|
-
| `dot keys` | Keybindings (sign-check: verify git signing) |
|
|
79
|
-
| `dot keys` | sign-check Verify git commit-signing configuration and key availability |
|
|
80
|
-
| `dot kimi` | Kimi CLI with context patterns |
|
|
81
|
-
| `dot kiro` | Kiro CLI with context patterns |
|
|
82
|
-
| `dot learn` | Start the interactive tour of your new tools |
|
|
83
|
-
| `dot lint` | Lint shell scripts (--fix |
|
|
84
|
-
| `dot load-bench` | Measure time to heavy-layer readiness |
|
|
85
|
-
| `dot lock-screen` | Enforce lock screen idle settings [Linux] |
|
|
86
|
-
| `dot mcp` | Inspect MCP policy, supply chain, and registry |
|
|
87
|
-
| `dot mcp` | doctor Run the MCP policy/supply-chain/config audit |
|
|
88
|
-
| `dot mcp` | registry Show the configured MCP server registry |
|
|
89
|
-
| `dot metrics` | Show recent observability metrics (JSONL) |
|
|
90
|
-
| `dot mode` | Set or inspect agent operating profiles (ask/plan/apply/audit) |
|
|
91
|
-
| `dot mode` | current Show the active agent profile and its policy |
|
|
92
|
-
| `dot mode` | doctor Validate the agent-profiles.json config and default profile |
|
|
93
|
-
| `dot mode` | list List available agent operating profiles (ask/plan/apply/audit) |
|
|
94
|
-
| `dot mode` | run Run a command under a given agent profile with a checkpoint |
|
|
95
|
-
| `dot mode` | set Switch the active agent profile |
|
|
96
|
-
| `dot mode` | show Show details of a specific agent profile |
|
|
97
|
-
| `dot new` | Create a new project from a template |
|
|
98
|
-
| `dot ollama` | Ollama with context patterns |
|
|
99
|
-
| `dot opencode` | OpenCode with context patterns |
|
|
100
|
-
| `dot packages` | List installed packages and package managers |
|
|
101
|
-
| `dot patterns` | edit Edit an AI steering pattern in $EDITOR |
|
|
102
|
-
| `dot patterns` | list List AI steering patterns |
|
|
103
|
-
| `dot patterns` | view View an AI steering pattern |
|
|
104
|
-
| `dot perf` | Show performance mode and quick timing |
|
|
105
|
-
| `dot policy` | Check and enforce security policies across the environment |
|
|
106
|
-
| `dot profile` | Show/switch configuration profile |
|
|
107
|
-
| `dot profile` | set Set the active configuration profile (run dot sync to apply) |
|
|
108
|
-
| `dot profile` | show Show the active configuration profile and feature flags |
|
|
109
|
-
| `dot registry` | info Print full metadata for a registry module |
|
|
110
|
-
| `dot registry` | install Install a registry module (scaffold) |
|
|
111
|
-
| `dot registry` | list List modules in the configured module registry |
|
|
112
|
-
| `dot registry` | search Filter registry modules by keyword |
|
|
113
|
-
| `dot registry` | set-url Override the registry URL (https only; persists) |
|
|
114
|
-
| `dot registry` | url Show the active registry URL |
|
|
115
|
-
| `dot rollback` | Rollback dotfiles to a previous state |
|
|
116
|
-
| `dot sandbox` | Launch a safe sandbox preview (Docker/Podman) |
|
|
117
|
-
| `dot score` | System health and security scorecard |
|
|
118
|
-
| `dot search` | Find commands by keyword |
|
|
119
|
-
| `dot secret-audit` | Audit secret hygiene and leakage surface |
|
|
120
|
-
| `dot secrets` | Edit encrypted secrets (age) |
|
|
121
|
-
| `dot secrets` | edit Edit the encrypted secrets file (age) |
|
|
122
|
-
| `dot secrets` | get Retrieve a secret value (--raw for plaintext) |
|
|
123
|
-
| `dot secrets` | list List indexed secret keys |
|
|
124
|
-
| `dot secrets` | load Emit export lines for a secrets bucket (use with eval) |
|
|
125
|
-
| `dot secrets` | provider Show the active secrets provider |
|
|
126
|
-
| `dot secrets` | set Store a secret value under a key |
|
|
127
|
-
| `dot secrets-create` | Create an encrypted secrets file |
|
|
128
|
-
| `dot secrets-init` | Initialize age key for secrets |
|
|
129
|
-
| `dot sgpt` | Shell-GPT with context patterns |
|
|
130
|
-
| `dot snapshot` | Capture baseline system snapshot |
|
|
131
|
-
| `dot ssh-cert` | Manage short-lived SSH certificates |
|
|
132
|
-
| `dot ssh-key` | Encrypt an SSH key locally with age |
|
|
133
|
-
| `dot status` | Show configuration drift (chezmoi status) |
|
|
134
|
-
| `dot sync` | Apply dotfiles (alias for apply; --pull to fetch, --check to preview) |
|
|
135
|
-
| `dot telemetry` | Disable OS telemetry [macOS,Linux] |
|
|
136
|
-
| `dot teleport` | Deploy the dotfiles environment to a remote host over SSH |
|
|
137
|
-
| `dot theme` | Switch terminal theme (dark/light) |
|
|
138
|
-
| `dot theme` | current Show the current theme info |
|
|
139
|
-
| `dot theme` | family Cycle between theme families |
|
|
140
|
-
| `dot theme` | list Show all available terminal/wallpaper themes |
|
|
141
|
-
| `dot theme` | rebuild Regenerate themes from system and custom wallpapers |
|
|
142
|
-
| `dot theme` | set Set a theme by name (interactive picker if omitted) |
|
|
143
|
-
| `dot theme` | sync Sync the dotfiles theme with system dark/light mode |
|
|
144
|
-
| `dot theme` | toggle Toggle light/dark within the current theme family |
|
|
145
|
-
| `dot tools` | Show or install nix packages |
|
|
146
|
-
| `dot tools` | docs Show the full tools markdown documentation |
|
|
147
|
-
| `dot tools` | install Enter the Nix development shell with all managed tools |
|
|
148
|
-
| `dot tune` | Apply OS tuning (opt-in) [macOS,Linux] |
|
|
149
|
-
| `dot uninstall` | Remove the managed dotfiles environment (prompts unless --force) |
|
|
150
|
-
| `dot upgrade` | Update system toolchains, plugins, and dotfiles |
|
|
151
|
-
| `dot usb-safety` | Disable automount for removable media [Linux] |
|
|
152
|
-
| `dot version` | Show version information. |
|
|
153
|
-
| `dot wallpaper` | Apply a wallpaper from your library [macOS,Linux] |
|
|
154
|
-
| `dot wallpaper` | rotate Rotate to the next wallpaper in your library |
|
|
155
|
-
| `dot wallpaper` | sync Sync wallpaper from your library |
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
render_with_liquid: false
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Concept Index
|
|
6
|
-
|
|
7
|
-
Alphabetical list of concepts covered in the manual.
|
|
8
|
-
|
|
9
|
-
- Accessibility
|
|
10
|
-
- Adding a New Flag
|
|
11
|
-
- Agent Policy Enforcement
|
|
12
|
-
- AI & Agents
|
|
13
|
-
- Algorithms
|
|
14
|
-
- Apply / Sync
|
|
15
|
-
- Attestation
|
|
16
|
-
- Author
|
|
17
|
-
- Auto-Populated
|
|
18
|
-
- Bibliography
|
|
19
|
-
- Build Artifacts
|
|
20
|
-
- Built-in Chezmoi Functions
|
|
21
|
-
- Built-in Chezmoi Variables
|
|
22
|
-
- Cache Files
|
|
23
|
-
- Caching
|
|
24
|
-
- Changing Presets on an Existing Host
|
|
25
|
-
- Checking Active Flags
|
|
26
|
-
- CI
|
|
27
|
-
- CI-Level Gates
|
|
28
|
-
- CI-Specific
|
|
29
|
-
- Color Science
|
|
30
|
-
- Configuration
|
|
31
|
-
- Contributions
|
|
32
|
-
- Cross-Host Trust
|
|
33
|
-
- Cryptography
|
|
34
|
-
- Daily Use
|
|
35
|
-
- Data Flow
|
|
36
|
-
- Design Principles
|
|
37
|
-
- Development
|
|
38
|
-
- Diagnostics
|
|
39
|
-
- Documentation Systems
|
|
40
|
-
- Drift Detection
|
|
41
|
-
- Dynamic HEIC (Apple Appearance Metadata)
|
|
42
|
-
- Environment Variables
|
|
43
|
-
- Example: Font Size by Preset
|
|
44
|
-
- Example: Platform × Preset
|
|
45
|
-
- Example: Using Theme in Ghostty Config
|
|
46
|
-
- Exit Codes
|
|
47
|
-
- Feature Matrix
|
|
48
|
-
- Flag Catalogue
|
|
49
|
-
- Flag Deprecation
|
|
50
|
-
- Fleet
|
|
51
|
-
- Fleet Attestation
|
|
52
|
-
- Fleet Deployment Workflow
|
|
53
|
-
- Fleet Operational Commands
|
|
54
|
-
- Fleet Trust Propagation
|
|
55
|
-
- From `.chezmoidata.toml`
|
|
56
|
-
- From `.chezmoidata/hardware.toml`
|
|
57
|
-
- From `.chezmoidata/themes.toml`
|
|
58
|
-
- From Feature Flags
|
|
59
|
-
- Gates Enforced by CI
|
|
60
|
-
- General
|
|
61
|
-
- Getting More Help
|
|
62
|
-
- Global Flags
|
|
63
|
-
- Global Flags (`.chezmoidata.toml`)
|
|
64
|
-
- Hardware Presets
|
|
65
|
-
- Helper Templates (in `.chezmoitemplates/`)
|
|
66
|
-
- Identity and Signing
|
|
67
|
-
- Incident Response
|
|
68
|
-
- Inspect & Repair
|
|
69
|
-
- Installation
|
|
70
|
-
- Installation & Update
|
|
71
|
-
- Invocation
|
|
72
|
-
- Limitations
|
|
73
|
-
- Listing Known Presets
|
|
74
|
-
- Log Files
|
|
75
|
-
- Machine-Scoped Secrets
|
|
76
|
-
- Manual
|
|
77
|
-
- MIT License
|
|
78
|
-
- Next
|
|
79
|
-
- Observability
|
|
80
|
-
- Ongoing (monthly)
|
|
81
|
-
- Ongoing (quarterly)
|
|
82
|
-
- Operational Rules
|
|
83
|
-
- Option A: Drop a Static Image
|
|
84
|
-
- Option B: Dynamic HEIC (Recommended)
|
|
85
|
-
- Option C: Golden Ratio Brightness (Advanced)
|
|
86
|
-
- Option D: Install System Wallpapers (Already-Available)
|
|
87
|
-
- Optional Binaries (installed by Mise on first apply)
|
|
88
|
-
- Per-Machine Profiles
|
|
89
|
-
- Per-Preset Overrides (`.chezmoidata/hardware.toml`)
|
|
90
|
-
- Performance
|
|
91
|
-
- Philosophy
|
|
92
|
-
- Post-Install
|
|
93
|
-
- Pre-Install
|
|
94
|
-
- Prerequisites
|
|
95
|
-
- Principles
|
|
96
|
-
- Protocols
|
|
97
|
-
- Read by Tools
|
|
98
|
-
- Recovery
|
|
99
|
-
- Reference
|
|
100
|
-
- Required Binaries
|
|
101
|
-
- Scenario
|
|
102
|
-
- Secret-Related
|
|
103
|
-
- Secrets
|
|
104
|
-
- See Also
|
|
105
|
-
- Shell Performance
|
|
106
|
-
- Single Source, Many Hosts
|
|
107
|
-
- Source Repository
|
|
108
|
-
- Start Here
|
|
109
|
-
- Startup Order
|
|
110
|
-
- Startup Performance Model
|
|
111
|
-
- Step 1: Choose or Create a Preset
|
|
112
|
-
- Step 1: Generate an Age Key (First Time Only)
|
|
113
|
-
- Step 1: Per-Host Install
|
|
114
|
-
- Step 1: Run the Installer
|
|
115
|
-
- Step 2: Choose Encryption Method
|
|
116
|
-
- Step 2: Exchange Signing Keys
|
|
117
|
-
- Step 2: Select the Preset for This Host
|
|
118
|
-
- Step 2: Verify
|
|
119
|
-
- Step 3: Reference the Preset in Templates
|
|
120
|
-
- Step 3: Share the Age Key (for Shared Secrets)
|
|
121
|
-
- Step 3: Take the Tour
|
|
122
|
-
- Step 3A: Chezmoi-Encrypted File
|
|
123
|
-
- Step 3B: SOPS-Encrypted YAML
|
|
124
|
-
- Step 4: Add a New Preset
|
|
125
|
-
- Step 4: Customize
|
|
126
|
-
- Step 4: Reference the Secret in a Template
|
|
127
|
-
- Step 4: Verify Fleet Alignment
|
|
128
|
-
- Step 5: Add Your Identity
|
|
129
|
-
- Step 5: Commit and Verify
|
|
130
|
-
- Step 5: Per-Host Customization
|
|
131
|
-
- Step 5: Per-Preset Feature Flags
|
|
132
|
-
- Step 6: First Theme Switch
|
|
133
|
-
- Step 6: Fleet-Wide Updates
|
|
134
|
-
- Step 6: Multi-Recipient (Fleet)
|
|
135
|
-
- Step 7: Rotate a Compromised Key
|
|
136
|
-
- Step 7: Secrets Rotation
|
|
137
|
-
- Step 8: Decommission a Host
|
|
138
|
-
- Summary
|
|
139
|
-
- Supported Architectures
|
|
140
|
-
- Supported Platforms
|
|
141
|
-
- Supported Shells
|
|
142
|
-
- Template Testing
|
|
143
|
-
- Tested CI Environments
|
|
144
|
-
- The Four Subsystems
|
|
145
|
-
- The Pipeline
|
|
146
|
-
- The Self-Healing Loop
|
|
147
|
-
- The Threat Model
|
|
148
|
-
- The Why
|
|
149
|
-
- Theme
|
|
150
|
-
- Theme Application
|
|
151
|
-
- Themes
|
|
152
|
-
- Third-Party Licenses
|
|
153
|
-
- Threat Model Summary
|
|
154
|
-
- Tools & Systems
|
|
155
|
-
- Troubleshooting
|
|
156
|
-
- Troubleshooting Community
|
|
157
|
-
- Trust Boundaries
|
|
158
|
-
- Unsetting
|
|
159
|
-
- User-Owned Configuration
|
|
160
|
-
- User-Settable
|
|
161
|
-
- Using a Flag in a Template
|
|
162
|
-
- Validation in CI
|
|
163
|
-
- Verified Files
|
|
164
|
-
- Verifying No Plaintext Leaks
|
|
165
|
-
- Verifying the Result
|
|
166
|
-
- Wallpaper Discovery
|
|
167
|
-
- What Got Installed
|
|
168
|
-
- When to Use a Profile
|
package/docs/manual/index.md
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "The .dotfiles Manual"
|
|
3
|
-
description: "A trusted agent workstation baseline for macOS, Linux, and WSL."
|
|
4
|
-
render_with_liquid: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# The .dotfiles Manual
|
|
8
|
-
|
|
9
|
-
A trusted agent workstation baseline for macOS, Linux, and WSL. Chezmoi handles templating and platform differences; the `dot` CLI coordinates lifecycle operations on top.
|
|
10
|
-
|
|
11
|
-
This manual is generated from the Markdown sources in [`docs/manual/`](https://github.com/sebastienrousseau/dotfiles/tree/main/docs/manual) and published in nine formats per release. The HTML edition you are reading is the canonical online version.
|
|
12
|
-
|
|
13
|
-
## Read it your way
|
|
14
|
-
|
|
15
|
-
- **Web (multi-page)** — browse the chapters below
|
|
16
|
-
- **Single-page HTML, PDF, EPUB, ASCII text** — attached to every [GitHub Release](https://github.com/sebastienrousseau/dotfiles/releases/latest)
|
|
17
|
-
- **CLI** — `dot manual` opens the manual locally; `dot manual pdf` downloads the PDF; `dot manual text` pipes the ASCII edition to your pager
|
|
18
|
-
|
|
19
|
-
## Contents
|
|
20
|
-
|
|
21
|
-
### [Introduction](00-introduction.md)
|
|
22
|
-
|
|
23
|
-
The audience, scope, conventions, and where the manual is published.
|
|
24
|
-
|
|
25
|
-
### Concepts
|
|
26
|
-
|
|
27
|
-
- [Architecture](01-concepts/01-architecture.md) — repository layout, chezmoi templating, the `dot` dispatcher
|
|
28
|
-
- [Trust model](01-concepts/02-trust-model.md) — signing, attestation, SBOM, policy gates
|
|
29
|
-
- [Theme engine](01-concepts/03-theme-engine.md) — wallpaper-driven theming across apps
|
|
30
|
-
- [Fleet](01-concepts/04-fleet.md) — multi-workstation coordination and drift detection
|
|
31
|
-
- [Self-healing](01-concepts/05-self-healing.md) — automatic remediation and rollback
|
|
32
|
-
|
|
33
|
-
### Tutorials
|
|
34
|
-
|
|
35
|
-
- [First install](02-tutorials/01-first-install.md)
|
|
36
|
-
- [Add a wallpaper-driven theme](02-tutorials/02-add-wallpaper.md)
|
|
37
|
-
- [Create an agent profile](02-tutorials/03-create-profile.md)
|
|
38
|
-
- [Encrypt a secret](02-tutorials/04-encrypt-secret.md)
|
|
39
|
-
- [Deploy to a fleet](02-tutorials/05-deploy-fleet.md)
|
|
40
|
-
|
|
41
|
-
### Reference
|
|
42
|
-
|
|
43
|
-
- [`dot` CLI](03-reference/01-dot-cli.md) — every subcommand
|
|
44
|
-
- [Config files](03-reference/02-config-files.md) — every `~/.config/dotfiles/*` path
|
|
45
|
-
- [Environment](03-reference/03-environment.md) — every variable read by the framework
|
|
46
|
-
- [Templates](03-reference/04-templates.md) — every `{{ .var }}` reference
|
|
47
|
-
- [Feature flags](03-reference/05-feature-flags.md)
|
|
48
|
-
|
|
49
|
-
### Cookbook
|
|
50
|
-
|
|
51
|
-
- [Recipes](04-cookbook/01-recipes.md)
|
|
52
|
-
- [Troubleshooting](04-cookbook/02-troubleshooting.md)
|
|
53
|
-
- [FAQ](04-cookbook/03-faq.md)
|
|
54
|
-
|
|
55
|
-
### Appendices
|
|
56
|
-
|
|
57
|
-
- [A — Platform matrix](05-appendices/A-platform-matrix.md)
|
|
58
|
-
- [B — Security checklist](05-appendices/B-security-checklist.md)
|
|
59
|
-
- [C — Glossary](05-appendices/C-glossary.md)
|
|
60
|
-
- [D — Bibliography](05-appendices/D-bibliography.md)
|
|
61
|
-
- [E — License](05-appendices/E-license.md)
|
|
62
|
-
|
|
63
|
-
### Indexes
|
|
64
|
-
|
|
65
|
-
- [Concept index](concept-index.md)
|
|
66
|
-
- [Command index](command-index.md)
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# Architecture Roadmap
|
|
2
|
-
|
|
3
|
-
Historical architecture planning has been consolidated into the canonical
|
|
4
|
-
[`../../ROADMAP.md`](../../ROADMAP.md).
|
|
5
|
-
|
|
6
|
-
Current architecture decisions belong in `docs/architecture/`; future roadmap
|
|
7
|
-
items belong in the root roadmap or in GitHub issues and milestones.
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
render_with_liquid: false
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Workstation Attestation
|
|
6
|
-
|
|
7
|
-
`dot attest` exports a machine-readable record of the current workstation state.
|
|
8
|
-
|
|
9
|
-
It captures:
|
|
10
|
-
|
|
11
|
-
- dotfiles version
|
|
12
|
-
- platform and architecture
|
|
13
|
-
- Git signing settings
|
|
14
|
-
- active agent profile
|
|
15
|
-
- MCP strict-mode audit status
|
|
16
|
-
- tracked agent card, profile, and registry data
|
|
17
|
-
- policy bundles
|
|
18
|
-
- model and prompt registries
|
|
19
|
-
|
|
20
|
-
Run:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
dot attest
|
|
24
|
-
dot attest --json
|
|
25
|
-
dot attest -j
|
|
26
|
-
dot attest --write ~/.local/state/dotfiles/attestations/workstation.json
|
|
27
|
-
dot attest -w ~/.local/state/dotfiles/attestations/workstation.json
|
|
28
|
-
dot attest --fleet-store /srv/dotfiles-fleet
|
|
29
|
-
dot attest -F /srv/dotfiles-fleet -I engineering
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
The default output path is `~/.local/state/dotfiles/attestations/workstation-attestation.json`.
|
|
33
|
-
|
|
34
|
-
Fleet export writes:
|
|
35
|
-
|
|
36
|
-
- `<fleet-store>/<fleet-id>/<hostname>/workstation-attestation.json`
|
|
37
|
-
- timestamped copies for retention
|
|
38
|
-
|
|
39
|
-
Governance evidence is embedded directly in the JSON output. That includes:
|
|
40
|
-
|
|
41
|
-
- policy bundle definitions
|
|
42
|
-
- model registry metadata
|
|
43
|
-
- prompt registry metadata
|
|
44
|
-
- tracked MCP policy and registry artifacts
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
render_with_liquid: false
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# CI Cadence
|
|
6
|
-
|
|
7
|
-
This page tabulates every GitHub Actions workflow in `.github/workflows/`
|
|
8
|
-
with its trigger cadence and the rationale for that cadence. Maintained
|
|
9
|
-
under [issue #861](https://github.com/sebastienrousseau/dotfiles/issues/861).
|
|
10
|
-
|
|
11
|
-
## Cadence rules
|
|
12
|
-
|
|
13
|
-
We use four cadence buckets:
|
|
14
|
-
|
|
15
|
-
| Bucket | When | Used for |
|
|
16
|
-
|---|---|---|
|
|
17
|
-
| **Event** | `push`, `pull_request`, `merge_group` | Code-change gates — must run on every PR. |
|
|
18
|
-
| **Weekly** | `schedule:` Monday or Sunday | Drift detection, beta-tool watch, extended platform matrices. |
|
|
19
|
-
| **Monthly** | (none currently) | Long-running audits, historical scans. |
|
|
20
|
-
| **Manual** | `workflow_dispatch` only | Releases, ad-hoc tooling. |
|
|
21
|
-
|
|
22
|
-
**Anti-rule:** no workflow runs on `cron: '* * * *'` (daily) unless its
|
|
23
|
-
output is consumed daily by something downstream. Nothing today meets
|
|
24
|
-
that bar; see "Why no daily jobs" below.
|
|
25
|
-
|
|
26
|
-
## Workflow cadence table
|
|
27
|
-
|
|
28
|
-
| Workflow | Triggers | Schedule (UTC) | Why this cadence |
|
|
29
|
-
|---|---|---|---|
|
|
30
|
-
| `ci.yml` | event + schedule | Mon 06:00 (weekly) | Lint / test on every PR; weekly schedule catches drift from external dependencies (apt mirrors, Homebrew bottles) even when no code lands. |
|
|
31
|
-
| `ci-enforced.yml` | event | — | Strict gates fire on every PR; no scheduled run (covered by ci.yml weekly). |
|
|
32
|
-
| `codeql.yml` | event + schedule | Mon 06:00 (weekly) | Source-code SAST. Weekly schedule catches new CodeQL rule packs. |
|
|
33
|
-
| `compliance-guard.yml` | event | — | Policy enforcement on every PR; no need to schedule. |
|
|
34
|
-
| `cross-platform-test.yml` | event + schedule | Sun 07:00 (weekly) | Validates BSD vs GNU tool divergence on every PR; weekly catches GitHub-hosted-runner image updates. |
|
|
35
|
-
| `devcontainer-prebuild.yml` | event + schedule | Mon 03:00 (weekly) | Pre-build the devcontainer image weekly so first `Open in Codespaces` is fast. |
|
|
36
|
-
| `manual-publish.yml` | manual only | — | Release-trigger flow; never scheduled. |
|
|
37
|
-
| `nightly.yml` | schedule + manual | **Sun 02:00 (weekly)** | Was daily; flipped to weekly under [#861](https://github.com/sebastienrousseau/dotfiles/issues/861). Jobs (beta-tool detection, extended OS matrix on macos-15-intel/macos-14, dependency-report) don't need daily cadence. |
|
|
38
|
-
| `npm-publish.yml` | release tag | — | Trigger: `push` of a version tag. |
|
|
39
|
-
| `policy-bundle-release.yml` | manual + release | — | Manual / release-trigger only. |
|
|
40
|
-
| `pr-signature.yml` | pull_request | — | Verifies PR description has the branding signature. |
|
|
41
|
-
| `reliability-gate.yml` | event | — | Reliability audit on every PR; no scheduled cadence. |
|
|
42
|
-
| `reusable-*.yml` (×7) | callable | — | Called by other workflows; not directly triggered. |
|
|
43
|
-
| `sbom-diff.yml` | pull_request | — | Generates SBOM diff per PR. |
|
|
44
|
-
| `security-enhanced.yml` | event + schedule | **Sun 02:00 (weekly)** | Was daily; reduced to weekly in earlier hardening. Per-PR runs cover the active-change case. |
|
|
45
|
-
| `security-release.yml` | release tag | — | SLSA provenance on release; never scheduled. |
|
|
46
|
-
| `sync-versions.yml` | manual | — | Version-bump tooling. |
|
|
47
|
-
| `update-deps.yml` | schedule | Mon 08:00 (weekly) | Dependabot is the primary path; this is a belt-and-suspenders weekly sweep. |
|
|
48
|
-
|
|
49
|
-
## Why no daily jobs
|
|
50
|
-
|
|
51
|
-
We reviewed every workflow with maintainer Sebastien Rousseau on
|
|
52
|
-
2026-05-12 and concluded:
|
|
53
|
-
|
|
54
|
-
1. **No external signal needs daily polling.** Dependency updates flow
|
|
55
|
-
through Dependabot (push-driven, not poll-driven). Beta-tool
|
|
56
|
-
detection in `nightly.yml` checks for major Chezmoi / ShellCheck
|
|
57
|
-
updates — these ship every few months, not days. CVE scans run on
|
|
58
|
-
every PR (`sbom-diff.yml`) plus a weekly aggregate
|
|
59
|
-
(`security-enhanced.yml`).
|
|
60
|
-
|
|
61
|
-
2. **No downstream consumer reads daily artifacts.** No external
|
|
62
|
-
dashboard, no published feed, no alert ingester depends on a daily
|
|
63
|
-
nightly artifact. The artifacts are inspected ad-hoc.
|
|
64
|
-
|
|
65
|
-
3. **Daily cadence was vestigial.** `nightly.yml` had cron `0 2 * * *`
|
|
66
|
-
from an earlier era when the workflow ran the full test matrix; the
|
|
67
|
-
matrix has since moved into `ci-enforced.yml` (event-driven), but
|
|
68
|
-
the cron was never updated. Confirmed via `git log` of the file.
|
|
69
|
-
|
|
70
|
-
If any of these conditions changes (e.g., we add a publishing pipeline
|
|
71
|
-
that needs daily artifacts), the appropriate path is a new `daily-checks.yml`
|
|
72
|
-
workflow with explicit cadence rationale documented here — *not* flipping
|
|
73
|
-
an existing weekly back to daily.
|
|
74
|
-
|
|
75
|
-
## Cost impact of the daily → weekly flip
|
|
76
|
-
|
|
77
|
-
Before (daily nightly):
|
|
78
|
-
|
|
79
|
-
- 7 runs/week × ~40 min total CI minutes per run = **~280 min/week**
|
|
80
|
-
- ~14,560 minutes/year (~243 hours of CI compute)
|
|
81
|
-
|
|
82
|
-
After (weekly nightly):
|
|
83
|
-
|
|
84
|
-
- 1 run/week × ~40 min = **~40 min/week**
|
|
85
|
-
- ~2,080 minutes/year (~35 hours)
|
|
86
|
-
|
|
87
|
-
**Net saving: ~208 hours of CI compute per year (~85% reduction)** on
|
|
88
|
-
the nightly workflow alone. GitHub-hosted minutes are billed per
|
|
89
|
-
runner-minute; saving aligns with the project's "zero-debt, no waste"
|
|
90
|
-
mandate.
|
|
91
|
-
|
|
92
|
-
## Reviewing this page
|
|
93
|
-
|
|
94
|
-
When adding a new workflow:
|
|
95
|
-
|
|
96
|
-
1. Pick a bucket from the rules at the top of this page.
|
|
97
|
-
2. Add the row to the table — include the **why**, not just the cron
|
|
98
|
-
expression. Future maintainers should be able to decide whether a
|
|
99
|
-
cadence is still load-bearing.
|
|
100
|
-
3. If proposing a daily cadence, justify why a weekly version doesn't
|
|
101
|
-
meet the need in the workflow's PR description.
|
|
102
|
-
|
|
103
|
-
## References
|
|
104
|
-
|
|
105
|
-
- [`nightly.yml`](https://github.com/sebastienrousseau/dotfiles/blob/main/.github/workflows/nightly.yml) — the workflow whose cadence flip triggered this page.
|
|
106
|
-
- [`security-enhanced.yml`](https://github.com/sebastienrousseau/dotfiles/blob/main/.github/workflows/security-enhanced.yml) — earlier daily→weekly reduction.
|
|
107
|
-
- Issue [#861](https://github.com/sebastienrousseau/dotfiles/issues/861).
|