@sebastienrousseau/dotfiles 0.2.504 → 0.2.505

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.
Files changed (130) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +4 -4
  3. package/docs/COPYRIGHT +1 -1
  4. package/docs/index.md +2 -2
  5. package/docs/interop/A2A.md +2 -2
  6. package/docs/manual/00-introduction.md +1 -1
  7. package/docs/manual/02-tutorials/01-first-install.md +1 -1
  8. package/docs/operations/RELEASE_PIPELINE.md +3 -3
  9. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +6 -6
  10. package/docs/security/AUTOMATION_SECRETS.md +1 -1
  11. package/docs/security/MCP_POLICY.md +4 -4
  12. package/docs/security/SECURITY_CHECKLIST.md +1 -1
  13. package/docs/security/SOUP_REGISTER.md +4 -4
  14. package/install.sh +7 -6
  15. package/package.json +1 -1
  16. package/scripts/ci/check-copyright-headers.sh +2 -1
  17. package/scripts/ci/check-shell-preamble.sh +2 -1
  18. package/scripts/ci/guard-gitleaks-checkout.sh +2 -1
  19. package/scripts/demo/record.sh +2 -1
  20. package/scripts/diagnostics/a2a-conformance.sh +2 -1
  21. package/scripts/diagnostics/alias-governance.sh +2 -1
  22. package/scripts/diagnostics/aliases-cheatsheet.sh +2 -1
  23. package/scripts/diagnostics/aliases-manifest.sh +2 -1
  24. package/scripts/diagnostics/benchmark.sh +2 -1
  25. package/scripts/diagnostics/conflicts.sh +2 -1
  26. package/scripts/diagnostics/doctor-unified.sh +2 -1
  27. package/scripts/diagnostics/doctor.sh +2 -1
  28. package/scripts/diagnostics/drift-dashboard.sh +2 -1
  29. package/scripts/diagnostics/health.sh +2 -1
  30. package/scripts/diagnostics/history-analysis.sh +2 -1
  31. package/scripts/diagnostics/mcp-doctor.sh +2 -1
  32. package/scripts/diagnostics/perf.sh +2 -1
  33. package/scripts/diagnostics/scorecard.sh +2 -1
  34. package/scripts/diagnostics/secret-governance.sh +2 -1
  35. package/scripts/diagnostics/security-score.sh +2 -1
  36. package/scripts/diagnostics/smoke-test.sh +2 -1
  37. package/scripts/diagnostics/snapshot.sh +2 -1
  38. package/scripts/diagnostics/verify.sh +2 -1
  39. package/scripts/diagnostics/verify_state.sh +2 -1
  40. package/scripts/diagnostics/version-locks.sh +2 -1
  41. package/scripts/diagnostics/workstation-attestation.sh +2 -1
  42. package/scripts/dot/commands/agent.sh +2 -1
  43. package/scripts/dot/commands/agents.sh +2 -1
  44. package/scripts/dot/commands/ai.sh +8 -22
  45. package/scripts/dot/commands/aliases.sh +2 -1
  46. package/scripts/dot/commands/appearance.sh +2 -1
  47. package/scripts/dot/commands/core.sh +2 -1
  48. package/scripts/dot/commands/diagnostics.sh +2 -1
  49. package/scripts/dot/commands/env-emit.sh +2 -1
  50. package/scripts/dot/commands/fleet.sh +2 -1
  51. package/scripts/dot/commands/init.sh +2 -1
  52. package/scripts/dot/commands/lint.sh +2 -1
  53. package/scripts/dot/commands/manual.sh +2 -1
  54. package/scripts/dot/commands/meta.sh +2 -1
  55. package/scripts/dot/commands/patterns.sh +2 -1
  56. package/scripts/dot/commands/registry.sh +2 -1
  57. package/scripts/dot/commands/restore.sh +2 -1
  58. package/scripts/dot/commands/secrets.sh +2 -1
  59. package/scripts/dot/commands/security.sh +2 -1
  60. package/scripts/dot/commands/tools.sh +2 -1
  61. package/scripts/fonts/install-nerd-fonts.sh +2 -1
  62. package/scripts/fonts/patch-fonts.sh +2 -1
  63. package/scripts/git-hooks/install.sh +2 -1
  64. package/scripts/git-hooks/pre-commit-audit.sh +3 -2
  65. package/scripts/lib/secrets_provider.sh +2 -1
  66. package/scripts/ops/ai-setup.sh +2 -1
  67. package/scripts/ops/bundle.sh +2 -1
  68. package/scripts/ops/chaos.sh +2 -1
  69. package/scripts/ops/chezmoi-apply.sh +11 -3
  70. package/scripts/ops/chezmoi-diff.sh +2 -1
  71. package/scripts/ops/chezmoi-remove.sh +2 -1
  72. package/scripts/ops/chezmoi-update.sh +2 -1
  73. package/scripts/ops/heal-chezmoi.sh +2 -1
  74. package/scripts/ops/heal-system.sh +2 -1
  75. package/scripts/ops/heal-tools.sh +2 -1
  76. package/scripts/ops/heal.sh +2 -1
  77. package/scripts/ops/post-apply-repair.sh +2 -1
  78. package/scripts/ops/prewarm.sh +2 -1
  79. package/scripts/ops/release.sh +2 -1
  80. package/scripts/ops/rollback.sh +2 -1
  81. package/scripts/ops/setup.sh +2 -1
  82. package/scripts/ops/teleport.sh +2 -1
  83. package/scripts/qa/check-version-consistency.sh +2 -1
  84. package/scripts/qa/coverage-baseline.sh +2 -1
  85. package/scripts/qa/docs-coverage.sh +2 -1
  86. package/scripts/qa/reliability-audit.sh +2 -1
  87. package/scripts/qa/scorecard-snapshot.sh +2 -1
  88. package/scripts/qa/traceability-coverage.sh +2 -1
  89. package/scripts/qa/validate-examples.sh +2 -1
  90. package/scripts/qa/wsl-contract.sh +2 -1
  91. package/scripts/secrets/age-init.sh +2 -1
  92. package/scripts/secrets/create-secrets-file.sh +2 -1
  93. package/scripts/secrets/encrypt-ssh-key.sh +2 -1
  94. package/scripts/security/backup.sh +2 -1
  95. package/scripts/security/check-disclosure-key-expiry.sh +2 -1
  96. package/scripts/security/dns-doh.sh +2 -1
  97. package/scripts/security/encryption-check.sh +2 -1
  98. package/scripts/security/enforce-policies.sh +2 -1
  99. package/scripts/security/firewall.sh +2 -1
  100. package/scripts/security/lock-configs.sh +2 -1
  101. package/scripts/security/lock-screen.sh +2 -1
  102. package/scripts/security/manage-secrets.sh +2 -1
  103. package/scripts/security/ssh-cert.sh +2 -1
  104. package/scripts/security/telemetry-kill.sh +2 -1
  105. package/scripts/security/usb-safety.sh +2 -1
  106. package/scripts/theme/apply-gnome-theme.sh +2 -1
  107. package/scripts/theme/extract-heic-frames.sh +2 -1
  108. package/scripts/theme/extract-theme.py +2 -1
  109. package/scripts/theme/install-boot-logo.sh +2 -1
  110. package/scripts/theme/install-catppuccin-themes.sh +2 -1
  111. package/scripts/theme/install-cursors.sh +2 -1
  112. package/scripts/theme/install-file-icons.sh +2 -1
  113. package/scripts/theme/install-grub-theme.sh +2 -1
  114. package/scripts/theme/install-lock-icon.sh +2 -1
  115. package/scripts/theme/merge-wallpaper.sh +2 -1
  116. package/scripts/theme/rebuild-themes.sh +2 -1
  117. package/scripts/theme/switch.sh +2 -1
  118. package/scripts/theme/wallpaper-rotate.sh +2 -1
  119. package/scripts/theme/wallpaper-sync.sh +2 -1
  120. package/scripts/tools/cmatrix.sh +2 -1
  121. package/scripts/tools/detect-collisions.py +2 -1
  122. package/scripts/tools/emoji-picker.sh +2 -1
  123. package/scripts/tools/figlet-banner.sh +2 -1
  124. package/scripts/tools/log-rotate.sh +2 -1
  125. package/scripts/tools/lolcat-wrap.sh +2 -1
  126. package/scripts/tools/pipes.sh +2 -1
  127. package/scripts/tuning/linux.sh +2 -1
  128. package/scripts/tuning/macos.sh +2 -1
  129. package/scripts/uninstall.sh +2 -1
  130. package/scripts/version-sync.sh +2 -1
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  ## Dotfiles AI Commands.
4
5
  ##
