@sebastienrousseau/dotfiles 0.2.504 → 0.2.507

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 (139) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +11 -11
  3. package/docs/AI.md +128 -58
  4. package/docs/COPYRIGHT +1 -1
  5. package/docs/STRUCTURE.md +1 -1
  6. package/docs/adr/ADR-012-ai-fleet-local-proxy.md +79 -0
  7. package/docs/adr/README.md +1 -0
  8. package/docs/index.md +2 -2
  9. package/docs/interop/A2A.md +2 -2
  10. package/docs/manual/00-introduction.md +1 -1
  11. package/docs/manual/01-concepts/02-trust-model.md +1 -1
  12. package/docs/manual/02-tutorials/01-first-install.md +1 -1
  13. package/docs/manual/03-reference/01-dot-cli.md +18 -3
  14. package/docs/manual/command-index.md +2 -2
  15. package/docs/operations/RELEASE_PIPELINE.md +3 -3
  16. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +6 -6
  17. package/docs/reference/TOOLS.md +1 -1
  18. package/docs/reference/UTILS.md +16 -12
  19. package/docs/security/AUTOMATION_SECRETS.md +1 -1
  20. package/docs/security/MCP_POLICY.md +4 -4
  21. package/docs/security/SECURITY_CHECKLIST.md +1 -1
  22. package/docs/security/SOUP_REGISTER.md +4 -4
  23. package/install.sh +7 -6
  24. package/package.json +1 -1
  25. package/scripts/ci/check-copyright-headers.sh +2 -1
  26. package/scripts/ci/check-shell-preamble.sh +2 -1
  27. package/scripts/ci/guard-gitleaks-checkout.sh +2 -1
  28. package/scripts/demo/record.sh +2 -1
  29. package/scripts/diagnostics/a2a-conformance.sh +2 -1
  30. package/scripts/diagnostics/alias-governance.sh +2 -1
  31. package/scripts/diagnostics/aliases-cheatsheet.sh +2 -1
  32. package/scripts/diagnostics/aliases-manifest.sh +2 -1
  33. package/scripts/diagnostics/benchmark.sh +2 -1
  34. package/scripts/diagnostics/conflicts.sh +2 -1
  35. package/scripts/diagnostics/doctor-unified.sh +2 -1
  36. package/scripts/diagnostics/doctor.sh +4 -3
  37. package/scripts/diagnostics/drift-dashboard.sh +2 -1
  38. package/scripts/diagnostics/health.sh +2 -1
  39. package/scripts/diagnostics/history-analysis.sh +2 -1
  40. package/scripts/diagnostics/mcp-doctor.sh +2 -1
  41. package/scripts/diagnostics/perf.sh +2 -1
  42. package/scripts/diagnostics/scorecard.sh +2 -1
  43. package/scripts/diagnostics/secret-governance.sh +2 -1
  44. package/scripts/diagnostics/security-score.sh +2 -1
  45. package/scripts/diagnostics/smoke-test.sh +2 -1
  46. package/scripts/diagnostics/snapshot.sh +2 -1
  47. package/scripts/diagnostics/verify.sh +2 -1
  48. package/scripts/diagnostics/verify_state.sh +2 -1
  49. package/scripts/diagnostics/version-locks.sh +2 -1
  50. package/scripts/diagnostics/workstation-attestation.sh +2 -1
  51. package/scripts/dot/commands/agent.sh +2 -1
  52. package/scripts/dot/commands/agents.sh +7 -6
  53. package/scripts/dot/commands/ai.sh +168 -193
  54. package/scripts/dot/commands/aliases.sh +2 -1
  55. package/scripts/dot/commands/appearance.sh +2 -1
  56. package/scripts/dot/commands/core.sh +2 -1
  57. package/scripts/dot/commands/diagnostics.sh +2 -1
  58. package/scripts/dot/commands/env-emit.sh +2 -1
  59. package/scripts/dot/commands/fleet.sh +2 -1
  60. package/scripts/dot/commands/init.sh +2 -1
  61. package/scripts/dot/commands/lint.sh +2 -1
  62. package/scripts/dot/commands/manual.sh +2 -1
  63. package/scripts/dot/commands/meta.sh +2 -1
  64. package/scripts/dot/commands/patterns.sh +2 -1
  65. package/scripts/dot/commands/registry.sh +2 -1
  66. package/scripts/dot/commands/restore.sh +2 -1
  67. package/scripts/dot/commands/secrets.sh +2 -1
  68. package/scripts/dot/commands/security.sh +2 -1
  69. package/scripts/dot/commands/tools.sh +2 -1
  70. package/scripts/fonts/install-nerd-fonts.sh +2 -1
  71. package/scripts/fonts/patch-fonts.sh +2 -1
  72. package/scripts/git-hooks/install.sh +2 -1
  73. package/scripts/git-hooks/pre-commit-audit.sh +3 -2
  74. package/scripts/lib/secrets_provider.sh +2 -1
  75. package/scripts/ops/ai-setup.sh +25 -16
  76. package/scripts/ops/bundle.sh +2 -1
  77. package/scripts/ops/chaos.sh +2 -1
  78. package/scripts/ops/chezmoi-apply.sh +22 -4
  79. package/scripts/ops/chezmoi-diff.sh +2 -1
  80. package/scripts/ops/chezmoi-remove.sh +2 -1
  81. package/scripts/ops/chezmoi-update.sh +2 -1
  82. package/scripts/ops/heal-chezmoi.sh +2 -1
  83. package/scripts/ops/heal-system.sh +2 -1
  84. package/scripts/ops/heal-tools.sh +2 -1
  85. package/scripts/ops/heal.sh +2 -1
  86. package/scripts/ops/post-apply-repair.sh +2 -1
  87. package/scripts/ops/prewarm.sh +2 -1
  88. package/scripts/ops/release.sh +2 -1
  89. package/scripts/ops/rollback.sh +3 -2
  90. package/scripts/ops/setup.sh +2 -1
  91. package/scripts/ops/teleport.sh +2 -1
  92. package/scripts/qa/check-version-consistency.sh +2 -1
  93. package/scripts/qa/coverage-baseline.sh +2 -1
  94. package/scripts/qa/docs-coverage.sh +3 -2
  95. package/scripts/qa/reliability-audit.sh +2 -1
  96. package/scripts/qa/scorecard-snapshot.sh +2 -1
  97. package/scripts/qa/traceability-coverage.sh +2 -1
  98. package/scripts/qa/validate-examples.sh +2 -1
  99. package/scripts/qa/wsl-contract.sh +2 -1
  100. package/scripts/secrets/age-init.sh +2 -1
  101. package/scripts/secrets/create-secrets-file.sh +2 -1
  102. package/scripts/secrets/encrypt-ssh-key.sh +2 -1
  103. package/scripts/security/backup.sh +2 -1
  104. package/scripts/security/check-disclosure-key-expiry.sh +2 -1
  105. package/scripts/security/dns-doh.sh +2 -1
  106. package/scripts/security/encryption-check.sh +2 -1
  107. package/scripts/security/enforce-policies.sh +2 -1
  108. package/scripts/security/firewall.sh +2 -1
  109. package/scripts/security/lock-configs.sh +2 -1
  110. package/scripts/security/lock-screen.sh +2 -1
  111. package/scripts/security/manage-secrets.sh +2 -1
  112. package/scripts/security/ssh-cert.sh +2 -1
  113. package/scripts/security/telemetry-kill.sh +2 -1
  114. package/scripts/security/usb-safety.sh +2 -1
  115. package/scripts/theme/apply-gnome-theme.sh +2 -1
  116. package/scripts/theme/extract-heic-frames.sh +2 -1
  117. package/scripts/theme/extract-theme.py +2 -1
  118. package/scripts/theme/install-boot-logo.sh +2 -1
  119. package/scripts/theme/install-catppuccin-themes.sh +2 -1
  120. package/scripts/theme/install-cursors.sh +2 -1
  121. package/scripts/theme/install-file-icons.sh +2 -1
  122. package/scripts/theme/install-grub-theme.sh +2 -1
  123. package/scripts/theme/install-lock-icon.sh +2 -1
  124. package/scripts/theme/merge-wallpaper.sh +2 -1
  125. package/scripts/theme/rebuild-themes.sh +2 -1
  126. package/scripts/theme/switch.sh +2 -1
  127. package/scripts/theme/wallpaper-rotate.sh +2 -1
  128. package/scripts/theme/wallpaper-sync.sh +5 -4
  129. package/scripts/tools/cmatrix.sh +2 -1
  130. package/scripts/tools/detect-collisions.py +2 -1
  131. package/scripts/tools/emoji-picker.sh +2 -1
  132. package/scripts/tools/figlet-banner.sh +2 -1
  133. package/scripts/tools/log-rotate.sh +2 -1
  134. package/scripts/tools/lolcat-wrap.sh +2 -1
  135. package/scripts/tools/pipes.sh +2 -1
  136. package/scripts/tuning/linux.sh +2 -1
  137. package/scripts/tuning/macos.sh +2 -1
  138. package/scripts/uninstall.sh +2 -1
  139. 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 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.507 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
