@sebastienrousseau/dotfiles 0.2.502 → 0.2.503
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 +83 -9
- package/LICENSE +21 -1283
- package/README.md +5 -3
- package/docs/CONFIG_STRATEGY.md +124 -0
- package/docs/COPYRIGHT +1 -1
- package/docs/GOVERNANCE.md +98 -0
- package/docs/MAINTAINERS.md +41 -0
- package/docs/OPENCODE.md +127 -0
- package/docs/README.md +2 -0
- package/docs/STRUCTURE.md +102 -0
- package/docs/adr/ADR-011-nushell-tier3-keep.md +2 -2
- package/docs/architecture/AI_COST_OPTIMIZATION.md +143 -0
- package/docs/architecture/REPO_LAYOUT.md +8 -8
- package/docs/archive/MILESTONE_v0.2.493.md +1 -1
- package/docs/index.md +2 -2
- package/docs/interop/POWERSHELL.md +1 -1
- package/docs/manual/00-introduction.md +1 -1
- package/docs/manual/01-concepts/02-trust-model.md +1 -1
- package/docs/manual/03-reference/02-config-files.md +2 -2
- package/docs/manual/_toc.yml +1 -1
- package/docs/manual/command-index.md +72 -59
- package/docs/operations/CI_COMPOSITES.md +2 -2
- package/docs/operations/COMPLETIONS.md +2 -2
- package/docs/operations/COVERAGE.md +5 -5
- package/docs/operations/HARD_AUDIT_2026.md +11 -11
- package/docs/operations/MAINTENANCE.md +3 -3
- package/docs/operations/MANIFEST.md +127 -0
- package/docs/operations/RELEASE_PIPELINE.md +130 -0
- package/docs/operations/RFC_v0_2_503_reorganization.md +280 -0
- package/docs/operations/ROADMAP_2026.md +6 -6
- package/docs/operations/ROADMAP_V0_2_503.md +134 -0
- package/docs/operations/TESTING.md +17 -0
- package/docs/operations/TRACEABILITY.md +6 -3
- package/docs/operations/VERSION_SYNC.md +4 -4
- package/docs/reference/POWERSHELL_PARITY.md +8 -7
- package/docs/schema/dot-env-v1.json +110 -0
- package/docs/security/CI_EGRESS_ALLOWLIST.md +1 -1
- package/docs/security/CI_PINNING.md +17 -9
- package/docs/security/DEPS_DEV_EXCEPTIONS.md +2 -2
- package/docs/security/FUZZING.md +114 -0
- package/docs/security/INSTALL_VERIFICATION.md +2 -2
- package/docs/security/POLICY_RELEASES.md +2 -2
- package/docs/security/SCORECARD.md +58 -3
- package/docs/security/SHELL_EXEMPTIONS.md +4 -4
- package/docs/security/VERIFY_RELEASE.md +201 -0
- package/install.sh +27 -5
- package/package.json +1 -1
- package/scripts/README.md +123 -0
- package/scripts/ci/check-copyright-headers.sh +4 -93
- package/scripts/ci/check-shell-preamble.sh +4 -103
- package/scripts/ci/guard-gitleaks-checkout.sh +4 -54
- package/scripts/diagnostics/a2a-conformance.sh +4 -4
- package/scripts/diagnostics/alias-governance.sh +1 -1
- package/scripts/diagnostics/aliases-cheatsheet.sh +2 -2
- package/scripts/diagnostics/benchmark.sh +4 -4
- package/scripts/diagnostics/conflicts.sh +2 -2
- package/scripts/diagnostics/doctor-unified.sh +2 -2
- package/scripts/diagnostics/doctor.sh +10 -10
- package/scripts/diagnostics/drift-dashboard.sh +2 -2
- package/scripts/diagnostics/health.sh +4 -4
- package/scripts/diagnostics/history-analysis.sh +2 -2
- package/scripts/diagnostics/mcp-doctor.sh +10 -7
- package/scripts/diagnostics/perf.sh +4 -4
- package/scripts/diagnostics/scorecard.sh +4 -4
- package/scripts/diagnostics/security-score.sh +2 -2
- package/scripts/diagnostics/smoke-test.sh +2 -2
- package/scripts/diagnostics/snapshot.sh +2 -2
- package/scripts/diagnostics/verify.sh +4 -4
- package/scripts/diagnostics/version-locks.sh +2 -2
- package/scripts/diagnostics/workstation-attestation.sh +14 -14
- package/scripts/dot/commands/agent.sh +8 -0
- package/scripts/dot/commands/agents.sh +14 -4
- package/scripts/dot/commands/ai.sh +144 -25
- package/scripts/dot/commands/appearance.sh +2 -2
- package/scripts/dot/commands/core.sh +2 -2
- package/scripts/dot/commands/diagnostics.sh +5 -5
- package/scripts/dot/commands/env-emit.sh +202 -0
- package/scripts/dot/commands/fleet.sh +12 -11
- package/scripts/dot/commands/init.sh +4 -4
- package/scripts/dot/commands/lint.sh +9 -4
- package/scripts/dot/commands/manual.sh +3 -3
- package/scripts/dot/commands/meta.sh +12 -6
- package/scripts/dot/commands/patterns.sh +2 -2
- package/scripts/dot/commands/registry.sh +4 -4
- package/scripts/dot/commands/restore.sh +4 -4
- package/scripts/dot/commands/secrets.sh +4 -3
- package/scripts/dot/commands/security.sh +2 -2
- package/scripts/dot/commands/tools.sh +13 -3
- package/scripts/dot/powershell/Dot.psm1 +199 -0
- package/scripts/fonts/install-nerd-fonts.sh +2 -2
- package/scripts/git-hooks/pre-commit-audit.sh +2 -2
- package/scripts/git-hooks/pre-push +13 -0
- package/scripts/ops/ai-setup.sh +1 -1
- package/scripts/ops/bundle.sh +2 -2
- package/scripts/ops/chaos.sh +2 -2
- package/scripts/ops/chezmoi-apply.sh +4 -4
- package/scripts/ops/heal.sh +4 -4
- package/scripts/ops/post-apply-repair.sh +2 -2
- package/scripts/ops/prewarm.sh +2 -2
- package/scripts/ops/release.sh +4 -4
- package/scripts/ops/rollback.sh +4 -4
- package/scripts/ops/setup.sh +2 -2
- package/scripts/qa/check-version-consistency.sh +123 -0
- package/scripts/qa/coverage-baseline.sh +1 -1
- package/scripts/qa/docs-coverage.sh +2 -2
- package/scripts/qa/powershell-contract.ps1 +1 -1
- package/scripts/qa/scorecard-snapshot.sh +127 -0
- package/scripts/security/backup.sh +2 -2
- package/scripts/security/dns-doh.sh +4 -4
- package/scripts/security/encryption-check.sh +4 -4
- package/scripts/security/enforce-policies.sh +2 -2
- package/scripts/security/firewall.sh +4 -4
- package/scripts/security/lock-screen.sh +4 -4
- package/scripts/security/manage-secrets.sh +2 -2
- package/scripts/security/ssh-cert.sh +2 -2
- package/scripts/security/telemetry-kill.sh +4 -4
- package/scripts/security/usb-safety.sh +4 -4
- package/scripts/theme/extract-heic-frames.sh +114 -0
- package/scripts/theme/rebuild-themes.sh +8 -1
- package/scripts/theme/switch.sh +13 -6
- package/scripts/theme/wallpaper-sync.sh +297 -93
- package/scripts/tuning/linux.sh +2 -2
- package/scripts/tuning/macos.sh +2 -2
- package/scripts/version-sync.sh +55 -7
- package/dot_config/.module-manifest.json +0 -69
- package/dot_config/ai/identity.md +0 -23
- package/dot_config/ai/patterns/architect.md +0 -16
- package/dot_config/ai/patterns/hardener.md +0 -15
- package/dot_config/ai/patterns/refactor.md +0 -15
- package/dot_config/aider/aider.conf.yml +0 -32
- package/dot_config/alacritty/alacritty.toml.tmpl +0 -55
- package/dot_config/ansible/ansible.cfg +0 -11
- package/dot_config/atuin/config.toml.tmpl +0 -47
- package/dot_config/bat/config +0 -23
- package/dot_config/brave-flags.conf.tmpl +0 -7
- package/dot_config/btop/btop.conf +0 -16
- package/dot_config/btop/themes/tokyonight.theme +0 -34
- package/dot_config/bun/bunfig.toml.tmpl +0 -33
- package/dot_config/claude/mcp_servers.json +0 -20
- package/dot_config/containers/containers.conf +0 -14
- package/dot_config/curl/dot_curlrc +0 -18
- package/dot_config/dlv/config.yml +0 -39
- package/dot_config/docker/config.json +0 -15
- package/dot_config/dotfiles/agent-card.json +0 -29
- package/dot_config/dotfiles/agent-profiles.json +0 -92
- package/dot_config/dotfiles/boot/README.md +0 -13
- package/dot_config/dotfiles/grub/README.md +0 -13
- package/dot_config/dotfiles/lock/README.md +0 -13
- package/dot_config/dotfiles/mcp-lock.json +0 -33
- package/dot_config/dotfiles/mcp-policy.json +0 -52
- package/dot_config/dotfiles/mcp-registry.json +0 -47
- package/dot_config/dotfiles/model-registry.json +0 -20
- package/dot_config/dotfiles/policy-bundles.json +0 -38
- package/dot_config/dotfiles/prompt-registry.json +0 -16
- package/dot_config/dotfiles/versions.env +0 -18
- package/dot_config/duf/duf.conf +0 -6
- package/dot_config/duti/defaults.duti +0 -5
- package/dot_config/emoji/emoji.txt +0 -34
- package/dot_config/environment.d/50-ssh-agent.conf +0 -2
- package/dot_config/environment.d/90-wayland.conf +0 -19
- package/dot_config/fastfetch/config.jsonc +0 -28
- package/dot_config/firefox/user.js.tmpl +0 -58
- package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +0 -9
- package/dot_config/fish/completions/dot.fish.tmpl +0 -115
- package/dot_config/fish/conf.d/000-perf-cache.fish +0 -56
- package/dot_config/fish/conf.d/aliases.fish.tmpl +0 -77
- package/dot_config/fish/conf.d/direnv.fish +0 -4
- package/dot_config/fish/conf.d/env.fish.tmpl +0 -48
- package/dot_config/fish/conf.d/functions.fish.tmpl +0 -22
- package/dot_config/fish/conf.d/init.fish.tmpl +0 -172
- package/dot_config/fish/conf.d/mise-activate.fish +0 -5
- package/dot_config/fish/config.fish.tmpl +0 -44
- package/dot_config/fish/fish_plugins +0 -1
- package/dot_config/fish/functions/_.fish +0 -3
- package/dot_config/fish/functions/_cached_eval.fish +0 -131
- package/dot_config/fish/functions/_cached_eval_clear.fish +0 -17
- package/dot_config/fish/functions/als.fish +0 -46
- package/dot_config/fish/functions/bg-upgrade.fish +0 -7
- package/dot_config/fish/functions/c.fish +0 -3
- package/dot_config/fish/functions/cat.fish +0 -9
- package/dot_config/fish/functions/d.fish +0 -7
- package/dot_config/fish/functions/dot.fish +0 -34
- package/dot_config/fish/functions/h.fish +0 -3
- package/dot_config/fish/functions/l.fish +0 -7
- package/dot_config/fish/functions/la.fish +0 -7
- package/dot_config/fish/functions/ll.fish +0 -7
- package/dot_config/fish/functions/log_error.fish +0 -13
- package/dot_config/fish/functions/log_info.fish +0 -13
- package/dot_config/fish/functions/lr.fish +0 -7
- package/dot_config/fish/functions/lra.fish +0 -7
- package/dot_config/fish/functions/ls.fish +0 -7
- package/dot_config/fish/functions/lt.fish +0 -7
- package/dot_config/fish/functions/lta.fish +0 -7
- package/dot_config/fish/functions/notify-run.fish +0 -11
- package/dot_config/fish/functions/q.fish +0 -3
- package/dot_config/fish/functions/silent-run.fish +0 -7
- package/dot_config/fish/functions/yy.fish +0 -8
- package/dot_config/flatpak/flatpak.list +0 -4
- package/dot_config/fontconfig/fonts.conf.tmpl +0 -57
- package/dot_config/foot/foot.ini.tmpl +0 -33
- package/dot_config/fuzzel/fuzzel.ini.tmpl +0 -18
- package/dot_config/fzf/fzf.zsh +0 -48
- package/dot_config/gem/gemrc +0 -9
- package/dot_config/gh/config.yml +0 -12
- package/dot_config/ghostty/config.tmpl +0 -165
- package/dot_config/git/allowed_signers.tmpl +0 -18
- package/dot_config/git/attributes +0 -12
- package/dot_config/git/commit-template +0 -10
- package/dot_config/git/hooks/executable_commit-msg +0 -146
- package/dot_config/git/ignore +0 -27
- package/dot_config/gnupg/gpg-agent.conf +0 -11
- package/dot_config/go/golangci.yml +0 -118
- package/dot_config/go/gopls.json +0 -30
- package/dot_config/goose/config.yaml +0 -29
- package/dot_config/gtk-3.0/gtk.css.tmpl +0 -184
- package/dot_config/gtk-3.0/settings.ini.tmpl +0 -27
- package/dot_config/gtk-4.0/gtk.css.tmpl +0 -252
- package/dot_config/gtk-4.0/settings.ini.tmpl +0 -18
- package/dot_config/htop/htoprc +0 -20
- package/dot_config/inputrc +0 -2
- package/dot_config/ipython/profile_default/ipython_config.py +0 -19
- package/dot_config/just/justfile +0 -122
- package/dot_config/k9s/config.yaml +0 -65
- package/dot_config/k9s/skins/catppuccin-mocha.yaml +0 -116
- package/dot_config/kanshi/config.tmpl +0 -22
- package/dot_config/karabiner/karabiner.json +0 -14
- package/dot_config/kitty/kitty.conf.tmpl +0 -53
- package/dot_config/lazydocker/config.yml +0 -186
- package/dot_config/lazygit/config.yml +0 -35
- package/dot_config/mako/config +0 -47
- package/dot_config/mas/masapps.txt +0 -5
- package/dot_config/micro/settings.json +0 -3
- package/dot_config/mimeapps.list +0 -77
- package/dot_config/minikube/config.json +0 -13
- package/dot_config/mise/config.toml +0 -99
- package/dot_config/mongosh/mongoshrc.js +0 -68
- package/dot_config/mpv/input.conf +0 -47
- package/dot_config/mpv/mpv.conf +0 -47
- package/dot_config/mycli/myclirc +0 -67
- package/dot_config/nano/nanorc +0 -28
- package/dot_config/ncdu/config +0 -12
- package/dot_config/niri/config.kdl.tmpl +0 -327
- package/dot_config/nushell/aliases.nu +0 -18
- package/dot_config/nushell/cached_eval.nu +0 -80
- package/dot_config/nushell/completions.nu.tmpl +0 -52
- package/dot_config/nushell/config.nu.tmpl +0 -86
- package/dot_config/nushell/env.nu.tmpl +0 -102
- package/dot_config/nushell/functions.nu.tmpl +0 -17
- package/dot_config/nvim/init.lua +0 -18
- package/dot_config/nvim/lazy-lock.json +0 -58
- package/dot_config/nvim/lua/config/autocmds.lua +0 -107
- package/dot_config/nvim/lua/config/keymaps.lua +0 -92
- package/dot_config/nvim/lua/config/lazy.lua +0 -44
- package/dot_config/nvim/lua/config/options.lua +0 -49
- package/dot_config/nvim/lua/plugins/ai.lua +0 -75
- package/dot_config/nvim/lua/plugins/coding.lua +0 -216
- package/dot_config/nvim/lua/plugins/completion.lua +0 -60
- package/dot_config/nvim/lua/plugins/dap.lua +0 -412
- package/dot_config/nvim/lua/plugins/editor.lua +0 -55
- package/dot_config/nvim/lua/plugins/git.lua +0 -10
- package/dot_config/nvim/lua/plugins/lsp.lua +0 -156
- package/dot_config/nvim/lua/plugins/markdown.lua +0 -18
- package/dot_config/nvim/lua/plugins/rust.lua +0 -34
- package/dot_config/nvim/lua/plugins/sessions.lua +0 -33
- package/dot_config/nvim/lua/plugins/ui.lua +0 -509
- package/dot_config/paru/paru.conf +0 -10
- package/dot_config/pip/pip.conf.tmpl +0 -32
- package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +0 -81
- package/dot_config/pueue/pueue.yml +0 -34
- package/dot_config/pypoetry/config.toml +0 -6
- package/dot_config/pyrightconfig.json +0 -5
- package/dot_config/raycast/README.md +0 -13
- package/dot_config/redis/redisclirc +0 -41
- package/dot_config/ripgrep/ripgreprc +0 -21
- package/dot_config/shell/00-core-paths.sh.tmpl +0 -141
- package/dot_config/shell/05-core-safety.sh +0 -48
- package/dot_config/shell/10-secrets.sh +0 -41
- package/dot_config/shell/40-fzf-defaults.sh.tmpl +0 -17
- package/dot_config/shell/40-ls-colors.sh +0 -49
- package/dot_config/shell/50-logic-functions-core.sh.tmpl +0 -11
- package/dot_config/shell/50-logic-functions.sh.tmpl +0 -11
- package/dot_config/shell/51-logic-functions-extra.sh.tmpl +0 -65
- package/dot_config/shell/90-ux-aliases.sh.tmpl +0 -121
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +0 -55
- package/dot_config/shell/Brewfile +0 -207
- package/dot_config/shell/Brewfile.cask +0 -92
- package/dot_config/shell/Brewfile.cli +0 -127
- package/dot_config/shell/README.md +0 -284
- package/dot_config/shell/als_data.txt.tmpl +0 -65
- package/dot_config/shell/custom/auto_ls.zsh +0 -20
- package/dot_config/shell/custom/context_suggest.zsh +0 -68
- package/dot_config/shell/custom/error_analysis.zsh +0 -45
- package/dot_config/sops/dot_sops.yaml +0 -23
- package/dot_config/starship.toml.tmpl +0 -202
- package/dot_config/swaylock/config +0 -43
- package/dot_config/systemd/user/dotfiles-maintenance.service +0 -8
- package/dot_config/systemd/user/dotfiles-maintenance.timer +0 -11
- package/dot_config/systemd/user/pueued.service +0 -12
- package/dot_config/systemd/user/ssh-agent.service +0 -12
- package/dot_config/task/Taskfile.yml +0 -86
- package/dot_config/tflint/tflint.hcl +0 -9
- package/dot_config/tmux/tmux.conf.tmpl +0 -223
- package/dot_config/topgrade.toml.tmpl +0 -54
- package/dot_config/user-dirs.dirs +0 -10
- package/dot_config/vscode/extensions.txt +0 -11
- package/dot_config/vscode/settings.json.tmpl +0 -82
- package/dot_config/waybar/config.jsonc.tmpl +0 -90
- package/dot_config/waybar/style.css.tmpl +0 -211
- package/dot_config/wezterm/wezterm.lua.tmpl +0 -64
- package/dot_config/wget/wgetrc +0 -12
- package/dot_config/xdg-desktop-portal/niri-portals.conf +0 -5
- package/dot_config/yarn/yarnrc.yml +0 -36
- package/dot_config/yazi/keymap.toml +0 -67
- package/dot_config/yazi/theme.toml +0 -102
- package/dot_config/yazi/yazi.toml +0 -40
- package/dot_config/zathura/zathurarc +0 -52
- package/dot_config/zellij/config.kdl.tmpl +0 -79
- package/dot_config/zsh/dot_zprofile +0 -7
- package/dot_config/zsh/dot_zshenv +0 -5
- package/dot_config/zsh/dot_zshrc.tmpl +0 -688
- package/dot_config/zsh/rc.d/00-alias-shims.zsh +0 -99
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +0 -18
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +0 -28
- package/dot_config/zsh/rc.d/20-zinit.zsh +0 -65
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +0 -214
- package/dot_config/zsh/rc.d/40-bell.zsh +0 -20
- package/dot_config/zsh/rc.d/50-login-fortune.zsh +0 -9
- package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +0 -32
- package/dot_local/bin/executable_ai-update +0 -195
- package/dot_local/bin/executable_ai_core +0 -152
- package/dot_local/bin/executable_antigravity +0 -11
- package/dot_local/bin/executable_b64 +0 -84
- package/dot_local/bin/executable_bm +0 -79
- package/dot_local/bin/executable_cb +0 -39
- package/dot_local/bin/executable_dot +0 -636
- package/dot_local/bin/executable_dot-ai +0 -36
- package/dot_local/bin/executable_dot-bootstrap +0 -76
- package/dot_local/bin/executable_dot-launch-or-focus +0 -52
- package/dot_local/bin/executable_dot-load-benchmark +0 -31
- package/dot_local/bin/executable_dot-load-benchmark-pty +0 -77
- package/dot_local/bin/executable_dot-theme-sync +0 -952
- package/dot_local/bin/executable_dot_completion +0 -57
- package/dot_local/bin/executable_dtags +0 -28
- package/dot_local/bin/executable_epoch +0 -67
- package/dot_local/bin/executable_extract +0 -41
- package/dot_local/bin/executable_gbd +0 -52
- package/dot_local/bin/executable_gd +0 -42
- package/dot_local/bin/executable_git-ai-commit +0 -175
- package/dot_local/bin/executable_git-ai-diff +0 -169
- package/dot_local/bin/executable_gl +0 -101
- package/dot_local/bin/executable_hash +0 -161
- package/dot_local/bin/executable_hashsum +0 -160
- package/dot_local/bin/executable_hex +0 -115
- package/dot_local/bin/executable_jsonv +0 -78
- package/dot_local/bin/executable_jwt +0 -94
- package/dot_local/bin/executable_kill-port +0 -75
- package/dot_local/bin/executable_lorem +0 -118
- package/dot_local/bin/executable_mkscript +0 -35
- package/dot_local/bin/executable_monitor +0 -56
- package/dot_local/bin/executable_myip +0 -51
- package/dot_local/bin/executable_notify +0 -24
- package/dot_local/bin/executable_open +0 -38
- package/dot_local/bin/executable_pw +0 -27
- package/dot_local/bin/executable_rec-start +0 -46
- package/dot_local/bin/executable_rec-stop +0 -35
- package/dot_local/bin/executable_regex +0 -132
- package/dot_local/bin/executable_start-niri +0 -8
- package/dot_local/bin/executable_tmux-sessionizer +0 -314
- package/dot_local/bin/executable_tour +0 -177
- package/dot_local/bin/executable_up +0 -23
- package/dot_local/bin/executable_update +0 -142
- package/dot_local/bin/executable_uuid +0 -87
- package/dot_local/bin/executable_win +0 -32
- package/dot_local/bin/executable_yamlv +0 -57
- package/dot_local/share/bash-completion/completions/dot +0 -72
- 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 +0 -149
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +0 -64
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +0 -18
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +0 -13
- package/dot_local/share/wayland-sessions/niri.desktop.tmpl +0 -6
- package/dot_local/share/zsh/completions/.keep +0 -0
- package/dot_local/share/zsh/completions/_dot +0 -287
- package/scripts/ci/check-dangerous-chmod.sh +0 -19
- package/scripts/ci/check-deps-dev.sh +0 -236
- package/scripts/ci/check-insecure-tls.sh +0 -61
- package/scripts/ci/check-regression-traceability.sh +0 -67
- package/scripts/ci/dot-cli-startup-bench.sh +0 -126
- package/scripts/ci/install-chezmoi-verified.sh +0 -67
- package/scripts/ci/lint-reusable-pins.sh +0 -78
- package/scripts/ci/run-coverage.sh +0 -451
- package/scripts/ci/validate-chezmoidata.sh +0 -25
- package/scripts/ci/validate-ci-config.sh +0 -224
- package/scripts/ci/windows-smoke-test.ps1 +0 -136
- package/scripts/docs/build-manual.sh +0 -883
- package/scripts/docs/check-manual.sh +0 -213
- package/scripts/dot/lib/bento.sh +0 -50
- package/scripts/dot/lib/log.sh +0 -200
- package/scripts/dot/lib/platform.sh +0 -112
- package/scripts/dot/lib/ui.sh +0 -650
- package/scripts/dot/lib/utils.sh +0 -377
- package/scripts/maintenance/check-updates.sh +0 -131
- package/scripts/release/package-policy-bundles.sh +0 -125
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
set -euo pipefail
|
|
7
7
|
|
|
8
8
|
_META_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
# shellcheck source
|
|
10
|
-
source "$_META_DIR
|
|
11
|
-
# shellcheck source
|
|
12
|
-
source "$_META_DIR
|
|
9
|
+
# shellcheck source=../../../lib/dot/utils.sh
|
|
10
|
+
source "$_META_DIR/../../../lib/dot/utils.sh"
|
|
11
|
+
# shellcheck source=../../../lib/dot/log.sh
|
|
12
|
+
source "$_META_DIR/../../../lib/dot/log.sh"
|
|
13
13
|
# shellcheck source=agent.sh
|
|
14
14
|
source "$_META_DIR/agent.sh"
|
|
15
15
|
|
|
@@ -92,7 +92,12 @@ cmd_docs() {
|
|
|
92
92
|
|
|
93
93
|
cmd_learn() {
|
|
94
94
|
local dot_bin
|
|
95
|
-
|
|
95
|
+
# Post-Phase-4b: dot_local/ lives under defaults/. Legacy layout
|
|
96
|
+
# (older deployments before .chezmoiroot activation) kept it at
|
|
97
|
+
# repo root — probe both.
|
|
98
|
+
dot_bin="$(dirname "${BASH_SOURCE[0]}")/../../../defaults/dot_local/bin"
|
|
99
|
+
[[ -f "$dot_bin/executable_tour" ]] ||
|
|
100
|
+
dot_bin="$(dirname "${BASH_SOURCE[0]}")/../../../dot_local/bin"
|
|
96
101
|
if [ -f "$dot_bin/executable_tour" ]; then
|
|
97
102
|
exec bash "$dot_bin/executable_tour" "$@"
|
|
98
103
|
fi
|
|
@@ -176,7 +181,8 @@ cmd_mcp() {
|
|
|
176
181
|
;;
|
|
177
182
|
registry)
|
|
178
183
|
local repo_root registry_file json_mode=0
|
|
179
|
-
repo_root="$(
|
|
184
|
+
repo_root="$(resolve_chezmoi_source_dir)"
|
|
185
|
+
[[ -z "$repo_root" ]] && repo_root="$(require_source_dir)"
|
|
180
186
|
registry_file="${MCP_REGISTRY_CONFIG:-$repo_root/dot_config/dotfiles/mcp-registry.json}"
|
|
181
187
|
if [[ "${1:-}" == "registry" ]]; then
|
|
182
188
|
shift || true
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
set -euo pipefail
|
|
7
7
|
|
|
8
8
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
# shellcheck source
|
|
10
|
-
source "$SCRIPT_DIR
|
|
9
|
+
# shellcheck source=../../../lib/dot/utils.sh
|
|
10
|
+
source "$SCRIPT_DIR/../../../lib/dot/utils.sh"
|
|
11
11
|
|
|
12
12
|
PATTERN_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/ai/patterns"
|
|
13
13
|
mkdir -p "$PATTERN_DIR"
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
set -euo pipefail
|
|
44
44
|
|
|
45
45
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
46
|
-
# shellcheck source
|
|
47
|
-
source "$SCRIPT_DIR
|
|
48
|
-
# shellcheck source
|
|
49
|
-
source "$SCRIPT_DIR
|
|
46
|
+
# shellcheck source=../../../lib/dot/ui.sh disable=SC1091
|
|
47
|
+
source "$SCRIPT_DIR/../../../lib/dot/ui.sh"
|
|
48
|
+
# shellcheck source=../../../lib/dot/utils.sh disable=SC1091
|
|
49
|
+
source "$SCRIPT_DIR/../../../lib/dot/utils.sh"
|
|
50
50
|
|
|
51
51
|
_registry_default_url() {
|
|
52
52
|
printf '%s\n' "https://sebastienrousseau.github.io/dotfiles/registry.json"
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
set -euo pipefail
|
|
7
7
|
|
|
8
8
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
# shellcheck source
|
|
10
|
-
source "$SCRIPT_DIR
|
|
11
|
-
# shellcheck source
|
|
12
|
-
source "$SCRIPT_DIR
|
|
9
|
+
# shellcheck source=../../../lib/dot/utils.sh
|
|
10
|
+
source "$SCRIPT_DIR/../../../lib/dot/utils.sh"
|
|
11
|
+
# shellcheck source=../../../lib/dot/log.sh
|
|
12
|
+
source "$SCRIPT_DIR/../../../lib/dot/log.sh"
|
|
13
13
|
|
|
14
14
|
DOTFILES_DIR="${DOTFILES_DIR:-$HOME/.dotfiles}"
|
|
15
15
|
BACKUP_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/dotfiles/backups"
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
set -euo pipefail
|
|
7
7
|
|
|
8
8
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
# shellcheck source
|
|
10
|
-
source "$SCRIPT_DIR
|
|
9
|
+
# shellcheck source=../../../lib/dot/utils.sh
|
|
10
|
+
source "$SCRIPT_DIR/../../../lib/dot/utils.sh"
|
|
11
11
|
# shellcheck source=../../lib/secrets_provider.sh
|
|
12
12
|
source "$SCRIPT_DIR/../../lib/secrets_provider.sh"
|
|
13
13
|
|
|
@@ -15,7 +15,8 @@ dot_ui_command_banner "Secrets" "${1:-}"
|
|
|
15
15
|
|
|
16
16
|
dot_data_file() {
|
|
17
17
|
local src_dir
|
|
18
|
-
src_dir="$(
|
|
18
|
+
src_dir="$(resolve_chezmoi_source_dir)"
|
|
19
|
+
[[ -z "$src_dir" ]] && src_dir="$(require_source_dir)"
|
|
19
20
|
printf "%s\n" "$src_dir/.chezmoidata.toml"
|
|
20
21
|
}
|
|
21
22
|
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
set -euo pipefail
|
|
7
7
|
|
|
8
8
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
# shellcheck source
|
|
10
|
-
source "$SCRIPT_DIR
|
|
9
|
+
# shellcheck source=../../../lib/dot/utils.sh
|
|
10
|
+
source "$SCRIPT_DIR/../../../lib/dot/utils.sh"
|
|
11
11
|
|
|
12
12
|
dot_ui_command_banner "Security" "${1:-}"
|
|
13
13
|
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
set -euo pipefail
|
|
7
7
|
|
|
8
8
|
_TOOLS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
# shellcheck source
|
|
10
|
-
source "$_TOOLS_DIR
|
|
9
|
+
# shellcheck source=../../../lib/dot/utils.sh
|
|
10
|
+
source "$_TOOLS_DIR/../../../lib/dot/utils.sh"
|
|
11
11
|
# shellcheck source=aliases.sh
|
|
12
12
|
source "$_TOOLS_DIR/aliases.sh"
|
|
13
13
|
|
|
@@ -348,6 +348,16 @@ cmd_log_rotate() {
|
|
|
348
348
|
}
|
|
349
349
|
|
|
350
350
|
cmd_env_mise() {
|
|
351
|
+
# `dot env emit` is a separate sub-handler — it doesn't need mise
|
|
352
|
+
# at command-time, only when actually invoked (the script checks).
|
|
353
|
+
if [[ "${1:-}" == "emit" ]]; then
|
|
354
|
+
shift
|
|
355
|
+
# shellcheck source=./env-emit.sh
|
|
356
|
+
source "$(require_source_dir)/scripts/dot/commands/env-emit.sh"
|
|
357
|
+
dot_env_emit "$@"
|
|
358
|
+
return $?
|
|
359
|
+
fi
|
|
360
|
+
|
|
351
361
|
if ! has_command mise; then
|
|
352
362
|
ui_err "mise not installed (required for dot env)"
|
|
353
363
|
exit 1
|
|
@@ -425,7 +435,7 @@ cmd_env_mise() {
|
|
|
425
435
|
|
|
426
436
|
cmd_profile() {
|
|
427
437
|
local data_file
|
|
428
|
-
data_file="$(
|
|
438
|
+
data_file="$(resolve_chezmoi_source_dir)/.chezmoidata.toml"
|
|
429
439
|
if [[ ! -f "$data_file" ]]; then
|
|
430
440
|
die ".chezmoidata.toml not found"
|
|
431
441
|
fi
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Dot — native PowerShell module for the dotfiles framework.
|
|
2
|
+
#
|
|
3
|
+
# This module provides native PowerShell cmdlets for the subset of
|
|
4
|
+
# `dot` subcommands that don't require bash. Closes Stub rows in
|
|
5
|
+
# docs/reference/POWERSHELL_PARITY.md.
|
|
6
|
+
#
|
|
7
|
+
# Loaded by bin/dot.ps1 dispatcher; cmdlets are also callable
|
|
8
|
+
# directly:
|
|
9
|
+
# Import-Module ./scripts/dot/powershell/Dot.psm1
|
|
10
|
+
# Get-DotVersion
|
|
11
|
+
# Invoke-DotHelp
|
|
12
|
+
# Test-DotAgentsSync -Verbose
|
|
13
|
+
#
|
|
14
|
+
# Tested via scripts/ci/windows-smoke-test.ps1.
|
|
15
|
+
|
|
16
|
+
#requires -Version 7.0
|
|
17
|
+
|
|
18
|
+
Set-StrictMode -Version Latest
|
|
19
|
+
$ErrorActionPreference = 'Stop'
|
|
20
|
+
|
|
21
|
+
# Module-level constants -------------------------------------------------------
|
|
22
|
+
|
|
23
|
+
$script:RepoRoot = if ($env:DOT_REPO_ROOT) {
|
|
24
|
+
$env:DOT_REPO_ROOT
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
# When called from bin/dot.ps1 the dispatcher sets DOT_REPO_ROOT.
|
|
28
|
+
# When imported directly, infer it from this file's path:
|
|
29
|
+
# scripts/dot/powershell/Dot.psm1 → ../../..
|
|
30
|
+
(Resolve-Path (Join-Path $PSScriptRoot '..\..\..')).Path
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
# Post-Phase-4b (v0.2.503) .chezmoidata.toml ships under defaults/.
|
|
34
|
+
# Probe defaults/ first; fall back to legacy root location for older
|
|
35
|
+
# deployments that pre-date the .chezmoiroot activation.
|
|
36
|
+
$script:DataFile = Join-Path $script:RepoRoot 'defaults/.chezmoidata.toml'
|
|
37
|
+
if (-not (Test-Path $script:DataFile)) {
|
|
38
|
+
$script:DataFile = Join-Path $script:RepoRoot '.chezmoidata.toml'
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
# Helpers ---------------------------------------------------------------------
|
|
42
|
+
|
|
43
|
+
function script:Get-DotfilesVersionFromData {
|
|
44
|
+
if (-not (Test-Path $script:DataFile)) {
|
|
45
|
+
throw "Cannot read $script:DataFile (set DOT_REPO_ROOT to override)"
|
|
46
|
+
}
|
|
47
|
+
$line = Get-Content $script:DataFile |
|
|
48
|
+
Where-Object { $_ -match '^dotfiles_version\s*=\s*"([^"]+)"' } |
|
|
49
|
+
Select-Object -First 1
|
|
50
|
+
if (-not $line) {
|
|
51
|
+
throw "dotfiles_version not found in $script:DataFile"
|
|
52
|
+
}
|
|
53
|
+
if ($line -notmatch '"([^"]+)"') {
|
|
54
|
+
throw "Could not parse dotfiles_version from line: $line"
|
|
55
|
+
}
|
|
56
|
+
return $Matches[1]
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function script:Write-DotBanner {
|
|
60
|
+
param([string]$Section)
|
|
61
|
+
if ($env:NO_COLOR) {
|
|
62
|
+
Write-Host "Dot · $Section"
|
|
63
|
+
return
|
|
64
|
+
}
|
|
65
|
+
$esc = [char]27
|
|
66
|
+
Write-Host "$esc[1;38;5;212mDot · $Section$esc[0m"
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
# Public cmdlets --------------------------------------------------------------
|
|
70
|
+
|
|
71
|
+
<#
|
|
72
|
+
.SYNOPSIS
|
|
73
|
+
Print the dotfiles framework version.
|
|
74
|
+
|
|
75
|
+
.DESCRIPTION
|
|
76
|
+
Native PowerShell implementation of `dot version`. Reads the
|
|
77
|
+
canonical version from .chezmoidata.toml (the single source of
|
|
78
|
+
truth) — does NOT shell out to bash.
|
|
79
|
+
|
|
80
|
+
.EXAMPLE
|
|
81
|
+
Get-DotVersion
|
|
82
|
+
0.2.503
|
|
83
|
+
|
|
84
|
+
.EXAMPLE
|
|
85
|
+
Get-DotVersion -AsObject | ConvertTo-Json
|
|
86
|
+
{
|
|
87
|
+
"Version": "0.2.503",
|
|
88
|
+
"Source": "...\\.chezmoidata.toml",
|
|
89
|
+
"Native": true
|
|
90
|
+
}
|
|
91
|
+
#>
|
|
92
|
+
function Get-DotVersion {
|
|
93
|
+
[CmdletBinding()]
|
|
94
|
+
param(
|
|
95
|
+
[switch]$AsObject
|
|
96
|
+
)
|
|
97
|
+
$version = Get-DotfilesVersionFromData
|
|
98
|
+
if ($AsObject) {
|
|
99
|
+
return [pscustomobject]@{
|
|
100
|
+
Version = $version
|
|
101
|
+
Source = $script:DataFile
|
|
102
|
+
Native = $true
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return $version
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
<#
|
|
109
|
+
.SYNOPSIS
|
|
110
|
+
Print the dot CLI help overview.
|
|
111
|
+
|
|
112
|
+
.DESCRIPTION
|
|
113
|
+
Native PowerShell implementation of `dot help`. Reads command
|
|
114
|
+
metadata from CLAUDE.md / the dispatcher's help table; does
|
|
115
|
+
NOT shell out to bash.
|
|
116
|
+
|
|
117
|
+
The full Linux-style help (every subcommand grouped by category)
|
|
118
|
+
requires the bash dispatcher; this cmdlet shows the Windows-
|
|
119
|
+
native subset.
|
|
120
|
+
#>
|
|
121
|
+
function Invoke-DotHelp {
|
|
122
|
+
[CmdletBinding()]
|
|
123
|
+
param()
|
|
124
|
+
$version = Get-DotfilesVersionFromData
|
|
125
|
+
Write-DotBanner -Section 'Help'
|
|
126
|
+
Write-Host ''
|
|
127
|
+
Write-Host " Version v$version"
|
|
128
|
+
Write-Host " Repo https://github.com/sebastienrousseau/dotfiles"
|
|
129
|
+
Write-Host " Docs https://github.com/sebastienrousseau/dotfiles/blob/master/docs/manual/"
|
|
130
|
+
Write-Host ''
|
|
131
|
+
Write-Host 'Native PowerShell commands (no bash required):'
|
|
132
|
+
Write-Host ''
|
|
133
|
+
Write-Host ' Get-DotVersion Print framework version'
|
|
134
|
+
Write-Host ' Invoke-DotHelp This screen'
|
|
135
|
+
Write-Host ' Test-DotAgentsSync Check AGENTS.md ↔ CLAUDE.md sync'
|
|
136
|
+
Write-Host ''
|
|
137
|
+
Write-Host 'Bash-bridged subcommands (require bash on PATH):'
|
|
138
|
+
Write-Host ''
|
|
139
|
+
Write-Host ' dot doctor Deep environment audit'
|
|
140
|
+
Write-Host ' dot env list List installed mise tools'
|
|
141
|
+
Write-Host ' dot env emit Emit v1 environment manifest'
|
|
142
|
+
Write-Host ' dot agents render Re-render every AGENTS.md harness'
|
|
143
|
+
Write-Host ' dot fleet status Single-node fleet status (Full on PowerShell)'
|
|
144
|
+
Write-Host ''
|
|
145
|
+
Write-Host 'See: dot help all (via bash) — full command index'
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
<#
|
|
149
|
+
.SYNOPSIS
|
|
150
|
+
Verify that AGENTS.md is in sync with CLAUDE.md.
|
|
151
|
+
|
|
152
|
+
.DESCRIPTION
|
|
153
|
+
Native PowerShell implementation of `dot agents check`. Both
|
|
154
|
+
files share a "Project Overview" paragraph that is the canonical
|
|
155
|
+
sync surface. If they diverge, AGENTS.md needs re-rendering
|
|
156
|
+
(run `dot agents render` via bash; native PowerShell render is
|
|
157
|
+
a separate ticket).
|
|
158
|
+
|
|
159
|
+
.OUTPUTS
|
|
160
|
+
[bool] — $true when in sync, $false otherwise.
|
|
161
|
+
|
|
162
|
+
.EXAMPLE
|
|
163
|
+
if (-not (Test-DotAgentsSync)) {
|
|
164
|
+
Write-Warning 'AGENTS.md is stale; run: bash dot_local/bin/executable_dot agents render'
|
|
165
|
+
}
|
|
166
|
+
#>
|
|
167
|
+
function Test-DotAgentsSync {
|
|
168
|
+
[CmdletBinding()]
|
|
169
|
+
[OutputType([bool])]
|
|
170
|
+
param()
|
|
171
|
+
$claude = Join-Path $script:RepoRoot 'CLAUDE.md'
|
|
172
|
+
$agents = Join-Path $script:RepoRoot 'AGENTS.md'
|
|
173
|
+
foreach ($f in @($claude, $agents)) {
|
|
174
|
+
if (-not (Test-Path $f)) {
|
|
175
|
+
Write-Error "missing: $f"
|
|
176
|
+
return $false
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
# Both files declare: "Chezmoi-managed dotfiles for macOS, Linux,
|
|
180
|
+
# WSL, and PowerShell 7.5+. Version `0.2.503`."
|
|
181
|
+
# That single line is the canonical sync surface — its content
|
|
182
|
+
# is generated from the same template by `dot agents render`.
|
|
183
|
+
$claudeLine = (Select-String -Path $claude -Pattern '^Chezmoi-managed dotfiles' -SimpleMatch:$false |
|
|
184
|
+
Select-Object -First 1).Line
|
|
185
|
+
$agentsLine = (Select-String -Path $agents -Pattern '^Chezmoi-managed dotfiles' -SimpleMatch:$false |
|
|
186
|
+
Select-Object -First 1).Line
|
|
187
|
+
if (-not $claudeLine -or -not $agentsLine) {
|
|
188
|
+
Write-Verbose "sync surface line not found — claude:[$claudeLine] agents:[$agentsLine]"
|
|
189
|
+
return $false
|
|
190
|
+
}
|
|
191
|
+
if ($claudeLine -ne $agentsLine) {
|
|
192
|
+
Write-Verbose "drift detected:`n CLAUDE.md: $claudeLine`n AGENTS.md: $agentsLine"
|
|
193
|
+
return $false
|
|
194
|
+
}
|
|
195
|
+
Write-Verbose 'AGENTS.md sync surface matches CLAUDE.md'
|
|
196
|
+
return $true
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
Export-ModuleMember -Function Get-DotVersion, Invoke-DotHelp, Test-DotAgentsSync
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
set -euo pipefail
|
|
4
4
|
|
|
5
5
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
|
-
# shellcheck source
|
|
6
|
+
# shellcheck source=../../lib/dot/ui.sh
|
|
7
7
|
# shellcheck disable=SC1091
|
|
8
|
-
source "$SCRIPT_DIR
|
|
8
|
+
source "$SCRIPT_DIR/../../lib/dot/ui.sh"
|
|
9
9
|
|
|
10
10
|
ui_init
|
|
11
11
|
ui_header "Nerd Fonts"
|
|
@@ -33,7 +33,7 @@ echo -n " 🔍 Scanning for secrets... "
|
|
|
33
33
|
# Exclude assignments to values containing common placeholder strings or within template expressions
|
|
34
34
|
SENSITIVE_PATTERNS="(GITHUB_TOKEN|API_KEY|SECRET|password|private_key|AKIA[0-9A-Z]{16})[[:space:]]*[:=]"
|
|
35
35
|
# Exclusions list for legitimate variable checks or documentation
|
|
36
|
-
SECRET_EXCLUDES="test_|assertions.sh|.pre-commit|README|CHANGELOG|FEATURES.md|
|
|
36
|
+
SECRET_EXCLUDES="test_|assertions.sh|.pre-commit|README|CHANGELOG|FEATURES.md|docs/|install/lib/|.chezmoitemplates/|mcp-doctor.sh|\.github/workflows/"
|
|
37
37
|
# Also exclude .tmpl files from secret scanning as they contain many false positive markers
|
|
38
38
|
if echo "$STAGED_FILES" | grep -v "\.tmpl" | xargs grep -EiE "$SENSITIVE_PATTERNS" /dev/null | grep -vE "$SECRET_EXCLUDES" | grep -viE "dummy|placeholder|example|test|sk-placeholder|\\{\\{" >/dev/null 2>&1; then
|
|
39
39
|
printf '%b\\n' "${RED}FAILED${NC}"
|
|
@@ -140,6 +140,6 @@ if [[ $FAILED -eq 1 ]]; then
|
|
|
140
140
|
printf '%b\\n' " (Use --no-verify to bypass if absolutely necessary)"
|
|
141
141
|
exit 1
|
|
142
142
|
else
|
|
143
|
-
printf '%b\n' "${GREEN}${BOLD}✅ Audit passed.${NC} v0.2.
|
|
143
|
+
printf '%b\n' "${GREEN}${BOLD}✅ Audit passed.${NC} v0.2.503 standards maintained."
|
|
144
144
|
exit 0
|
|
145
145
|
fi
|
|
@@ -90,3 +90,16 @@ if [ "${DOTFILES_ALLOW_UNSKIPPED_PUSH:-}" = "1" ]; then
|
|
|
90
90
|
fi
|
|
91
91
|
|
|
92
92
|
bash "$repo_root/scripts/qa/reliability-audit.sh" --quick
|
|
93
|
+
|
|
94
|
+
# Step 4 — version-string consistency. Catches the case where the
|
|
95
|
+
# canonical version in .chezmoidata.toml advanced but a human-visible
|
|
96
|
+
# surface (CLI banner, man page, README badge) wasn't bumped. The
|
|
97
|
+
# script is cheap (~8 grep calls); failure tells the user exactly
|
|
98
|
+
# which file drifted and offers --fix.
|
|
99
|
+
bash "$repo_root/scripts/qa/check-version-consistency.sh" --quiet || {
|
|
100
|
+
echo "" >&2
|
|
101
|
+
echo "Pre-push blocked: version-string drift detected." >&2
|
|
102
|
+
echo "Run: scripts/qa/check-version-consistency.sh" >&2
|
|
103
|
+
echo "Then: scripts/qa/check-version-consistency.sh --fix (optional auto-fix)" >&2
|
|
104
|
+
exit 1
|
|
105
|
+
}
|
package/scripts/ops/ai-setup.sh
CHANGED
package/scripts/ops/bundle.sh
CHANGED
|
@@ -9,9 +9,9 @@ trap 'rm -f "${_cleanup_files[@]}"' EXIT
|
|
|
9
9
|
|
|
10
10
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
11
11
|
# shellcheck disable=SC1091
|
|
12
|
-
source "$SCRIPT_DIR/dot/
|
|
12
|
+
source "$SCRIPT_DIR/../lib/dot/ui.sh"
|
|
13
13
|
# shellcheck disable=SC1091
|
|
14
|
-
source "$SCRIPT_DIR/dot/
|
|
14
|
+
source "$SCRIPT_DIR/../lib/dot/log.sh"
|
|
15
15
|
export DOT_COMMAND="bundle"
|
|
16
16
|
|
|
17
17
|
# Concurrency guard
|
package/scripts/ops/chaos.sh
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
set -euo pipefail
|
|
7
7
|
|
|
8
8
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
# shellcheck source
|
|
9
|
+
# shellcheck source=../../lib/dot/ui.sh
|
|
10
10
|
# shellcheck disable=SC1091
|
|
11
|
-
source "$SCRIPT_DIR
|
|
11
|
+
source "$SCRIPT_DIR/../../lib/dot/ui.sh"
|
|
12
12
|
ui_init
|
|
13
13
|
|
|
14
14
|
if [[ "${1:-}" != "--force" ]]; then
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
set -euo pipefail
|
|
4
4
|
|
|
5
5
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
|
-
# shellcheck source
|
|
6
|
+
# shellcheck source=../../lib/dot/ui.sh
|
|
7
7
|
# shellcheck disable=SC1091
|
|
8
|
-
source "$SCRIPT_DIR
|
|
9
|
-
# shellcheck source
|
|
8
|
+
source "$SCRIPT_DIR/../../lib/dot/ui.sh"
|
|
9
|
+
# shellcheck source=../../lib/dot/log.sh
|
|
10
10
|
# shellcheck disable=SC1091
|
|
11
|
-
source "$SCRIPT_DIR
|
|
11
|
+
source "$SCRIPT_DIR/../../lib/dot/log.sh"
|
|
12
12
|
export DOT_COMMAND="apply"
|
|
13
13
|
|
|
14
14
|
# Temp file cleanup
|
package/scripts/ops/heal.sh
CHANGED
|
@@ -21,12 +21,12 @@ trap cleanup EXIT
|
|
|
21
21
|
|
|
22
22
|
# Configuration
|
|
23
23
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
24
|
-
# shellcheck source
|
|
24
|
+
# shellcheck source=../../lib/dot/ui.sh
|
|
25
25
|
# shellcheck disable=SC1091
|
|
26
|
-
source "$SCRIPT_DIR
|
|
27
|
-
# shellcheck source
|
|
26
|
+
source "$SCRIPT_DIR/../../lib/dot/ui.sh"
|
|
27
|
+
# shellcheck source=../../lib/dot/log.sh
|
|
28
28
|
# shellcheck disable=SC1091
|
|
29
|
-
source "$SCRIPT_DIR
|
|
29
|
+
source "$SCRIPT_DIR/../../lib/dot/log.sh"
|
|
30
30
|
DOT_COMMAND="heal"
|
|
31
31
|
REPO_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")"
|
|
32
32
|
DOTFILES_SOURCE="$REPO_ROOT"
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
set -euo pipefail
|
|
4
4
|
|
|
5
5
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
|
-
# shellcheck source
|
|
6
|
+
# shellcheck source=../../lib/dot/ui.sh
|
|
7
7
|
# shellcheck disable=SC1091
|
|
8
|
-
source "$SCRIPT_DIR
|
|
8
|
+
source "$SCRIPT_DIR/../../lib/dot/ui.sh"
|
|
9
9
|
|
|
10
10
|
ZWC_CACHE_DIRS_DEFAULT=("$HOME/.config/shell" "$HOME/.config/zsh")
|
|
11
11
|
|
package/scripts/ops/prewarm.sh
CHANGED
|
@@ -6,9 +6,9 @@ set -euo pipefail
|
|
|
6
6
|
|
|
7
7
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
8
8
|
# shellcheck disable=SC1091
|
|
9
|
-
source "$SCRIPT_DIR/dot/
|
|
9
|
+
source "$SCRIPT_DIR/../lib/dot/ui.sh"
|
|
10
10
|
# shellcheck disable=SC1091
|
|
11
|
-
source "$SCRIPT_DIR/dot/
|
|
11
|
+
source "$SCRIPT_DIR/../lib/dot/log.sh"
|
|
12
12
|
export DOT_COMMAND="prewarm"
|
|
13
13
|
|
|
14
14
|
# Prevent concurrent execution
|
package/scripts/ops/release.sh
CHANGED
|
@@ -10,12 +10,12 @@ set -euo pipefail
|
|
|
10
10
|
|
|
11
11
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
12
12
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
13
|
-
# shellcheck source
|
|
13
|
+
# shellcheck source=../../lib/dot/ui.sh
|
|
14
14
|
# shellcheck disable=SC1091
|
|
15
|
-
source "$SCRIPT_DIR
|
|
16
|
-
# shellcheck source
|
|
15
|
+
source "$SCRIPT_DIR/../../lib/dot/ui.sh"
|
|
16
|
+
# shellcheck source=../../lib/dot/log.sh
|
|
17
17
|
# shellcheck disable=SC1091
|
|
18
|
-
source "$SCRIPT_DIR
|
|
18
|
+
source "$SCRIPT_DIR/../../lib/dot/log.sh"
|
|
19
19
|
export DOT_COMMAND="release"
|
|
20
20
|
ui_init
|
|
21
21
|
|
package/scripts/ops/rollback.sh
CHANGED
|
@@ -14,12 +14,12 @@ trap 'set +u; rm -f "${_cleanup_files[@]}" 2>/dev/null; set -u' EXIT
|
|
|
14
14
|
|
|
15
15
|
# Configuration
|
|
16
16
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
17
|
-
# shellcheck source
|
|
17
|
+
# shellcheck source=../../lib/dot/ui.sh
|
|
18
18
|
# shellcheck disable=SC1091
|
|
19
|
-
source "$SCRIPT_DIR
|
|
20
|
-
# shellcheck source
|
|
19
|
+
source "$SCRIPT_DIR/../../lib/dot/ui.sh"
|
|
20
|
+
# shellcheck source=../../lib/dot/log.sh
|
|
21
21
|
# shellcheck disable=SC1091
|
|
22
|
-
source "$SCRIPT_DIR
|
|
22
|
+
source "$SCRIPT_DIR/../../lib/dot/log.sh"
|
|
23
23
|
export DOT_COMMAND="rollback"
|
|
24
24
|
REPO_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")"
|
|
25
25
|
# Resolve symlinks for consistent path handling
|
package/scripts/ops/setup.sh
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
set -euo pipefail
|
|
7
7
|
|
|
8
8
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
# shellcheck source
|
|
9
|
+
# shellcheck source=../../lib/dot/ui.sh
|
|
10
10
|
# shellcheck disable=SC1091
|
|
11
|
-
source "$SCRIPT_DIR
|
|
11
|
+
source "$SCRIPT_DIR/../../lib/dot/ui.sh"
|
|
12
12
|
|
|
13
13
|
ui_init
|
|
14
14
|
|