5
6
  ## Provides AI CLI status, setup, RAG query, and bridge commands.
@@ -141,26 +142,7 @@ _ai_status_field() {
141
142
  awk -F'\t' -v b="$1" -v f="$2" '$1==b{print $f;exit}' "$AI_STATUS_CACHE_FILE" 2>/dev/null
142
143
  }
143
144
 
144
- # binary -> mise package mapping
145
- _ai_mise_pkg() {
146
- case "$1" in
147
- claude) echo "npm:@anthropic-ai/claude-code" ;;
148
- codex) echo "npm:@openai/codex" ;;
149
- copilot) echo "npm:@github/copilot" ;;
150
- goose) echo "pipx:goose-ai" ;;
151
- aider) echo "pipx:aider-chat" ;;
152
- opencode) echo "npm:opencode-ai" ;;
153
- sgpt) echo "pipx:shell-gpt" ;;
154
- gemini) echo "npm:@google/gemini-cli" ;;
155
- ollama) echo "aqua:ollama/ollama" ;;
156
- kiro-cli) echo "kiro-cli" ;;
157
- autohand) echo "npm:autohand-cli" ;;
158
- vibe) echo "pipx:mistral-vibe" ;;
159
- qwen) echo "npm:@qwen-code/qwen-code" ;;
160
- zai) echo "npm:@guizmo-ai/zai-cli" ;;
161
- *) echo "" ;;
162
- esac
163
- }
145
+ # _ai_mise_pkg (binary -> mise package map) is defined in lib/dot/ai-install.sh.
164
146
 