@@ -13,43 +14,51 @@ ui_header "Universal AI Toolchain Setup"
13
14
  setup_tool() {
14
15
  local name="$1"
15
16
  local cmd="$2"
16
- local auth_cmd="$3"
17
+ shift 2
18
+ # Remaining args are the auth command — passed as an array to avoid eval.
19
+ local -a auth_argv=("$@")
17
20
 
18
21
  ui_section "Setting up $name"
19
22
  if command -v "$cmd" >/dev/null 2>&1; then
20
23
  ui_info "Tool found, initiating authentication..."
21
- eval "$auth_cmd" || ui_warn "$name" "Setup/Auth skipped or failed."
24
+ "${auth_argv[@]}" || ui_warn "$name" "Setup/Auth skipped or failed."
22
25
  else
23
26
  ui_err "$name" "Binary not found. Run 'dot apply' or install via mise first."
24
27
  fi
25
28
  }
26
29
 
27
30
  # 1. Claude
28
- setup_tool "Claude CLI" "claude" "claude --version" # Claude handles auth via web flow or env
31
+ setup_tool "Claude CLI" "claude" claude --version # Claude handles auth via web flow or env
29
32
 
30
- # 2. Gemini
31
- setup_tool "Gemini CLI" "gemini" "gemini info"
33
+ # 2. Antigravity CLI
34
+ setup_tool "Antigravity CLI" "agy" agy --version
32
35
 
