@sebastienrousseau/dotfiles 0.2.481 → 0.2.500
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 +122 -32
- package/LICENSE +1 -1
- package/README.md +211 -242
- package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
- package/docs/AI.md +102 -0
- package/docs/COPYRIGHT +2 -2
- package/docs/NAMING_CONVENTIONS.md +95 -0
- package/docs/README.md +58 -249
- package/docs/adr/ADR-004-cli-architecture.md +2 -2
- package/docs/adr/ADR-006-shell-selection.md +2 -2
- package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
- package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
- package/docs/adr/README.md +2 -3
- package/docs/architecture/ARCHITECTURE.md +113 -0
- package/docs/architecture/INTEROP.md +36 -0
- package/docs/architecture/REPO_LAYOUT.md +237 -0
- package/docs/architecture/WALKTHROUGH.md +82 -0
- package/docs/architecture/fleet-deployment.md +73 -0
- package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
- package/docs/archive/MILESTONE_v0.2.493.md +43 -0
- package/docs/{PLAN.md → archive/PLAN.md} +1 -1
- package/docs/guides/INSTALL.md +140 -0
- package/docs/{NEOVIM_IDE_GUIDE.md → guides/NEOVIM_IDE_GUIDE.md} +12 -12
- package/docs/guides/THEMING.md +222 -0
- package/docs/{TROUBLESHOOTING.md → guides/TROUBLESHOOTING.md} +36 -0
- package/docs/{WSL2_NIX_TROUBLESHOOTING.md → guides/WSL2_NIX_TROUBLESHOOTING.md} +8 -8
- package/docs/index.md +39 -0
- package/docs/interop/A2A.md +32 -0
- package/docs/manual/00-introduction.md +85 -0
- package/docs/manual/01-concepts/01-architecture.md +134 -0
- package/docs/manual/01-concepts/02-trust-model.md +178 -0
- package/docs/manual/01-concepts/03-theme-engine.md +182 -0
- package/docs/manual/01-concepts/04-fleet.md +142 -0
- package/docs/manual/01-concepts/05-self-healing.md +197 -0
- package/docs/manual/02-tutorials/01-first-install.md +192 -0
- package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
- package/docs/manual/02-tutorials/03-create-profile.md +238 -0
- package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
- package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
- package/docs/manual/03-reference/01-dot-cli.md +413 -0
- package/docs/manual/03-reference/02-config-files.md +259 -0
- package/docs/manual/03-reference/03-environment.md +120 -0
- package/docs/manual/03-reference/04-templates.md +184 -0
- package/docs/manual/03-reference/05-feature-flags.md +118 -0
- package/docs/manual/04-cookbook/01-recipes.md +281 -0
- package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
- package/docs/manual/04-cookbook/03-faq.md +167 -0
- package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
- package/docs/manual/05-appendices/B-security-checklist.md +78 -0
- package/docs/manual/05-appendices/C-glossary.md +36 -0
- package/docs/manual/05-appendices/D-bibliography.md +54 -0
- package/docs/manual/05-appendices/E-license.md +34 -0
- package/docs/manual/_toc.yml +58 -0
- package/docs/manual/command-index.md +58 -0
- package/docs/manual/concept-index.md +164 -0
- package/docs/operations/ATTESTATION.md +39 -0
- package/docs/operations/MAINTENANCE.md +59 -0
- package/docs/operations/MIGRATION.md +101 -0
- package/docs/operations/OPERATIONS.md +164 -0
- package/docs/operations/RELIABILITY.md +116 -0
- package/docs/{ROADMAP.md → operations/ROADMAP.md} +11 -11
- package/docs/operations/TESTING.md +195 -0
- package/docs/operations/TRACEABILITY.md +31 -0
- package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
- package/docs/operations/VERSION_SYNC.md +344 -0
- package/docs/{ALIASES.md → reference/ALIASES.md} +2 -6
- package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
- package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
- package/docs/reference/FEATURES.md +62 -0
- package/docs/reference/FONTS.md +108 -0
- package/docs/reference/PROFILES.md +65 -0
- package/docs/{SCREENSHOTS.md → reference/SCREENSHOTS.md} +26 -25
- package/docs/reference/SCRIPTS.md +67 -0
- package/docs/reference/SUPPORT_MATRIX.md +74 -0
- package/docs/reference/THEMES.md +113 -0
- package/docs/reference/TOOLS.md +105 -0
- package/docs/reference/UTILS.md +151 -0
- package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
- package/docs/security/AUTOMATION_SECRETS.md +22 -0
- package/docs/security/COMPLIANCE.md +453 -0
- package/docs/security/ENCRYPTION.md +52 -0
- package/docs/security/FMEA.md +155 -0
- package/docs/security/INCIDENT_RESPONSE.md +575 -0
- package/docs/security/KEYS.md +45 -0
- package/docs/security/MCP_POLICY.md +69 -0
- package/docs/security/POLICY_RELEASES.md +33 -0
- package/docs/security/README.md +24 -0
- package/docs/security/SECRETS.md +146 -0
- package/docs/security/SECURITY.md +41 -0
- package/docs/security/SECURITY_CHECKLIST.md +44 -0
- package/docs/security/SOUP_REGISTER.md +32 -0
- package/docs/security/THREAT_MODEL.md +120 -0
- package/docs/security/VERIFICATION_VALIDATION.md +224 -0
- package/docs/themes/README.md +3 -17
- package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
- package/docs/themes/hero-shot.svg +78 -0
- package/dot_config/.module-manifest.json +69 -0
- package/dot_config/ai/identity.md +20 -0
- package/dot_config/ai/patterns/architect.md +14 -0
- package/dot_config/ai/patterns/hardener.md +13 -0
- package/dot_config/ai/patterns/refactor.md +13 -0
- package/dot_config/aider/aider.conf.yml +1 -1
- package/dot_config/alacritty/alacritty.toml.tmpl +41 -469
- package/dot_config/atuin/config.toml +18 -1
- package/dot_config/bat/config +16 -1
- package/dot_config/claude/mcp_servers.json +3 -32
- package/dot_config/dotfiles/agent-card.json +29 -0
- package/dot_config/dotfiles/agent-profiles.json +92 -0
- package/dot_config/dotfiles/boot/README.md +1 -1
- package/dot_config/dotfiles/grub/README.md +1 -1
- package/dot_config/dotfiles/lock/README.md +1 -1
- package/dot_config/dotfiles/mcp-lock.json +33 -0
- package/dot_config/dotfiles/mcp-policy.json +52 -0
- package/dot_config/dotfiles/mcp-registry.json +47 -0
- package/dot_config/dotfiles/model-registry.json +20 -0
- package/dot_config/dotfiles/policy-bundles.json +38 -0
- package/dot_config/dotfiles/prompt-registry.json +16 -0
- package/dot_config/dotfiles/versions.env +18 -0
- package/dot_config/environment.d/50-ssh-agent.conf +2 -0
- package/dot_config/environment.d/90-wayland.conf +19 -0
- package/dot_config/firefox/user.js.tmpl +58 -0
- package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
- package/dot_config/fish/completions/dot.fish.tmpl +115 -0
- package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
- package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
- package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
- package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
- package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
- package/dot_config/fish/config.fish.tmpl +44 -0
- package/dot_config/fish/fish_plugins +1 -0
- package/dot_config/fish/functions/_.fish +3 -0
- package/dot_config/fish/functions/_cached_eval.fish +58 -0
- package/dot_config/fish/functions/als.fish +46 -0
- package/dot_config/fish/functions/bg-upgrade.fish +7 -0
- package/dot_config/fish/functions/c.fish +3 -0
- package/dot_config/fish/functions/cat.fish +9 -0
- package/dot_config/fish/functions/d.fish +7 -0
- package/dot_config/fish/functions/dot.fish +34 -0
- package/dot_config/fish/functions/h.fish +3 -0
- package/dot_config/fish/functions/l.fish +7 -0
- package/dot_config/fish/functions/la.fish +7 -0
- package/dot_config/fish/functions/ll.fish +7 -0
- package/dot_config/fish/functions/log_error.fish +13 -0
- package/dot_config/fish/functions/log_info.fish +13 -0
- package/dot_config/fish/functions/lr.fish +7 -0
- package/dot_config/fish/functions/lra.fish +7 -0
- package/dot_config/fish/functions/ls.fish +7 -0
- package/dot_config/fish/functions/lt.fish +7 -0
- package/dot_config/fish/functions/lta.fish +7 -0
- package/dot_config/fish/functions/notify-run.fish +11 -0
- package/dot_config/fish/functions/q.fish +3 -0
- package/dot_config/fish/functions/silent-run.fish +7 -0
- package/dot_config/fish/functions/yy.fish +8 -0
- package/dot_config/fontconfig/fonts.conf.tmpl +13 -0
- package/dot_config/foot/foot.ini.tmpl +33 -0
- package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
- package/dot_config/fzf/fzf.zsh +48 -0
- package/dot_config/ghostty/config.tmpl +69 -565
- package/dot_config/git/allowed_signers.tmpl +18 -0
- package/dot_config/git/commit-template +10 -0
- package/dot_config/gnupg/{gpg-agent.conf.tmpl → gpg-agent.conf} +3 -3
- package/dot_config/goose/config.yaml +2 -2
- package/dot_config/gtk-3.0/gtk.css.tmpl +59 -180
- package/dot_config/gtk-3.0/settings.ini.tmpl +5 -44
- package/dot_config/gtk-4.0/gtk.css.tmpl +79 -136
- package/dot_config/gtk-4.0/settings.ini.tmpl +5 -8
- package/dot_config/ipython/profile_default/ipython_config.py +19 -0
- package/dot_config/just/justfile +18 -0
- package/dot_config/kanshi/config.tmpl +22 -0
- package/dot_config/kitty/kitty.conf.tmpl +44 -508
- package/dot_config/lazygit/config.yml +18 -6
- package/dot_config/mako/config +47 -0
- package/dot_config/micro/settings.json +3 -0
- package/dot_config/mimeapps.list +77 -0
- package/dot_config/mise/config.toml +63 -5
- package/dot_config/mongosh/mongoshrc.js +1 -0
- package/dot_config/mpv/input.conf +47 -0
- package/dot_config/mpv/mpv.conf +47 -0
- package/dot_config/niri/config.kdl.tmpl +327 -0
- package/dot_config/nushell/aliases.nu +18 -0
- package/dot_config/nushell/completions.nu.tmpl +52 -0
- package/dot_config/nushell/config.nu.tmpl +86 -0
- package/dot_config/nushell/env.nu.tmpl +94 -0
- package/dot_config/nushell/functions.nu.tmpl +17 -0
- package/dot_config/nvim/init.lua +14 -0
- package/dot_config/nvim/lazy-lock.json +45 -14
- package/dot_config/nvim/lua/config/autocmds.lua +45 -1
- package/dot_config/nvim/lua/config/keymaps.lua +13 -8
- package/dot_config/nvim/lua/config/lazy.lua +22 -12
- package/dot_config/nvim/lua/config/options.lua +1 -0
- package/dot_config/nvim/lua/plugins/ai.lua +75 -0
- package/dot_config/nvim/lua/plugins/coding.lua +11 -29
- package/dot_config/nvim/lua/plugins/completion.lua +60 -0
- package/dot_config/nvim/lua/plugins/dap.lua +215 -4
- package/dot_config/nvim/lua/plugins/editor.lua +6 -10
- package/dot_config/nvim/lua/plugins/git.lua +1 -0
- package/dot_config/nvim/lua/plugins/lsp.lua +16 -81
- package/dot_config/nvim/lua/plugins/markdown.lua +1 -0
- package/dot_config/nvim/lua/plugins/rust.lua +1 -0
- package/dot_config/nvim/lua/plugins/sessions.lua +1 -0
- package/dot_config/nvim/lua/plugins/ui.lua +23 -51
- package/dot_config/paru/paru.conf +10 -0
- package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
- package/dot_config/pueue/pueue.yml +34 -0
- package/dot_config/raycast/README.md +1 -1
- package/dot_config/ripgrep/ripgreprc +21 -0
- package/dot_config/shell/00-core-paths.sh.tmpl +62 -24
- package/dot_config/shell/05-core-safety.sh +47 -0
- package/dot_config/shell/10-secrets.sh +40 -0
- package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
- package/dot_config/shell/40-ls-colors.sh +48 -0
- package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
- package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
- package/dot_config/shell/90-ux-aliases.sh.tmpl +90 -5
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +33 -2
- package/dot_config/shell/Brewfile.cli +8 -0
- package/dot_config/shell/README.md +9 -9
- package/dot_config/shell/als_data.txt.tmpl +65 -0
- package/dot_config/shell/custom/auto_ls.zsh +20 -0
- package/dot_config/shell/custom/context_suggest.zsh +50 -50
- package/dot_config/shell/custom/error_analysis.zsh +29 -29
- package/dot_config/starship.toml.tmpl +85 -7
- package/dot_config/swaylock/config +43 -0
- package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
- package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
- package/dot_config/systemd/user/pueued.service +12 -0
- package/dot_config/systemd/user/ssh-agent.service +12 -0
- package/dot_config/tmux/tmux.conf.tmpl +80 -38
- package/dot_config/topgrade.toml.tmpl +54 -0
- package/dot_config/user-dirs.dirs +9 -0
- package/dot_config/vscode/settings.json.tmpl +9 -50
- package/dot_config/waybar/config.jsonc.tmpl +90 -0
- package/dot_config/waybar/style.css.tmpl +211 -0
- package/dot_config/wezterm/wezterm.lua.tmpl +31 -203
- package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
- package/dot_config/yazi/keymap.toml +67 -0
- package/dot_config/yazi/theme.toml +102 -0
- package/dot_config/zathura/zathurarc +52 -0
- package/dot_config/zellij/{config.kdl → config.kdl.tmpl} +1 -1
- package/dot_config/zsh/dot_zprofile +1 -7
- package/dot_config/zsh/dot_zshenv +2 -3
- package/dot_config/zsh/dot_zshrc.tmpl +368 -69
- package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +17 -4
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +4 -4
- package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +101 -30
- package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
- package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
- package/dot_local/bin/executable_ai-update +195 -0
- package/dot_local/bin/executable_ai_core +113 -91
- package/dot_local/bin/executable_antigravity +11 -0
- package/dot_local/bin/executable_b64 +61 -36
- package/dot_local/bin/executable_bm +77 -0
- package/dot_local/bin/executable_cb +39 -0
- package/dot_local/bin/executable_dot +543 -132
- package/dot_local/bin/executable_dot-ai +36 -0
- package/dot_local/bin/executable_dot-bootstrap +77 -0
- package/dot_local/bin/executable_dot-launch-or-focus +52 -0
- package/dot_local/bin/executable_dot-load-benchmark +31 -0
- package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
- package/dot_local/bin/executable_dot-theme-sync +952 -0
- package/dot_local/bin/executable_dot_completion +2 -0
- package/dot_local/bin/executable_dtags +28 -0
- package/dot_local/bin/executable_epoch +43 -38
- package/dot_local/bin/executable_extract +32 -99
- package/dot_local/bin/executable_gbd +52 -0
- package/dot_local/bin/executable_gd +42 -0
- package/dot_local/bin/executable_git-ai-commit +35 -20
- package/dot_local/bin/executable_git-ai-diff +33 -18
- package/dot_local/bin/executable_gl +101 -0
- package/dot_local/bin/executable_hash +56 -18
- package/dot_local/bin/executable_hashsum +160 -0
- package/dot_local/bin/executable_hex +44 -8
- package/dot_local/bin/executable_jsonv +34 -10
- package/dot_local/bin/executable_jwt +22 -6
- package/dot_local/bin/executable_kill-port +18 -2
- package/dot_local/bin/executable_lorem +21 -6
- package/dot_local/bin/executable_mkscript +35 -0
- package/dot_local/bin/executable_monitor +56 -0
- package/dot_local/bin/{executable_ip → executable_myip} +16 -2
- package/dot_local/bin/executable_notify +22 -0
- package/dot_local/bin/executable_open +36 -0
- package/dot_local/bin/executable_pw +27 -0
- package/dot_local/bin/executable_rec-start +46 -0
- package/dot_local/bin/executable_rec-stop +35 -0
- package/dot_local/bin/executable_regex +49 -13
- package/dot_local/bin/executable_start-niri +8 -0
- package/dot_local/bin/executable_tmux-sessionizer +276 -149
- package/dot_local/bin/executable_tour +112 -74
- package/dot_local/bin/executable_up +21 -0
- package/dot_local/bin/executable_update +45 -11
- package/dot_local/bin/executable_uuid +37 -7
- package/dot_local/bin/executable_win +32 -0
- package/dot_local/bin/executable_yamlv +25 -7
- package/dot_local/share/bash-completion/completions/dot +62 -44
- package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
- package/dot_local/share/man/man1/dot.1 +149 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
- package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
- package/dot_local/share/zsh/completions/_dot +283 -0
- package/install.sh +297 -210
- package/package.json +17 -5
- package/scripts/ci/check-copyright-headers.sh +96 -0
- package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
- package/scripts/ci/install-chezmoi-verified.sh +64 -0
- package/scripts/ci/validate-ci-config.sh +41 -39
- package/scripts/demo/record.sh +3 -2
- package/scripts/diagnostics/a2a-conformance.sh +162 -0
- package/scripts/diagnostics/alias-governance.sh +137 -0
- package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
- package/scripts/diagnostics/aliases-manifest.sh +31 -0
- package/scripts/diagnostics/benchmark.sh +209 -29
- package/scripts/diagnostics/conflicts.sh +72 -0
- package/scripts/diagnostics/doctor-unified.sh +38 -0
- package/scripts/diagnostics/doctor.sh +491 -65
- package/scripts/diagnostics/drift-dashboard.sh +17 -6
- package/scripts/diagnostics/health.sh +351 -110
- package/scripts/diagnostics/history-analysis.sh +12 -4
- package/scripts/diagnostics/mcp-doctor.sh +575 -0
- package/scripts/diagnostics/perf.sh +225 -0
- package/scripts/diagnostics/scorecard.sh +118 -0
- package/scripts/diagnostics/secret-governance.sh +58 -0
- package/scripts/diagnostics/security-score.sh +139 -93
- package/scripts/diagnostics/smoke-test.sh +87 -0
- package/scripts/diagnostics/snapshot.sh +89 -0
- package/scripts/diagnostics/verify.sh +107 -0
- package/scripts/diagnostics/verify_state.sh +2 -2
- package/scripts/diagnostics/version-locks.sh +79 -0
- package/scripts/diagnostics/workstation-attestation.sh +181 -0
- package/scripts/docs/build-manual.sh +883 -0
- package/scripts/docs/check-manual.sh +213 -0
- package/scripts/dot/commands/agent.sh +465 -0
- package/scripts/dot/commands/ai.sh +416 -0
- package/scripts/dot/commands/aliases.sh +250 -0
- package/scripts/dot/commands/appearance.sh +21 -4
- package/scripts/dot/commands/core.sh +59 -4
- package/scripts/dot/commands/diagnostics.sh +132 -3
- package/scripts/dot/commands/fleet.sh +399 -0
- package/scripts/dot/commands/lint.sh +177 -0
- package/scripts/dot/commands/manual.sh +168 -0
- package/scripts/dot/commands/meta.sh +148 -17
- package/scripts/dot/commands/patterns.sh +54 -0
- package/scripts/dot/commands/restore.sh +57 -35
- package/scripts/dot/commands/secrets.sh +151 -9
- package/scripts/dot/commands/security.sh +3 -0
- package/scripts/dot/commands/tools.sh +268 -27
- package/scripts/dot/data/alias-deprecations.tsv +2 -0
- package/scripts/dot/lib/bento.sh +49 -0
- package/scripts/dot/lib/log.sh +194 -0
- package/scripts/dot/lib/platform.sh +98 -0
- package/scripts/dot/lib/ui.sh +507 -0
- package/scripts/dot/lib/utils.sh +318 -18
- package/scripts/fonts/install-nerd-fonts.sh +19 -10
- package/scripts/fonts/patch-fonts.sh +1 -0
- package/scripts/git-hooks/install.sh +11 -0
- package/scripts/git-hooks/pre-commit +12 -0
- package/scripts/git-hooks/pre-commit-audit.sh +145 -0
- package/scripts/git-hooks/pre-push +29 -0
- package/scripts/git-hooks/prepare-commit-msg +29 -0
- package/scripts/lib/secrets_provider.sh +158 -0
- package/scripts/maintenance/check-updates.sh +131 -0
- package/scripts/ops/ai-setup.sh +55 -0
- package/scripts/ops/bundle.sh +77 -0
- package/scripts/ops/chaos.sh +49 -0
- package/scripts/ops/chezmoi-apply.sh +245 -17
- package/scripts/ops/chezmoi-diff.sh +1 -0
- package/scripts/ops/chezmoi-remove.sh +2 -0
- package/scripts/ops/chezmoi-update.sh +34 -2
- package/scripts/ops/heal-chezmoi.sh +51 -0
- package/scripts/ops/heal-system.sh +128 -0
- package/scripts/ops/heal-tools.sh +340 -0
- package/scripts/ops/heal.sh +98 -342
- package/scripts/ops/post-apply-repair.sh +106 -0
- package/scripts/ops/prewarm.sh +127 -0
- package/scripts/ops/release.sh +252 -0
- package/scripts/ops/rollback.sh +86 -28
- package/scripts/ops/setup.sh +137 -0
- package/scripts/ops/teleport.sh +2 -1
- package/scripts/qa/coverage-baseline.sh +60 -0
- package/scripts/qa/docs-coverage.sh +111 -0
- package/scripts/qa/reliability-audit.sh +138 -0
- package/scripts/qa/traceability-coverage.sh +116 -0
- package/scripts/qa/validate-examples.sh +26 -0
- package/scripts/qa/wsl-contract.sh +11 -0
- package/scripts/release/package-policy-bundles.sh +125 -0
- package/scripts/secrets/age-init.sh +1 -0
- package/scripts/secrets/create-secrets-file.sh +1 -0
- package/scripts/secrets/encrypt-ssh-key.sh +1 -0
- package/scripts/security/backup.sh +44 -4
- package/scripts/security/dns-doh.sh +36 -14
- package/scripts/security/encryption-check.sh +27 -12
- package/scripts/security/enforce-policies.sh +11 -16
- package/scripts/security/firewall.sh +76 -20
- package/scripts/security/lock-configs.sh +2 -2
- package/scripts/security/lock-screen.sh +40 -18
- package/scripts/security/manage-secrets.sh +42 -29
- package/scripts/security/ssh-cert.sh +203 -0
- package/scripts/security/telemetry-kill.sh +40 -18
- package/scripts/security/usb-safety.sh +37 -15
- package/scripts/theme/apply-gnome-theme.sh +87 -56
- package/scripts/theme/extract-theme.py +677 -0
- package/scripts/theme/install-boot-logo.sh +1 -0
- package/scripts/theme/install-catppuccin-themes.sh +57 -33
- package/scripts/theme/install-cursors.sh +1 -0
- package/scripts/theme/install-file-icons.sh +1 -0
- package/scripts/theme/install-grub-theme.sh +11 -1
- package/scripts/theme/install-lock-icon.sh +1 -0
- package/scripts/theme/merge-wallpaper.sh +141 -0
- package/scripts/theme/rebuild-themes.sh +309 -0
- package/scripts/theme/switch.sh +308 -137
- package/scripts/theme/wallpaper-rotate.sh +66 -12
- package/scripts/theme/wallpaper-sync.sh +386 -31
- package/scripts/tools/cmatrix.sh +1 -0
- package/scripts/tools/detect-collisions.py +1 -1
- package/scripts/tools/emoji-picker.sh +4 -1
- package/scripts/tools/figlet-banner.sh +1 -0
- package/scripts/tools/log-rotate.sh +2 -1
- package/scripts/tools/lolcat-wrap.sh +1 -0
- package/scripts/tools/pipes.sh +1 -0
- package/scripts/tuning/linux.sh +23 -13
- package/scripts/tuning/macos.sh +13 -4
- package/scripts/uninstall.sh +85 -0
- package/scripts/version-sync.sh +487 -0
- package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
- package/templates/chezmoi-data/mac-m1.toml.example +16 -0
- package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
- package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
- package/templates/projects/go/.github/workflows/ci.yml +31 -0
- package/templates/projects/go/README.md +1 -1
- package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
- package/templates/projects/go/go.sum +0 -0
- package/templates/projects/molecule/README.md +1 -1
- package/templates/projects/node/.github/workflows/ci.yml +30 -0
- package/templates/projects/node/README.md +1 -1
- package/templates/projects/node/package-lock.json +12 -0
- package/templates/projects/node/src/index.js +1 -0
- package/templates/projects/packer/README.md +1 -1
- package/templates/projects/python/.github/workflows/ci.yml +34 -0
- package/templates/projects/python/README.md +1 -1
- package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
- package/templates/projects/python/tests/test_basic.py +1 -0
- package/docs/ARCHITECTURE.md +0 -229
- package/docs/COMPLIANCE.md +0 -47
- package/docs/FEATURES.md +0 -166
- package/docs/FONTS.md +0 -147
- package/docs/INSTALL.md +0 -119
- package/docs/KEYS.md +0 -40
- package/docs/OPERATIONS.md +0 -130
- package/docs/PR_DESCRIPTION.md +0 -149
- package/docs/SECRETS.md +0 -76
- package/docs/SECURITY.md +0 -30
- package/docs/SECURITY_CHECKLIST.md +0 -25
- package/docs/TASK.md +0 -99
- package/docs/TESTING.md +0 -190
- package/docs/TOOLS.md +0 -146
- package/docs/UTILS.md +0 -105
- package/docs/WALKTHROUGH.md +0 -165
- package/dot_config/clippy.toml +0 -55
- package/dot_config/dotfiles/versions.env.tmpl +0 -19
- package/dot_config/firefox/user.js +0 -8
- package/dot_config/git/config.tmpl +0 -77
- package/dot_config/go/aliases.sh +0 -61
- package/dot_config/go/env.sh +0 -24
- package/dot_config/ice/README.md +0 -13
- package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
- package/dot_config/lsd/config.yaml +0 -19
- package/dot_config/nvim/snippets/all.lua +0 -9
- package/dot_config/nvim/snippets/python.lua +0 -16
- package/dot_config/shell/00-container-detect.sh +0 -53
- package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
- package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
- package/dot_config/shell/90-theme-switch.sh +0 -70
- package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
- package/dot_config/waybar/style.css +0 -8
- package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
- package/dot_local/bin/executable_zig-install +0 -89
- package/dot_local/bin/voice_ops +0 -7
- package/scripts/ops/health-check.sh +0 -380
- package/scripts/tests/README.md +0 -241
- package/scripts/tests/benchmark.sh +0 -91
- package/scripts/tests/framework/assertions.sh +0 -283
- package/scripts/tests/framework/mocks.sh +0 -201
- package/scripts/tests/framework/test_runner.sh +0 -189
- package/scripts/tests/integration/test_install.sh +0 -237
- package/scripts/tests/performance/benchmark_runner.sh +0 -156
- package/scripts/tests/performance/regression_check.sh +0 -73
- package/scripts/tests/performance/stress_test.sh +0 -65
- package/scripts/tests/test-aliases.sh +0 -25
- package/scripts/tests/test-docker.sh +0 -48
- package/scripts/tests/unit/test_ai_aliases.sh +0 -158
- package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
- package/scripts/tests/unit/test_backup.sh +0 -227
- package/scripts/tests/unit/test_case_functions.sh +0 -238
- package/scripts/tests/unit/test_cd_aliases.sh +0 -367
- package/scripts/tests/unit/test_dot_cli.sh +0 -217
- package/scripts/tests/unit/test_encode64.sh +0 -67
- package/scripts/tests/unit/test_environment.sh +0 -78
- package/scripts/tests/unit/test_extract.sh +0 -163
- package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
- package/scripts/tests/unit/test_genpass.sh +0 -298
- package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
- package/scripts/tests/unit/test_installers.sh +0 -172
- package/scripts/tests/unit/test_keygen.sh +0 -68
- package/scripts/tests/unit/test_logging.sh +0 -96
- package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
- package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
- package/scripts/tests/unit/test_prependpath.sh +0 -66
- package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
- package/scripts/tests/unit/test_rd.sh +0 -230
- package/scripts/tests/unit/test_security_fixes.sh +0 -130
- package/scripts/tests/unit/test_security_scripts.sh +0 -87
- package/scripts/tests/unit/test_template_validation.sh +0 -238
- package/scripts/tests/unit/test_utility_functions.sh +0 -144
- package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
- package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
- package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
- package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
- package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
- package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
- package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
- package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
- package/scripts/tests/unit/test_zipf.sh +0 -76
- /package/docs/{LEGACY_ROADMAP.md → archive/LEGACY_ROADMAP.md} +0 -0
- /package/docs/{REPO_AUDIT.md → archive/REPO_AUDIT.md} +0 -0
- /package/docs/{KEY_ROTATION.md → security/KEY_ROTATION.md} +0 -0
- /package/dot_config/ansible/{ansible.cfg.tmpl → ansible.cfg} +0 -0
- /package/dot_config/docker/{config.json.tmpl → config.json} +0 -0
- /package/dot_config/k9s/{config.yaml.tmpl → config.yaml} +0 -0
- /package/dot_config/pypoetry/{config.toml.tmpl → config.toml} +0 -0
- /package/dot_config/{pyrightconfig.json.tmpl → pyrightconfig.json} +0 -0
- /package/dot_config/tflint/{tflint.hcl.tmpl → tflint.hcl} +0 -0
- /package/dot_config/yarn/{yarnrc.yml.tmpl → yarnrc.yml} +0 -0
- /package/dot_config/zsh/rc.d/{40-bell.zsh.tmpl → 40-bell.zsh} +0 -0
- /package/dot_config/zsh/rc.d/{50-login-fortune.zsh.tmpl → 50-login-fortune.zsh} +0 -0
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
# Version Synchronization System
|
|
2
|
+
|
|
3
|
+
The version synchronization system ensures that all version references across the repository remain consistent with the version specified in `package.json`.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
### Problem Statement
|
|
8
|
+
Large repositories often have version numbers scattered across multiple files:
|
|
9
|
+
- README badges
|
|
10
|
+
- Documentation headers
|
|
11
|
+
- Feature version stamps
|
|
12
|
+
- Configuration files
|
|
13
|
+
|
|
14
|
+
Manually keeping these synchronized is error-prone and time-consuming.
|
|
15
|
+
|
|
16
|
+
### Solution Architecture
|
|
17
|
+
This system provides automated version synchronization through:
|
|
18
|
+
1. **CI/CD Workflow** (`.github/workflows/sync-versions.yml`) - Automated synchronization on version changes
|
|
19
|
+
2. **Local Script** (`scripts/version-sync.sh`) - Manual synchronization and verification
|
|
20
|
+
3. **Verification System** - Ensures all references remain consistent
|
|
21
|
+
|
|
22
|
+
## Components
|
|
23
|
+
|
|
24
|
+
### 1. GitHub Actions Workflow
|
|
25
|
+
|
|
26
|
+
**Location**: `.github/workflows/sync-versions.yml`
|
|
27
|
+
|
|
28
|
+
**Triggers**:
|
|
29
|
+
- Push to `master` branch when `package.json` changes
|
|
30
|
+
- Pull requests affecting `package.json`
|
|
31
|
+
- Manual dispatch with optional target version
|
|
32
|
+
|
|
33
|
+
**Process**:
|
|
34
|
+
1. **Detect Changes** - Compares current vs previous `package.json` version
|
|
35
|
+
2. **Sync Versions** - Updates all markdown files with version references
|
|
36
|
+
3. **Verify Consistency** - Ensures all references match target version
|
|
37
|
+
4. **Commit & Push** - Automatically commits changes (except on PRs)
|
|
38
|
+
|
|
39
|
+
**Features**:
|
|
40
|
+
- Backup creation before changes
|
|
41
|
+
- Comprehensive change reporting
|
|
42
|
+
- PR comment integration
|
|
43
|
+
- Artifact preservation for rollback
|
|
44
|
+
|
|
45
|
+
### 2. Local Synchronization Script
|
|
46
|
+
|
|
47
|
+
**Location**: `scripts/version-sync.sh`
|
|
48
|
+
|
|
49
|
+
**Usage**:
|
|
50
|
+
```bash
|
|
51
|
+
# Sync to current package.json version
|
|
52
|
+
./scripts/version-sync.sh
|
|
53
|
+
|
|
54
|
+
# Sync to specific version
|
|
55
|
+
./scripts/version-sync.sh 1.2.3
|
|
56
|
+
|
|
57
|
+
# Preview changes without applying
|
|
58
|
+
./scripts/version-sync.sh --dry-run
|
|
59
|
+
|
|
60
|
+
# Verify current consistency
|
|
61
|
+
./scripts/version-sync.sh --verify
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Options**:
|
|
65
|
+
- `--dry-run` - Preview changes without applying
|
|
66
|
+
- `--verify` - Check version consistency only
|
|
67
|
+
- `--backup` / `--no-backup` - Control backup creation
|
|
68
|
+
- `--force` - Force sync even if no changes detected
|
|
69
|
+
|
|
70
|
+
### 3. Version Patterns
|
|
71
|
+
|
|
72
|
+
The system recognizes and updates these patterns:
|
|
73
|
+
|
|
74
|
+
#### README.md
|
|
75
|
+
```markdown
|
|
76
|
+
[]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
#### Documentation Files
|
|
80
|
+
```markdown
|
|
81
|
+
**Version**: v0.2.500
|
|
82
|
+
**Dotfiles Version**: v0.2.500
|
|
83
|
+
Version: v0.2.500
|
|
84
|
+
version 0.2.485
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Integration Points
|
|
88
|
+
|
|
89
|
+
### CI/CD Pipeline Integration
|
|
90
|
+
|
|
91
|
+
The workflow integrates with the existing CI pipeline:
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
# Existing CI workflow can depend on version sync
|
|
95
|
+
needs: [sync-versions, lint-shell, test-linux]
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Git Hooks Integration
|
|
99
|
+
|
|
100
|
+
For local development, add to `.git/hooks/pre-commit`:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
#!/bin/bash
|
|
104
|
+
# Check version consistency before commits
|
|
105
|
+
./scripts/version-sync.sh --verify || {
|
|
106
|
+
echo "Version inconsistency detected. Run: ./scripts/version-sync.sh"
|
|
107
|
+
exit 1
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Package.json Integration
|
|
112
|
+
|
|
113
|
+
Version changes in `package.json` automatically trigger synchronization:
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
{
|
|
117
|
+
"name": "@sebastienrousseau/dotfiles",
|
|
118
|
+
"version": "0.2.485", // Changes here trigger sync
|
|
119
|
+
"scripts": {
|
|
120
|
+
"version-sync": "./scripts/version-sync.sh",
|
|
121
|
+
"version-verify": "./scripts/version-sync.sh --verify"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Workflow Examples
|
|
127
|
+
|
|
128
|
+
### Scenario 1: Version Bump
|
|
129
|
+
```bash
|
|
130
|
+
# Developer updates package.json version
|
|
131
|
+
npm version patch
|
|
132
|
+
|
|
133
|
+
# Push to master
|
|
134
|
+
git push origin master
|
|
135
|
+
|
|
136
|
+
# GitHub Actions automatically:
|
|
137
|
+
# 1. Detects version change
|
|
138
|
+
# 2. Updates all markdown files
|
|
139
|
+
# 3. Commits and pushes changes
|
|
140
|
+
# 4. Verifies consistency
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Scenario 2: PR Review
|
|
144
|
+
```bash
|
|
145
|
+
# PR with package.json changes
|
|
146
|
+
# GitHub Actions automatically:
|
|
147
|
+
# 1. Checks version consistency
|
|
148
|
+
# 2. Reports any mismatches
|
|
149
|
+
# 3. Comments on PR with sync status
|
|
150
|
+
# 4. Provides diff preview
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Scenario 3: Manual Sync
|
|
154
|
+
```bash
|
|
155
|
+
# Local development
|
|
156
|
+
./scripts/version-sync.sh --dry-run # Preview changes
|
|
157
|
+
./scripts/version-sync.sh # Apply changes
|
|
158
|
+
./scripts/version-sync.sh --verify # Confirm consistency
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## File Detection Logic
|
|
162
|
+
|
|
163
|
+
### Automatic Discovery
|
|
164
|
+
The system automatically discovers files containing version references:
|
|
165
|
+
```bash
|
|
166
|
+
rg -l "v?[0-9]+\.[0-9]+\.[0-9]+" --type md
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Known Files
|
|
170
|
+
These files are always included even if they don't currently contain versions:
|
|
171
|
+
- `README.md`
|
|
172
|
+
- `docs/reference/FEATURES.md`
|
|
173
|
+
- Any file matching version patterns
|
|
174
|
+
|
|
175
|
+
### Exclusions
|
|
176
|
+
Files that are intentionally excluded:
|
|
177
|
+
- `CHANGELOG.md` - May contain historical versions
|
|
178
|
+
- `package.json` - Source of truth
|
|
179
|
+
- `docs/security/COMPLIANCE.md` - Includes external compliance spec versions
|
|
180
|
+
- `docs/reference/FONTS.md` - Includes upstream font release versions
|
|
181
|
+
- `docs/archive/LEGACY_ROADMAP.md` - Keeps historical release markers
|
|
182
|
+
- `docs/archive/PLAN.md` - Captures multi-release planning references
|
|
183
|
+
- `docs/operations/VERSION_SYNC.md` - Documentation examples and usage
|
|
184
|
+
- `docs/architecture/WALKTHROUGH.md` - Contains environment-specific tag examples
|
|
185
|
+
- `docs/guides/WSL2_NIX_TROUBLESHOOTING.md` - Contains IP addresses and version-like values
|
|
186
|
+
- Binary files
|
|
187
|
+
- Test fixtures
|
|
188
|
+
|
|
189
|
+
## Error Handling
|
|
190
|
+
|
|
191
|
+
### Common Issues
|
|
192
|
+
|
|
193
|
+
#### Version Mismatch
|
|
194
|
+
```text
|
|
195
|
+
❌ Found inconsistent release in docs/reference/FEATURES.md: vX.Y.Z (expected: vA.B.C)
|
|
196
|
+
```
|
|
197
|
+
**Solution**: Run `./scripts/version-sync.sh` to fix
|
|
198
|
+
|
|
199
|
+
#### Missing Dependencies
|
|
200
|
+
```text
|
|
201
|
+
❌ jq is required but not installed
|
|
202
|
+
```
|
|
203
|
+
**Solution**: Install dependencies (`jq`, `rg`)
|
|
204
|
+
|
|
205
|
+
#### Permission Issues
|
|
206
|
+
```text
|
|
207
|
+
❌ Permission denied writing to README.md
|
|
208
|
+
```
|
|
209
|
+
**Solution**: Check file permissions and Git status
|
|
210
|
+
|
|
211
|
+
### Recovery Procedures
|
|
212
|
+
|
|
213
|
+
#### Rollback Changes
|
|
214
|
+
```bash
|
|
215
|
+
# Restore from backup
|
|
216
|
+
cp .version-sync-backup/README.md.*.backup README.md
|
|
217
|
+
|
|
218
|
+
# Or restore from Git
|
|
219
|
+
git checkout HEAD~1 -- README.md
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
#### Force Resync
|
|
223
|
+
```bash
|
|
224
|
+
./scripts/version-sync.sh --force
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Monitoring & Maintenance
|
|
228
|
+
|
|
229
|
+
### Health Checks
|
|
230
|
+
```bash
|
|
231
|
+
# Daily verification (add to cron)
|
|
232
|
+
./scripts/version-sync.sh --verify || echo "Version drift detected"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Metrics Tracking
|
|
236
|
+
The GitHub Actions workflow provides metrics:
|
|
237
|
+
- Files scanned
|
|
238
|
+
- Files updated
|
|
239
|
+
- Verification status
|
|
240
|
+
- Processing time
|
|
241
|
+
|
|
242
|
+
### Backup Strategy
|
|
243
|
+
- Local backups in `.version-sync-backup/`
|
|
244
|
+
- GitHub Actions artifacts (30-day retention)
|
|
245
|
+
- Git history for rollback
|
|
246
|
+
|
|
247
|
+
## Security Considerations
|
|
248
|
+
|
|
249
|
+
### Token Permissions
|
|
250
|
+
```yaml
|
|
251
|
+
permissions:
|
|
252
|
+
contents: write # Required for commits
|
|
253
|
+
pull-requests: write # Required for PR comments
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Validation
|
|
257
|
+
- Version format validation (`x.y.z` pattern)
|
|
258
|
+
- File path validation (no directory traversal)
|
|
259
|
+
- Change verification before commit
|
|
260
|
+
|
|
261
|
+
### Audit Trail
|
|
262
|
+
- All changes logged in Git history
|
|
263
|
+
- GitHub Actions run history
|
|
264
|
+
- Backup preservation
|
|
265
|
+
|
|
266
|
+
## Performance Optimization
|
|
267
|
+
|
|
268
|
+
### Caching Strategy
|
|
269
|
+
- Git operations use shallow fetch when possible
|
|
270
|
+
- Pattern compilation cached
|
|
271
|
+
- File discovery optimized with `ripgrep`
|
|
272
|
+
|
|
273
|
+
### Parallel Processing
|
|
274
|
+
- File processing is sequential but optimized
|
|
275
|
+
- Git operations batched
|
|
276
|
+
- Verification runs concurrently with updates
|
|
277
|
+
|
|
278
|
+
### Resource Usage
|
|
279
|
+
- Typical run time: 30-60 seconds
|
|
280
|
+
- Memory usage: <100MB
|
|
281
|
+
- Network usage: Minimal (only Git operations)
|
|
282
|
+
|
|
283
|
+
## Future Enhancements
|
|
284
|
+
|
|
285
|
+
### Planned Features
|
|
286
|
+
1. **Smart Version Detection** - Semantic version awareness
|
|
287
|
+
2. **Template Support** - Custom version patterns
|
|
288
|
+
3. **Multi-Format Support** - YAML, JSON, TOML files
|
|
289
|
+
4. **Rollback Automation** - One-command rollback
|
|
290
|
+
5. **Integration Testing** - End-to-end workflow tests
|
|
291
|
+
|
|
292
|
+
### Extension Points
|
|
293
|
+
- Custom pattern definitions
|
|
294
|
+
- File-specific update rules
|
|
295
|
+
- Pre/post-sync hooks
|
|
296
|
+
- External validation services
|
|
297
|
+
|
|
298
|
+
## Troubleshooting
|
|
299
|
+
|
|
300
|
+
### Debug Mode
|
|
301
|
+
```bash
|
|
302
|
+
# Enable verbose output
|
|
303
|
+
DEBUG=1 ./scripts/version-sync.sh --dry-run
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Common Solutions
|
|
307
|
+
| Issue | Solution |
|
|
308
|
+
|-------|----------|
|
|
309
|
+
| Script not executable | `chmod +x scripts/version-sync.sh` |
|
|
310
|
+
| Missing tools | `apt install jq ripgrep` (Ubuntu) |
|
|
311
|
+
| Permission denied | Check Git status and file permissions |
|
|
312
|
+
| Workflow not triggering | Verify `package.json` changes are in push |
|
|
313
|
+
| Changes not committed | Check branch protection rules |
|
|
314
|
+
|
|
315
|
+
### Log Analysis
|
|
316
|
+
```bash
|
|
317
|
+
# View GitHub Actions logs
|
|
318
|
+
gh run list --workflow=sync-versions.yml
|
|
319
|
+
gh run view <run-id> --log
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Contributing
|
|
323
|
+
|
|
324
|
+
### Testing Changes
|
|
325
|
+
```bash
|
|
326
|
+
# Test local changes
|
|
327
|
+
./scripts/version-sync.sh --dry-run
|
|
328
|
+
|
|
329
|
+
# Test workflow changes (requires GitHub CLI)
|
|
330
|
+
gh workflow run sync-versions.yml --ref feature-branch
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Adding New Patterns
|
|
334
|
+
1. Update pattern regex in script
|
|
335
|
+
2. Add test cases
|
|
336
|
+
3. Update documentation
|
|
337
|
+
4. Submit PR with examples
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
**Last Updated**: 2026-02-15
|
|
342
|
+
**Version**: v0.2.500
|
|
343
|
+
**Maintainer**: Principal Automation Engineer
|
|
344
|
+
**Status**: Production Ready ✅
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
# Aliases
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Organization
|
|
6
|
-
|
|
7
|
-
The repo organizes aliases in `~/.dotfiles/.chezmoitemplates/aliases/` by category. Each category has its own directory containing a `<name>.aliases.sh` file.
|
|
3
|
+
Shell aliases provided by the dotfiles, organized by category in `~/.dotfiles/.chezmoitemplates/aliases/`.
|
|
8
4
|
|
|
9
5
|
## Categories
|
|
10
6
|
|
|
@@ -46,7 +42,7 @@ The repo organizes aliases in `~/.dotfiles/.chezmoitemplates/aliases/` by catego
|
|
|
46
42
|
| `di` | `docker images` | List images |
|
|
47
43
|
| `dexec` | `docker exec -it` | Execute in container |
|
|
48
44
|
| `denter` | `docker exec -it <container> /bin/bash` | Enter container |
|
|
49
|
-
| `dlogsf` | `docker logs -f` | Follow logs |
|
|
45
|
+
| `dlogsf` | `docker logs -f` | Follow logs (deprecated, use `dklf`) |
|
|
50
46
|
| `dl` | `docker logs` | Show logs |
|
|
51
47
|
| `dprune` | `docker system prune` | Clean up |
|
|
52
48
|
| `dprunea` | `docker system prune -a` | Clean up all |
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Alias Cheatsheet
|
|
2
|
+
|
|
3
|
+
Auto-generated from the alias manifest.
|
|
4
|
+
|
|
5
|
+
## Core Shortcuts
|
|
6
|
+
|
|
7
|
+
| Alias | Command |
|
|
8
|
+
|-------|---------|
|
|
9
|
+
| `c` | `clear_screen` |
|
|
10
|
+
| `q` | `quit` |
|
|
11
|
+
| `e` | `${EDITOR:-nano}` |
|
|
12
|
+
| `h` | `history` |
|
|
13
|
+
| `_` | `sudo ` |
|
|
14
|
+
| `i` | `epoch` |
|
|
15
|
+
| `l` | `dot_ls` |
|
|
16
|
+
| `ll` | `dot_ll` |
|
|
17
|
+
| `la` | `dot_la` |
|
|
18
|
+
| `lr` | `dot_lr` |
|
|
19
|
+
| `lra` | `dot_lra` |
|
|
20
|
+
| `lt` | `dot_lt` |
|
|
21
|
+
| `lta` | `dot_lta` |
|
|
22
|
+
| `a` | `ai_core query` |
|
|
23
|
+
| `d` | `dot` |
|
|
24
|
+
|
|
25
|
+
## Notes
|
|
26
|
+
|
|
27
|
+
- Regenerate with `dot aliases cheatsheet`.
|
|
28
|
+
- Apply changes with `chezmoi apply`.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Alias Deprecations
|
|
2
|
+
|
|
3
|
+
This file tracks aliases that we've kept temporarily for backwards compatibility.
|
|
4
|
+
|
|
5
|
+
| Alias | Replacement | Remove In | Note |
|
|
6
|
+
|-------|-------------|-----------|------|
|
|
7
|
+
| `dlogsf` | `dklf` | `v0.2.500` | Removed duplicate logs-follow alias |
|
|
8
|
+
|
|
9
|
+
Use `dot aliases why <alias>` to check deprecation status from the CLI.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Feature Flags Reference
|
|
2
|
+
|
|
3
|
+
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`.
|
|
4
|
+
|
|
5
|
+
## Shell and Terminal
|
|
6
|
+
|
|
7
|
+
These flags control shell behavior and terminal tools.
|
|
8
|
+
|
|
9
|
+
| Flag | Default | Description |
|
|
10
|
+
|------|---------|-------------|
|
|
11
|
+
| `alias_wrapper` | `false` | Enable alias governance wrapper (confirms destructive aliases) |
|
|
12
|
+
| `dms` | `true` | Dank Material Shell theming for GNOME |
|
|
13
|
+
| `zellij` | `false` | Enable Zellij terminal multiplexer config |
|
|
14
|
+
|
|
15
|
+
## Linux Desktop
|
|
16
|
+
|
|
17
|
+
These flags enable Wayland desktop components. Turn them on if you run a Linux desktop with Niri or another tiling compositor.
|
|
18
|
+
|
|
19
|
+
| Flag | Default | Description |
|
|
20
|
+
|------|---------|-------------|
|
|
21
|
+
| `linux_desktop` | `false` | Enable full Linux desktop environment configs |
|
|
22
|
+
| `niri` | `false` | Niri Wayland compositor config |
|
|
23
|
+
| `waybar` | `false` | Waybar status bar config |
|
|
24
|
+
| `fuzzel` | `false` | Fuzzel application launcher config |
|
|
25
|
+
| `mako` | `false` | Mako notification daemon config |
|
|
26
|
+
| `foot` | `false` | Foot terminal emulator config |
|
|
27
|
+
| `kanshi` | `false` | Kanshi display manager config |
|
|
28
|
+
|
|
29
|
+
## Hardware
|
|
30
|
+
|
|
31
|
+
| Flag | Default | Description |
|
|
32
|
+
|------|---------|-------------|
|
|
33
|
+
| `touch` | `false` | Enable touchscreen support (gestures, on-screen keyboard) |
|
|
34
|
+
| `t2` | `false` | Apple T2 security chip handling |
|
|
35
|
+
| `surface` | `false` | Microsoft Surface hardware support |
|
|
36
|
+
|
|
37
|
+
## Tool Selection
|
|
38
|
+
|
|
39
|
+
| Setting | Default | Options |
|
|
40
|
+
|---------|---------|---------|
|
|
41
|
+
| `node_manager` | `mise` | `mise`, `fnm`, `nvm` |
|
|
42
|
+
|
|
43
|
+
## Alias Policy
|
|
44
|
+
|
|
45
|
+
| Setting | Default | Description |
|
|
46
|
+
|---------|---------|-------------|
|
|
47
|
+
| `aliases.buckets.system` | `true` | Enable system utility aliases |
|
|
48
|
+
| `aliases.buckets.svn` | `true` | Enable SVN aliases |
|
|
49
|
+
| `aliases.policy.strict_mode` | `false` | Require confirmation for destructive aliases (rm, mv) |
|
|
50
|
+
|
|
51
|
+
## How to Toggle Features
|
|
52
|
+
|
|
53
|
+
You can edit flags in two places. Change `.chezmoidata.toml` in the repo to set defaults for all machines. Or override on a single machine in `~/.config/chezmoi/chezmoi.toml`:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# In ~/.config/chezmoi/chezmoi.toml
|
|
57
|
+
[data.features]
|
|
58
|
+
zellij = true
|
|
59
|
+
linux_desktop = true
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Then apply: `dot apply`
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Font configuration
|
|
2
|
+
|
|
3
|
+
How fonts are set up, rendered, and installed in these dotfiles.
|
|
4
|
+
|
|
5
|
+
## Recommended fonts
|
|
6
|
+
|
|
7
|
+
### Primary: JetBrains Mono Nerd Font
|
|
8
|
+
|
|
9
|
+
The default font is JetBrains Mono with Nerd Font patches. It's designed for code readability, supports ligatures, includes Powerline/Nerd Font glyphs, and clearly distinguishes similar characters (`0`/`O`, `1`/`l`/`I`).
|
|
10
|
+
|
|
11
|
+
### Alternatives
|
|
12
|
+
|
|
13
|
+
| Font | Style | Best for |
|
|
14
|
+
|------|-------|----------|
|
|
15
|
+
| Fira Code | Modern | Ligature fans |
|
|
16
|
+
| Cascadia Code | Microsoft | VS Code users |
|
|
17
|
+
| Hack | Classic | Traditional monospace look |
|
|
18
|
+
| Source Code Pro | Adobe | Clean aesthetic |
|
|
19
|
+
| Iosevka | Narrow | Small screens |
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
### macOS (Homebrew)
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
brew tap homebrew/cask-fonts
|
|
27
|
+
brew install --cask font-jetbrains-mono-nerd-font
|
|
28
|
+
|
|
29
|
+
# Or use the dot CLI
|
|
30
|
+
dot fonts install
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Linux (manual)
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/JetBrainsMono.zip
|
|
37
|
+
unzip JetBrainsMono.zip -d ~/.local/share/fonts/
|
|
38
|
+
fc-cache -fv
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Patching your own fonts
|
|
42
|
+
|
|
43
|
+
To patch a custom font with Nerd Font glyphs:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
~/.dotfiles/scripts/fonts/patch-fonts.sh /path/to/font.ttf
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Terminal configuration
|
|
50
|
+
|
|
51
|
+
### Ghostty
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
font-family = JetBrains Mono Nerd Font
|
|
55
|
+
font-size = 14
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### WezTerm
|
|
59
|
+
|
|
60
|
+
```lua
|
|
61
|
+
config.font = wezterm.font("JetBrains Mono Nerd Font")
|
|
62
|
+
config.font_size = 14.0
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Alacritty
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
font:
|
|
69
|
+
normal:
|
|
70
|
+
family: JetBrains Mono Nerd Font
|
|
71
|
+
size: 14.0
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Kitty
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
font_family JetBrains Mono Nerd Font
|
|
78
|
+
font_size 14.0
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Font size recommendations
|
|
82
|
+
|
|
83
|
+
| Display | Size |
|
|
84
|
+
|---------|------|
|
|
85
|
+
| 13" laptop | 12-13pt |
|
|
86
|
+
| 15" laptop | 13-14pt |
|
|
87
|
+
| 24" monitor | 14-15pt |
|
|
88
|
+
| 27" 4K monitor | 15-16pt |
|
|
89
|
+
|
|
90
|
+
## Troubleshooting
|
|
91
|
+
|
|
92
|
+
### Fonts not displaying correctly
|
|
93
|
+
|
|
94
|
+
1. Verify the font is installed: `fc-list | grep JetBrains`
|
|
95
|
+
2. Restart your terminal
|
|
96
|
+
3. Double-check the terminal's font settings
|
|
97
|
+
|
|
98
|
+
### Nerd Font icons missing
|
|
99
|
+
|
|
100
|
+
1. Make sure you're using a Nerd Font variant (not the plain version)
|
|
101
|
+
2. Confirm the terminal supports the required Unicode range
|
|
102
|
+
3. Try a different Nerd Font if the issue persists
|
|
103
|
+
|
|
104
|
+
### Ligatures not working
|
|
105
|
+
|
|
106
|
+
1. Enable ligatures in your terminal's settings
|
|
107
|
+
2. Some terminals don't support ligatures (e.g., `Terminal.app`)
|
|
108
|
+
3. Ghostty, WezTerm, and Kitty all handle ligatures well
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Profiles and Machine Setup
|
|
2
|
+
|
|
3
|
+
## Profile System
|
|
4
|
+
|
|
5
|
+
You can set up each machine differently using profiles and hardware presets.
|
|
6
|
+
|
|
7
|
+
### Setting Your Profile
|
|
8
|
+
|
|
9
|
+
Edit `~/.config/chezmoi/chezmoi.toml`:
|
|
10
|
+
|
|
11
|
+
```toml
|
|
12
|
+
[data]
|
|
13
|
+
profile = "laptop" # laptop | minimal | server
|
|
14
|
+
machine = "macbook-m3" # optional: machine identifier
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Available Profiles
|
|
18
|
+
|
|
19
|
+
| Profile | Description | What's Included |
|
|
20
|
+
|---------|-------------|-----------------|
|
|
21
|
+
| `laptop` | Full desktop setup (default) | All tools, AI CLIs, themes, completions |
|
|
22
|
+
| `minimal` | Fast, lightweight | Core shell, git, basic aliases only |
|
|
23
|
+
| `server` | Headless server | Shell, git, monitoring tools, no desktop |
|
|
24
|
+
|
|
25
|
+
### Per-Machine Overrides
|
|
26
|
+
|
|
27
|
+
Create a `~/.config/chezmoi/chezmoi.toml` file on each machine to override defaults:
|
|
28
|
+
|
|
29
|
+
```toml
|
|
30
|
+
[data]
|
|
31
|
+
profile = "laptop"
|
|
32
|
+
machine = "work-macbook"
|
|
33
|
+
default_shell = "zsh"
|
|
34
|
+
|
|
35
|
+
[data.features]
|
|
36
|
+
linux_desktop = false
|
|
37
|
+
zellij = true
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Hardware Presets
|
|
41
|
+
|
|
42
|
+
The `templates/chezmoi-data/` folder has ready-made configs for common hardware:
|
|
43
|
+
|
|
44
|
+
- `mac-m1.toml.example` — Apple Silicon MacBook
|
|
45
|
+
- `geekom-a9.toml.example` — AMD mini PC (Linux)
|
|
46
|
+
- `surface-pro-7p.toml.example` — Microsoft Surface (Linux)
|
|
47
|
+
- `mac-t2-linux.toml.example` — Intel Mac running Linux
|
|
48
|
+
|
|
49
|
+
Copy the one that matches your hardware:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
cp templates/chezmoi-data/mac-m1.toml.example ~/.config/chezmoi/chezmoi.toml
|
|
53
|
+
chezmoi apply
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Environment Variables
|
|
57
|
+
|
|
58
|
+
You can change behavior for a single session without editing any files:
|
|
59
|
+
|
|
60
|
+
| Variable | Default | Effect |
|
|
61
|
+
|----------|---------|--------|
|
|
62
|
+
| `DOTFILES_FAST=1` | 0 | Skip heavy layers (zinit, completions) |
|
|
63
|
+
| `DOTFILES_ULTRA_FAST=1` | 0 | Bare minimum shell (aliases + prompt) |
|
|
64
|
+
| `DOTFILES_AI=1` | 0 | Enable AI helper scripts |
|
|
65
|
+
| `DOTFILES_PROFILE=custom` | laptop | Override profile for session |
|