165
147
  cmd_ai_status() {
166
148
  ui_header "AI CLI Status"
@@ -254,6 +236,10 @@ cmd_ai_status() {
254
236
  echo ""
255
237
  for entry in "${_ai_to_install[@]}"; do
256
238
  IFS='|' read -r name bin <<<"$entry"
239
+ if [[ "$bin" == "claude" ]]; then
240
+ install_claude_native "$name"
241
+ continue
242
+ fi
257
243
  local pkg
258
244
  pkg=$(_ai_mise_pkg "$bin")
259
245
  if [[ -n "$pkg" ]]; then
@@ -334,7 +320,7 @@ cmd_ai_delegate() {
334
320
  # Usage: dot ai delegate "<prompt>" [max-turns] [agent] [timeout]
335
321
  if [[ $# -lt 1 ]]; then
336
322
  ui_err "Usage" "dot ai delegate \"<prompt>\" [max-turns] [agent] [timeout-secs]"
337
- ui_info "Example" "dot ai delegate \"add a CHANGELOG entry for v0.2.504\""
323
+ ui_info "Example" "dot ai delegate \"add a CHANGELOG entry for v0.2.505\""
338
324
  return 1
339
325
  fi
340
326
  local prompt="$1"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles CLI - Aliases Commands (extracted from tools.sh)
4
5
  # aliases list|search|why|stats|cheatsheet|tiers, alias-check
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles CLI - Appearance Commands
4
5
  # theme, wallpaper, fonts, tune
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  ## Dotfiles Core Commands — Core chezmoi operations for the dot CLI.
4
5
  ##
5
6
  ## Provides apply, sync, update, add, diff, status, remove, cd, and edit
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles CLI - Diagnostics Commands
4
5
  # doctor, heal, health, rollback, drift, history, benchmark, verify, perf,
5
6
  # scorecard, conflicts, locks, snapshot, load-bench, chaos, bundle, attest
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  #
4
5
  # `dot env emit` — render a portable workstation-environment
5
6
  # manifest. The output is the canonical "what is installed on this
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles CLI - Fleet Commands
4
5
  # fleet status|nodes|drift|events|namespace
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # shellcheck shell=bash
4
5
  #
5
6
  # scripts/dot/commands/init.sh
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles CLI - Lint Command
4
5
  # Wraps shellcheck and shfmt with project-specific flags
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # dot manual — open or download the dotfiles manual in multiple formats.
4
5
  #
5
6
  # Usage:
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles CLI - Meta Commands
4
5
  # upgrade, prewarm, docs, learn, keys, sandbox, mcp, mode, agent
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # AI Steering Patterns Management.
4
5
  # Usage: dot patterns [list|view|edit] [name]
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # shellcheck shell=bash
4
5
  #
5
6
  # scripts/dot/commands/registry.sh
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # dot restore - Restore dotfiles from backup or previous state
4
5
  # Usage: dot restore [--list|-l|--latest|-L|<backup-id>]
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles CLI - Secrets/Env Commands
4
5
  # secrets-init, secrets, secrets-create, ssh-key, env load
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles CLI - Security Commands
4
5
  # backup, encrypt-check, firewall, telemetry, dns-doh, lock-screen, usb-safety
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles CLI - Tools Commands
4
5
  # tools, new, packages, log-rotate, aliases, alias-check, env, profile
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  if [[ $# -lt 1 ]]; then
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Dotfiles Pre-Commit Sentinel (Audit Hook)
4
5
  # Prevents secrets, hardcoded paths, and shell hygiene violations.
5
6
 
@@ -140,6 +141,6 @@ if [[ $FAILED -eq 1 ]]; then
140
141
  printf '%b\\n' " (Use --no-verify to bypass if absolutely necessary)"
141
142
  exit 1
142
143
  else
143
- printf '%b\n' "${GREEN}${BOLD}✅ Audit passed.${NC} v0.2.504 standards maintained."
144
+ printf '%b\n' "${GREEN}${BOLD}✅ Audit passed.${NC} v0.2.505 standards maintained."
144
145
  exit 0
145
146
  fi
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Provider-agnostic secrets bridge for dotfiles.
4
5
 
5
6
  set -euo pipefail
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Universal AI Toolchain Setup & Authentication.
4
5
 
5
6
  set -euo pipefail
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Create an offline bundle of the dotfiles environment for air-gapped systems.
4
5
 
5
6
  set -euo pipefail
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Chaos Engineering: Randomly corrupt config files to test self-healing (dot heal)
4
5
  # USE WITH CAUTION: This intentionally breaks your environment.
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -9,6 +10,9 @@ source "$SCRIPT_DIR/../../lib/dot/ui.sh"
9
10
  # shellcheck source=../../lib/dot/log.sh
10
11
  # shellcheck disable=SC1091
11
12
  source "$SCRIPT_DIR/../../lib/dot/log.sh"
13
+ # shellcheck source=../../lib/dot/ai-install.sh
14
+ # shellcheck disable=SC1091
15
+ source "$SCRIPT_DIR/../../lib/dot/ai-install.sh"
12
16
  export DOT_COMMAND="apply"
13
17
 
14
18
  # Temp file cleanup. `set +u` guards the array expansion: on bash 3.2
@@ -154,9 +158,9 @@ check_cmd() {
154
158
  echo ""
155
159
  ui_header "AI provider CLI checks (optional)"
156
160
 
157
- # binary|mise_package|label
161
+ # binary|mise_package|label (claude uses the native installer, not mise)
158
162
  _AI_PROVIDERS=(
159
- "claude|npm:@anthropic-ai/claude-code|Claude Code"
163
+ "claude|native|Claude Code"
160
164
  "copilot|npm:@github/copilot|Copilot CLI"
161
165
  "gemini|npm:@google/gemini-cli|Gemini CLI"
162
166
  "sgpt|pipx:shell-gpt|Shell-GPT"
@@ -224,6 +228,10 @@ if [[ ${#_ai_missing[@]} -gt 0 ]] && [[ "${DOTFILES_NONINTERACTIVE:-0}" != "1" ]
224
228
  echo ""
225
229
  for _entry in "${_ai_to_install[@]}"; do
226
230
  IFS='|' read -r _bin _pkg _label <<<"$_entry"
231
+ if [[ "$_bin" == "claude" ]]; then
232
+ install_claude_native "$_label"
233
+ continue
234
+ fi
227
235
  if command -v gum &>/dev/null; then
228
236
  if gum spin --spinner dot --title "Installing $_label ($_pkg)" -- \
229
237
  mise use -g "$_pkg@latest" 2>&1; then
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  excludes=(scripts)
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  if [[ $# -lt 1 ]]; then
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  args=()
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # shellcheck disable=SC2034
4
5
  # =============================================================================
5
6
  # heal-chezmoi.sh — Chezmoi drift and backup repair functions for heal.sh
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # shellcheck disable=SC2034
4
5
  # =============================================================================
5
6
  # heal-system.sh — System-level repair functions for heal.sh
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # shellcheck disable=SC2034
4
5
  # =============================================================================
5
6
  # heal-tools.sh — Tool installation helpers for heal.sh
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # shellcheck disable=SC2034
4
5
  # =============================================================================
5
6
  # Dotfiles Heal Script - Auto-repair common dotfiles issues
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Pre-warm shell initialization caches for ultra-fast startup.
4
5
 
5
6
  set -euo pipefail
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # =============================================================================
4
5
  # Dotfiles Release Script
5
6
  # Orchestrates a new release: version bump, changelog, tag, and push
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # shellcheck disable=SC2034
4
5
  # =============================================================================
5
6
  # Dotfiles Rollback Script - Self-Healing Configuration Recovery
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Interactive setup for dotfiles preferences
4
5
  # Usage: dot setup
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Script: teleport.sh
4
5
  # Description: Deploys dotfiles to a remote host ephemerally.
5
6
  # Usage: ./teleport.sh user@hostname
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  #
4
5
  # Verify that every "live" version reference matches the canonical
5
6
  # version in .chezmoidata.toml. The intent is to catch drift between
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  #
4
5
  # Fetch the current OpenSSF Scorecard result and refresh the
5
6
  # per-check posture table in docs/security/SCORECARD.md.
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SECRETS_DIR="$HOME/.config/chezmoi"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  OUT_FILE="${1:-$HOME/.config/chezmoi/encrypted_secrets.env.age}"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  KEY_PATH="${1:-$HOME/.ssh/id_ed25519}"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  ## Create compressed backup of home directory.
4
5
  ##
5
6
  ## Archives the home directory (excluding cache and trash) to a timestamped
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  #
4
5
  # scripts/security/check-disclosure-key-expiry.sh
5
6
  #
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # Security Policy Enforcement Script
4
5
  # This script enforces security policies across the dotfiles repository
5
6
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  ## Configure system firewall with secure defaults.
4
5
  ##
5
6
  ## Enables firewall with deny-by-default policy and minimal exceptions.
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
  # MIT License
3
- # Copyright (c) 2026
3
+ # SPDX-License-Identifier: MIT
4
+ # Copyright (c) 2015-2026 Sebastien Rousseau
4
5
  # See LICENSE file for details.
5
6
 
6
7
  # Script: lock-configs.sh
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  set -euo pipefail
4
5
 
5
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  ## Secure Configuration Management.
4
5
  ##
5
6
  ## Manages environment variables and secrets across local development.