33
- # 3. Copilot
34
- setup_tool "Copilot CLI" "copilot" "copilot --version"
36
+ # 3. Codex
37
+ setup_tool "Codex CLI" "codex" codex --version
35
38
 
36
- # 4. Kiro
37
- setup_tool "Kiro CLI" "kiro-cli" "kiro-cli auth login"
39
+ # 4. Copilot
40
+ setup_tool "Copilot CLI" "copilot" copilot --version
38
41
 
39
- # 6. Aider
40
- setup_tool "Aider" "aider" "aider --version"
42
+ # 5. Goose
43
+ setup_tool "Goose" "goose" goose --version
44
+
45
+ # 6. Kiro
46
+ setup_tool "Kiro CLI" "kiro-cli" kiro-cli auth login
47
+
48
+ # 7. Aider
49
+ setup_tool "Aider" "aider" aider --version
41
50
 
42
51
  # 7. Autohand Code
43
- setup_tool "Autohand Code" "autohand" "autohand --version"
52
+ setup_tool "Autohand Code" "autohand" autohand --version
44
53
 
45
54
  # 8. Mistral Vibe
46
- setup_tool "Mistral Vibe" "vibe" "vibe --version"
55
+ setup_tool "Mistral Vibe" "vibe" vibe --version
47
56
 
48
57
  # 9. Qwen Code
49
- setup_tool "Qwen Code" "qwen" "qwen --version"
58
+ setup_tool "Qwen Code" "qwen" qwen --version
50
59
 
51
60
  # 10. ZAI
52
- setup_tool "ZAI" "zai" "zai --version"
61
+ setup_tool "ZAI" "zai" zai --version
53
62
 
54
63
  ui_header "AI Setup Complete"
55
64
  ui_info "All tools are ready. Use 'dot ai' to check status."
@@ -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,11 +158,13 @@ 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"
164
+ "codex|npm:@openai/codex|Codex CLI"
160
165
  "copilot|npm:@github/copilot|Copilot CLI"
161
- "gemini|npm:@google/gemini-cli|Gemini CLI"
166
+ "goose|native|Goose"
167
+ "agy|native|Antigravity CLI"
162
168
  "sgpt|pipx:shell-gpt|Shell-GPT"
163
169
  "ollama|aqua:ollama/ollama|Ollama"
164
170
  "opencode|npm:opencode-ai|OpenCode"
@@ -224,6 +230,18 @@ if [[ ${#_ai_missing[@]} -gt 0 ]] && [[ "${DOTFILES_NONINTERACTIVE:-0}" != "1" ]
224
230
  echo ""
225
231
  for _entry in "${_ai_to_install[@]}"; do
226
232
  IFS='|' read -r _bin _pkg _label <<<"$_entry"
233
+ if [[ "$_bin" == "claude" ]]; then
234
+ install_claude_native "$_label"
235
+ continue
236
+ fi
237
+ if [[ "$_bin" == "goose" ]]; then
238
+ install_goose_native "$_label"
239
+ continue
240
+ fi
241
+ if [[ "$_bin" == "agy" ]]; then
242
+ install_agy_native "$_label"
243
+ continue
244
+ fi
227
245
  if command -v gum &>/dev/null; then
228
246
  if gum spin --spinner dot --title "Installing $_label ($_pkg)" -- \
229
247
  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
@@ -283,7 +284,7 @@ $drift
283
284
 
284
285
  Analyze why the environment may have reached a state requiring rollback and suggest architectural hardening steps."
285
286
 
286
- dot cl --pattern hardener "$ai_prompt" || true
287
+ dot ai claude --style hardener "$ai_prompt" || true
287
288
  fi
288
289
  fi
289
290
  }
@@ -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)"
@@ -53,7 +54,7 @@ check_dot_command_docs() {
53
54
  check_ai_provider_docs() {
54
55
  local provider=""
55
56
 
56
- for provider in cl copilot gemini kiro sgpt ollama opencode aider; do
57
+ for provider in cl copilot agy kiro sgpt ollama opencode aider; do
57
58
  record_doc_check "dot $provider in AI.md" "\`dot $provider\`" "$AI_DOC"
58
59
  done
59
60
  }
@@ -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.
@@ -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
  set -euo pipefail
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
  ## Apply GNOME Theme — Apply Catppuccin themes to GNOME desktop.
4
5
  ##
5
6
  ## Configures GTK theme, icon theme, cursor theme, shell theme,
@@ -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
  # extract-heic-frames.sh — extract per-frame PNGs from dynamic HEIC wallpapers.
4
5
  #
5
6
  # Apple's dynamic HEIC format packs two images (frame 0 = light, frame 1 =
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env python3
2
- # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2015-2026 Sebastien Rousseau
3
4
  # extract-theme.py — Generate a terminal theme from wallpaper dominant colors.
4
5
  #
5
6
  # Uses K-Means clustering in CIELAB color space for perceptually accurate
@@ -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
  logo_path="${DOTFILES_BOOT_LOGO:-$HOME/.config/dotfiles/boot/logo.png}"
@@ -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
  ## Catppuccin Theme Installer — Install Catppuccin themes for GNOME.
4
5
  ##
5
6
  ## Downloads and installs GTK themes, icon themes, cursor themes,
@@ -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
  THEME="${DOTFILES_CURSOR_THEME:-Bibata-Modern-Ice}"
@@ -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
  THEME="${DOTFILES_ICON_THEME:-Papirus}"
@@ -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
  # Cross-platform sed in-place (BSD vs GNU)
@@ -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
  icon_path="${DOTFILES_LOCK_ICON:-$HOME/.config/dotfiles/lock/icon.png}"
@@ -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
  # merge-wallpaper.sh — Merge dark+light wallpapers into a single dynamic HEIC.
4
5
  #
5
6
  # Creates an Apple-compatible dynamic HEIC with appearance metadata so macOS
@@ -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
  # rebuild-themes.sh — Discover wallpapers and generate themes.toml dynamically.
4
5
  #
5
6
  # Scans system wallpaper directories and ~/Pictures/Wallpapers/ for images,
@@ -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
  ## Theme Switcher — Switch between theme families and light/dark modes.
4
5
  ##
5
6
  ## Supports Tokyo Night, Catppuccin, Rose Pine, Kanagawa, and other