@sebastienrousseau/dotfiles 0.2.499 → 0.2.501
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 +452 -0
- package/LICENSE +1283 -0
- package/README.md +322 -0
- package/docs/.vitepress/reports/localization-readability-audit.md +73 -0
- package/docs/AI.md +108 -0
- package/docs/CNAME +1 -0
- package/docs/COPYRIGHT +4 -3
- package/docs/NAMING_CONVENTIONS.md +102 -0
- package/docs/README.md +82 -0
- package/docs/_config.yml +59 -0
- package/docs/adr/ADR-001-ci-cd-pipeline.md +118 -0
- package/docs/adr/ADR-002-shell-performance.md +130 -0
- package/docs/adr/ADR-003-security-first.md +158 -0
- package/docs/adr/ADR-004-cli-architecture.md +171 -0
- package/docs/adr/ADR-005-chezmoi-choice.md +99 -0
- package/docs/adr/ADR-006-shell-selection.md +124 -0
- package/docs/adr/ADR-007-multi-shell-parity.md +62 -0
- package/docs/adr/ADR-008-alias-system-architecture.md +95 -0
- package/docs/adr/ADR-009-wallpaper-driven-theming.md +131 -0
- package/docs/adr/ADR-010-starship-transient-prompt.md +144 -0
- package/docs/adr/ADR-011-nushell-tier3-keep.md +144 -0
- package/docs/adr/README.md +39 -0
- package/docs/architecture/ARCHITECTURE.md +117 -0
- package/docs/architecture/INTEROP.md +44 -0
- package/docs/architecture/REPO_LAYOUT.md +241 -0
- package/docs/architecture/WALKTHROUGH.md +86 -0
- package/docs/architecture/fleet-deployment.md +77 -0
- package/docs/archive/EUXIS_2026_REVIEW.md +127 -0
- package/docs/archive/LEGACY_ROADMAP.md +160 -0
- package/docs/archive/MILESTONE_v0.2.493.md +47 -0
- package/docs/{PLAN.md → archive/PLAN.md} +50 -12
- package/docs/archive/REPO_AUDIT.md +31 -0
- package/docs/guides/INSTALL.md +144 -0
- package/docs/guides/NEOVIM_IDE_GUIDE.md +61 -0
- package/docs/guides/THEMING.md +230 -0
- package/docs/guides/TROUBLESHOOTING.md +176 -0
- package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +792 -0
- package/docs/index.md +43 -0
- package/docs/interop/A2A.md +39 -0
- package/docs/interop/POWERSHELL.md +102 -0
- package/docs/manual/00-introduction.md +89 -0
- package/docs/manual/01-concepts/01-architecture.md +138 -0
- package/docs/manual/01-concepts/02-trust-model.md +182 -0
- package/docs/manual/01-concepts/03-theme-engine.md +186 -0
- package/docs/manual/01-concepts/04-fleet.md +148 -0
- package/docs/manual/01-concepts/05-self-healing.md +204 -0
- package/docs/manual/02-tutorials/01-first-install.md +197 -0
- package/docs/manual/02-tutorials/02-add-wallpaper.md +216 -0
- package/docs/manual/02-tutorials/03-create-profile.md +244 -0
- package/docs/manual/02-tutorials/04-encrypt-secret.md +281 -0
- package/docs/manual/02-tutorials/05-deploy-fleet.md +283 -0
- package/docs/manual/03-reference/01-dot-cli.md +417 -0
- package/docs/manual/03-reference/02-config-files.md +265 -0
- package/docs/manual/03-reference/03-environment.md +124 -0
- package/docs/manual/03-reference/04-templates.md +190 -0
- package/docs/manual/03-reference/05-feature-flags.md +128 -0
- package/docs/manual/04-cookbook/01-recipes.md +285 -0
- package/docs/manual/04-cookbook/02-troubleshooting.md +351 -0
- package/docs/manual/04-cookbook/03-faq.md +175 -0
- package/docs/manual/05-appendices/A-platform-matrix.md +101 -0
- package/docs/manual/05-appendices/B-security-checklist.md +84 -0
- package/docs/manual/05-appendices/C-glossary.md +40 -0
- package/docs/manual/05-appendices/D-bibliography.md +58 -0
- package/docs/manual/05-appendices/E-license.md +38 -0
- package/docs/manual/_toc.yml +58 -0
- package/docs/manual/command-index.md +62 -0
- package/docs/manual/concept-index.md +168 -0
- package/docs/operations/ATTESTATION.md +44 -0
- package/docs/operations/CI_CADENCE.md +107 -0
- package/docs/operations/CI_COMPOSITES.md +156 -0
- package/docs/operations/COMPLETIONS.md +123 -0
- package/docs/operations/COVERAGE.md +148 -0
- package/docs/operations/DRIFT.md +107 -0
- package/docs/operations/MAINTENANCE.md +63 -0
- package/docs/operations/MIGRATION.md +109 -0
- package/docs/operations/OPERATIONS.md +188 -0
- package/docs/operations/PERFORMANCE.md +133 -0
- package/docs/operations/RELIABILITY.md +122 -0
- package/docs/{ROADMAP.md → operations/ROADMAP.md} +57 -39
- package/docs/operations/TESTING.md +199 -0
- package/docs/operations/TRACEABILITY.md +35 -0
- package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +65 -0
- package/docs/operations/VERSION_SYNC.md +393 -0
- package/docs/reference/ALIASES.md +131 -0
- package/docs/reference/ALIASES_CHEATSHEET.md +32 -0
- package/docs/reference/ALIASES_DEPRECATIONS.md +13 -0
- package/docs/reference/FEATURES.md +66 -0
- package/docs/reference/FONTS.md +112 -0
- package/docs/reference/PROFILES.md +69 -0
- package/docs/reference/SCREENSHOTS.md +121 -0
- package/docs/reference/SCRIPTS.md +71 -0
- package/docs/reference/SUPPORT_MATRIX.md +80 -0
- package/docs/reference/THEMES.md +117 -0
- package/docs/reference/TOOLS.md +109 -0
- package/docs/reference/UTILS.md +155 -0
- package/docs/security/AI_ACT_COMPLIANCE.md +94 -0
- package/docs/security/AUDIT_BYPASS.md +103 -0
- package/docs/security/AUTOMATION_SECRETS.md +26 -0
- package/docs/security/CI_EGRESS_ALLOWLIST.md +127 -0
- package/docs/security/COMPLIANCE.md +458 -0
- package/docs/security/DEPS_DEV_EXCEPTIONS.md +86 -0
- package/docs/security/ENCRYPTION.md +57 -0
- package/docs/security/FMEA.md +159 -0
- package/docs/security/HISTORY_FILTERING.md +132 -0
- package/docs/security/INCIDENT_RESPONSE.md +579 -0
- package/docs/security/INSTALL_VERIFICATION.md +122 -0
- package/docs/security/KEYS.md +49 -0
- package/docs/security/KEY_ROTATION.md +223 -0
- package/docs/security/MCP_POLICY.md +78 -0
- package/docs/security/POLICY_RELEASES.md +37 -0
- package/docs/security/README.md +28 -0
- package/docs/security/SCORECARD.md +80 -0
- package/docs/security/SECRETS.md +158 -0
- package/docs/security/SECURITY.md +45 -0
- package/docs/security/SECURITY_CHECKLIST.md +55 -0
- package/docs/security/SHELL_EXEMPTIONS.md +145 -0
- package/docs/security/SOUP_REGISTER.md +36 -0
- package/docs/security/THREAT_MODEL.md +130 -0
- package/docs/security/VERIFICATION_VALIDATION.md +228 -0
- package/docs/themes/README.md +10 -0
- package/docs/themes/VISUAL_INTEGRITY_REPORT.md +30 -0
- package/docs/themes/hero-shot.svg +78 -0
- package/dot_config/.module-manifest.json +69 -0
- package/dot_config/ai/identity.md +23 -0
- package/dot_config/ai/patterns/architect.md +16 -0
- package/dot_config/ai/patterns/hardener.md +15 -0
- package/dot_config/ai/patterns/refactor.md +15 -0
- package/dot_config/aider/aider.conf.yml +32 -0
- package/dot_config/alacritty/alacritty.toml.tmpl +55 -0
- package/dot_config/ansible/ansible.cfg +11 -0
- package/dot_config/atuin/config.toml.tmpl +47 -0
- package/dot_config/bat/config +23 -0
- package/dot_config/brave-flags.conf.tmpl +7 -0
- package/dot_config/btop/btop.conf +16 -0
- package/dot_config/btop/themes/tokyonight.theme +34 -0
- package/dot_config/bun/bunfig.toml.tmpl +33 -0
- package/dot_config/claude/mcp_servers.json +20 -0
- package/dot_config/containers/containers.conf +14 -0
- package/dot_config/curl/dot_curlrc +18 -0
- package/dot_config/dlv/config.yml +39 -0
- package/dot_config/docker/config.json +15 -0
- package/dot_config/dotfiles/agent-card.json +29 -0
- package/dot_config/dotfiles/agent-profiles.json +92 -0
- package/dot_config/dotfiles/boot/README.md +13 -0
- package/dot_config/dotfiles/grub/README.md +13 -0
- package/dot_config/dotfiles/lock/README.md +13 -0
- package/dot_config/dotfiles/mcp-lock.json +33 -0
- package/dot_config/dotfiles/mcp-policy.json +52 -0
- package/dot_config/dotfiles/mcp-registry.json +47 -0
- package/dot_config/dotfiles/model-registry.json +20 -0
- package/dot_config/dotfiles/policy-bundles.json +38 -0
- package/dot_config/dotfiles/prompt-registry.json +16 -0
- package/dot_config/dotfiles/versions.env +18 -0
- package/dot_config/duf/duf.conf +6 -0
- package/dot_config/duti/defaults.duti +5 -0
- package/dot_config/emoji/emoji.txt +34 -0
- package/dot_config/environment.d/50-ssh-agent.conf +2 -0
- package/dot_config/environment.d/90-wayland.conf +19 -0
- package/dot_config/fastfetch/config.jsonc +28 -0
- package/dot_config/firefox/user.js.tmpl +58 -0
- package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
- package/dot_config/fish/completions/dot.fish.tmpl +115 -0
- package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
- package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
- package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
- package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
- package/dot_config/fish/conf.d/init.fish.tmpl +172 -0
- package/dot_config/fish/config.fish.tmpl +44 -0
- package/dot_config/fish/fish_plugins +1 -0
- package/dot_config/fish/functions/_.fish +3 -0
- package/dot_config/fish/functions/_cached_eval.fish +131 -0
- package/dot_config/fish/functions/_cached_eval_clear.fish +17 -0
- package/dot_config/fish/functions/als.fish +46 -0
- package/dot_config/fish/functions/bg-upgrade.fish +7 -0
- package/dot_config/fish/functions/c.fish +3 -0
- package/dot_config/fish/functions/cat.fish +9 -0
- package/dot_config/fish/functions/d.fish +7 -0
- package/dot_config/fish/functions/dot.fish +34 -0
- package/dot_config/fish/functions/h.fish +3 -0
- package/dot_config/fish/functions/l.fish +7 -0
- package/dot_config/fish/functions/la.fish +7 -0
- package/dot_config/fish/functions/ll.fish +7 -0
- package/dot_config/fish/functions/log_error.fish +13 -0
- package/dot_config/fish/functions/log_info.fish +13 -0
- package/dot_config/fish/functions/lr.fish +7 -0
- package/dot_config/fish/functions/lra.fish +7 -0
- package/dot_config/fish/functions/ls.fish +7 -0
- package/dot_config/fish/functions/lt.fish +7 -0
- package/dot_config/fish/functions/lta.fish +7 -0
- package/dot_config/fish/functions/notify-run.fish +11 -0
- package/dot_config/fish/functions/q.fish +3 -0
- package/dot_config/fish/functions/silent-run.fish +7 -0
- package/dot_config/fish/functions/yy.fish +8 -0
- package/dot_config/flatpak/flatpak.list +4 -0
- package/dot_config/fontconfig/fonts.conf.tmpl +57 -0
- package/dot_config/foot/foot.ini.tmpl +33 -0
- package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
- package/dot_config/fzf/fzf.zsh +48 -0
- package/dot_config/gem/gemrc +9 -0
- package/dot_config/gh/config.yml +12 -0
- package/dot_config/ghostty/config.tmpl +165 -0
- package/dot_config/git/allowed_signers.tmpl +18 -0
- package/dot_config/git/attributes +12 -0
- package/dot_config/git/commit-template +10 -0
- package/dot_config/git/hooks/executable_commit-msg +146 -0
- package/dot_config/git/ignore +27 -0
- package/dot_config/gnupg/gpg-agent.conf +11 -0
- package/dot_config/go/golangci.yml +118 -0
- package/dot_config/go/gopls.json +30 -0
- package/dot_config/goose/config.yaml +29 -0
- package/dot_config/gtk-3.0/gtk.css.tmpl +184 -0
- package/dot_config/gtk-3.0/settings.ini.tmpl +27 -0
- package/dot_config/gtk-4.0/gtk.css.tmpl +252 -0
- package/dot_config/gtk-4.0/settings.ini.tmpl +18 -0
- package/dot_config/htop/htoprc +20 -0
- package/dot_config/inputrc +2 -0
- package/dot_config/ipython/profile_default/ipython_config.py +19 -0
- package/dot_config/just/justfile +122 -0
- package/dot_config/k9s/config.yaml +65 -0
- package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
- package/dot_config/kanshi/config.tmpl +22 -0
- package/dot_config/karabiner/karabiner.json +14 -0
- package/dot_config/kitty/kitty.conf.tmpl +53 -0
- package/dot_config/lazydocker/config.yml +186 -0
- package/dot_config/lazygit/config.yml +35 -0
- package/dot_config/mako/config +47 -0
- package/dot_config/mas/masapps.txt +5 -0
- package/dot_config/micro/settings.json +3 -0
- package/dot_config/mimeapps.list +77 -0
- package/dot_config/minikube/config.json +13 -0
- package/dot_config/mise/config.toml +99 -0
- package/dot_config/mongosh/mongoshrc.js +68 -0
- package/dot_config/mpv/input.conf +47 -0
- package/dot_config/mpv/mpv.conf +47 -0
- package/dot_config/mycli/myclirc +67 -0
- package/dot_config/nano/nanorc +28 -0
- package/dot_config/ncdu/config +12 -0
- package/dot_config/niri/config.kdl.tmpl +327 -0
- package/dot_config/nushell/aliases.nu +18 -0
- package/dot_config/nushell/cached_eval.nu +80 -0
- package/dot_config/nushell/completions.nu.tmpl +52 -0
- package/dot_config/nushell/config.nu.tmpl +86 -0
- package/dot_config/nushell/env.nu.tmpl +102 -0
- package/dot_config/nushell/functions.nu.tmpl +17 -0
- package/dot_config/nvim/init.lua +18 -0
- package/dot_config/nvim/lazy-lock.json +58 -0
- package/dot_config/nvim/lua/config/autocmds.lua +107 -0
- package/dot_config/nvim/lua/config/keymaps.lua +92 -0
- package/dot_config/nvim/lua/config/lazy.lua +44 -0
- package/dot_config/nvim/lua/config/options.lua +49 -0
- package/dot_config/nvim/lua/plugins/ai.lua +75 -0
- package/dot_config/nvim/lua/plugins/coding.lua +216 -0
- package/dot_config/nvim/lua/plugins/completion.lua +60 -0
- package/dot_config/nvim/lua/plugins/dap.lua +412 -0
- package/dot_config/nvim/lua/plugins/editor.lua +55 -0
- package/dot_config/nvim/lua/plugins/git.lua +10 -0
- package/dot_config/nvim/lua/plugins/lsp.lua +156 -0
- package/dot_config/nvim/lua/plugins/markdown.lua +18 -0
- package/dot_config/nvim/lua/plugins/rust.lua +34 -0
- package/dot_config/nvim/lua/plugins/sessions.lua +33 -0
- package/dot_config/nvim/lua/plugins/ui.lua +509 -0
- package/dot_config/paru/paru.conf +10 -0
- package/dot_config/pip/pip.conf.tmpl +32 -0
- package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
- package/dot_config/pueue/pueue.yml +34 -0
- package/dot_config/pypoetry/config.toml +6 -0
- package/dot_config/pyrightconfig.json +5 -0
- package/dot_config/raycast/README.md +13 -0
- package/dot_config/redis/redisclirc +41 -0
- package/dot_config/ripgrep/ripgreprc +21 -0
- package/dot_config/shell/00-core-paths.sh.tmpl +134 -0
- package/dot_config/shell/05-core-safety.sh +48 -0
- package/dot_config/shell/10-secrets.sh +41 -0
- package/dot_config/shell/40-fzf-defaults.sh.tmpl +17 -0
- package/dot_config/shell/40-ls-colors.sh +49 -0
- package/dot_config/shell/50-logic-functions-core.sh.tmpl +11 -0
- package/dot_config/shell/50-logic-functions.sh.tmpl +11 -0
- package/dot_config/shell/51-logic-functions-extra.sh.tmpl +65 -0
- package/dot_config/shell/90-ux-aliases.sh.tmpl +121 -0
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +55 -0
- package/dot_config/shell/Brewfile +207 -0
- package/dot_config/shell/Brewfile.cask +92 -0
- package/dot_config/shell/Brewfile.cli +127 -0
- package/dot_config/shell/README.md +284 -0
- package/dot_config/shell/als_data.txt.tmpl +65 -0
- package/dot_config/shell/custom/auto_ls.zsh +20 -0
- package/dot_config/shell/custom/context_suggest.zsh +68 -0
- package/dot_config/shell/custom/error_analysis.zsh +45 -0
- package/dot_config/sops/dot_sops.yaml +23 -0
- package/dot_config/starship.toml.tmpl +202 -0
- package/dot_config/swaylock/config +43 -0
- package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
- package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
- package/dot_config/systemd/user/pueued.service +12 -0
- package/dot_config/systemd/user/ssh-agent.service +12 -0
- package/dot_config/task/Taskfile.yml +86 -0
- package/dot_config/tflint/tflint.hcl +9 -0
- package/dot_config/tmux/tmux.conf.tmpl +223 -0
- package/dot_config/topgrade.toml.tmpl +54 -0
- package/dot_config/user-dirs.dirs +10 -0
- package/dot_config/vscode/extensions.txt +11 -0
- package/dot_config/vscode/settings.json.tmpl +82 -0
- package/dot_config/waybar/config.jsonc.tmpl +90 -0
- package/dot_config/waybar/style.css.tmpl +211 -0
- package/dot_config/wezterm/wezterm.lua.tmpl +64 -0
- package/dot_config/wget/wgetrc +12 -0
- package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
- package/dot_config/yarn/yarnrc.yml +36 -0
- package/dot_config/yazi/keymap.toml +67 -0
- package/dot_config/yazi/theme.toml +102 -0
- package/dot_config/yazi/yazi.toml +40 -0
- package/dot_config/zathura/zathurarc +52 -0
- package/dot_config/zellij/config.kdl.tmpl +79 -0
- package/dot_config/zsh/dot_zprofile +7 -0
- package/dot_config/zsh/dot_zshenv +5 -0
- package/dot_config/zsh/dot_zshrc.tmpl +635 -0
- package/dot_config/zsh/rc.d/00-alias-shims.zsh +99 -0
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +18 -0
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
- package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +214 -0
- package/dot_config/zsh/rc.d/40-bell.zsh +20 -0
- package/dot_config/zsh/rc.d/50-login-fortune.zsh +9 -0
- package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
- package/dot_local/bin/executable_ai-update +195 -0
- package/dot_local/bin/executable_ai_core +152 -0
- package/dot_local/bin/executable_antigravity +11 -0
- package/dot_local/bin/executable_b64 +84 -0
- package/dot_local/bin/executable_bm +79 -0
- package/dot_local/bin/executable_cb +39 -0
- package/dot_local/bin/executable_dot +596 -0
- package/dot_local/bin/executable_dot-ai +36 -0
- package/dot_local/bin/executable_dot-bootstrap +77 -0
- package/dot_local/bin/executable_dot-launch-or-focus +52 -0
- package/dot_local/bin/executable_dot-load-benchmark +31 -0
- package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
- package/dot_local/bin/executable_dot-theme-sync +952 -0
- package/dot_local/bin/executable_dot_completion +57 -0
- package/dot_local/bin/executable_dtags +28 -0
- package/dot_local/bin/executable_epoch +67 -0
- package/dot_local/bin/executable_extract +41 -0
- package/dot_local/bin/executable_gbd +52 -0
- package/dot_local/bin/executable_gd +42 -0
- package/dot_local/bin/executable_git-ai-commit +175 -0
- package/dot_local/bin/executable_git-ai-diff +169 -0
- package/dot_local/bin/executable_gl +101 -0
- package/dot_local/bin/executable_hash +161 -0
- package/dot_local/bin/executable_hashsum +160 -0
- package/dot_local/bin/executable_hex +115 -0
- package/dot_local/bin/executable_jsonv +78 -0
- package/dot_local/bin/executable_jwt +94 -0
- package/dot_local/bin/executable_kill-port +75 -0
- package/dot_local/bin/executable_lorem +118 -0
- package/dot_local/bin/executable_mkscript +35 -0
- package/dot_local/bin/executable_monitor +56 -0
- package/dot_local/bin/executable_myip +51 -0
- package/dot_local/bin/executable_notify +24 -0
- package/dot_local/bin/executable_open +38 -0
- package/dot_local/bin/executable_pw +27 -0
- package/dot_local/bin/executable_rec-start +46 -0
- package/dot_local/bin/executable_rec-stop +35 -0
- package/dot_local/bin/executable_regex +132 -0
- package/dot_local/bin/executable_start-niri +8 -0
- package/dot_local/bin/executable_tmux-sessionizer +314 -0
- package/dot_local/bin/executable_tour +177 -0
- package/dot_local/bin/executable_up +23 -0
- package/dot_local/bin/executable_update +142 -0
- package/dot_local/bin/executable_uuid +87 -0
- package/dot_local/bin/executable_win +32 -0
- package/dot_local/bin/executable_yamlv +57 -0
- package/dot_local/share/bash-completion/completions/dot +72 -0
- package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
- package/dot_local/share/man/man1/dot.1 +149 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
- package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
- package/dot_local/share/zsh/completions/.keep +0 -0
- package/dot_local/share/zsh/completions/_dot +283 -0
- package/install.sh +350 -0
- package/package.json +1 -1
- package/scripts/ci/check-copyright-headers.sh +96 -0
- package/scripts/ci/check-dangerous-chmod.sh +19 -0
- package/scripts/ci/check-deps-dev.sh +236 -0
- package/scripts/ci/check-insecure-tls.sh +61 -0
- package/scripts/ci/check-regression-traceability.sh +67 -0
- package/scripts/ci/check-shell-preamble.sh +106 -0
- package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
- package/scripts/ci/install-chezmoi-verified.sh +64 -0
- package/scripts/ci/run-coverage.sh +362 -0
- package/scripts/ci/validate-chezmoidata.sh +25 -0
- package/scripts/ci/validate-ci-config.sh +224 -0
- package/scripts/demo/record.sh +42 -0
- package/scripts/diagnostics/a2a-conformance.sh +162 -0
- package/scripts/diagnostics/alias-governance.sh +137 -0
- package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
- package/scripts/diagnostics/aliases-manifest.sh +31 -0
- package/scripts/diagnostics/benchmark.sh +381 -0
- package/scripts/diagnostics/conflicts.sh +72 -0
- package/scripts/diagnostics/doctor-unified.sh +38 -0
- package/scripts/diagnostics/doctor.sh +709 -0
- package/scripts/diagnostics/drift-dashboard.sh +201 -0
- package/scripts/diagnostics/health.sh +614 -0
- package/scripts/diagnostics/history-analysis.sh +85 -0
- package/scripts/diagnostics/mcp-doctor.sh +575 -0
- package/scripts/diagnostics/perf.sh +452 -0
- package/scripts/diagnostics/scorecard.sh +118 -0
- package/scripts/diagnostics/secret-governance.sh +58 -0
- package/scripts/diagnostics/security-score.sh +438 -0
- package/scripts/diagnostics/smoke-test.sh +87 -0
- package/scripts/diagnostics/snapshot.sh +89 -0
- package/scripts/diagnostics/verify.sh +107 -0
- package/scripts/{verify_state.sh → diagnostics/verify_state.sh} +22 -22
- package/scripts/diagnostics/version-locks.sh +79 -0
- package/scripts/diagnostics/workstation-attestation.sh +186 -0
- package/scripts/docs/build-manual.sh +883 -0
- package/scripts/docs/check-manual.sh +213 -0
- package/scripts/dot/commands/agent.sh +474 -0
- package/scripts/dot/commands/ai.sh +481 -0
- package/scripts/dot/commands/aliases.sh +250 -0
- package/scripts/dot/commands/appearance.sh +80 -0
- package/scripts/dot/commands/core.sh +185 -0
- package/scripts/dot/commands/diagnostics.sh +229 -0
- package/scripts/dot/commands/fleet.sh +399 -0
- package/scripts/dot/commands/lint.sh +177 -0
- package/scripts/dot/commands/manual.sh +168 -0
- package/scripts/dot/commands/meta.sh +248 -0
- package/scripts/dot/commands/patterns.sh +54 -0
- package/scripts/dot/commands/restore.sh +231 -0
- package/scripts/dot/commands/secrets.sh +223 -0
- package/scripts/dot/commands/security.sh +76 -0
- package/scripts/dot/commands/tools.sh +469 -0
- package/scripts/dot/data/alias-deprecations.tsv +2 -0
- package/scripts/dot/lib/bento.sh +50 -0
- package/scripts/dot/lib/log.sh +200 -0
- package/scripts/dot/lib/platform.sh +99 -0
- package/scripts/dot/lib/ui.sh +518 -0
- package/scripts/dot/lib/utils.sh +377 -0
- package/scripts/fonts/install-nerd-fonts.sh +68 -0
- package/scripts/fonts/patch-fonts.sh +35 -0
- package/scripts/git-hooks/install.sh +11 -0
- package/scripts/git-hooks/pre-commit +12 -0
- package/scripts/git-hooks/pre-commit-audit.sh +145 -0
- package/scripts/git-hooks/pre-push +92 -0
- package/scripts/git-hooks/prepare-commit-msg +29 -0
- package/scripts/lib/secrets_provider.sh +158 -0
- package/scripts/maintenance/check-updates.sh +131 -0
- package/scripts/ops/ai-setup.sh +55 -0
- package/scripts/ops/bundle.sh +77 -0
- package/scripts/ops/chaos.sh +49 -0
- package/scripts/ops/chezmoi-apply.sh +270 -0
- package/scripts/ops/chezmoi-diff.sh +15 -0
- package/scripts/ops/chezmoi-remove.sh +45 -0
- package/scripts/ops/chezmoi-update.sh +48 -0
- package/scripts/ops/heal-chezmoi.sh +86 -0
- package/scripts/ops/heal-system.sh +128 -0
- package/scripts/ops/heal-tools.sh +340 -0
- package/scripts/ops/heal.sh +222 -0
- package/scripts/ops/post-apply-repair.sh +106 -0
- package/scripts/ops/prewarm.sh +127 -0
- package/scripts/ops/release.sh +252 -0
- package/scripts/ops/rollback.sh +589 -0
- package/scripts/ops/setup.sh +137 -0
- package/scripts/ops/teleport.sh +33 -0
- package/scripts/qa/coverage-baseline.sh +60 -0
- package/scripts/qa/docs-coverage.sh +111 -0
- package/scripts/qa/powershell-contract.ps1 +95 -0
- package/scripts/qa/reliability-audit.sh +138 -0
- package/scripts/qa/traceability-coverage.sh +116 -0
- package/scripts/qa/validate-examples.sh +26 -0
- package/scripts/qa/wsl-contract.sh +11 -0
- package/scripts/release/package-policy-bundles.sh +125 -0
- package/scripts/secrets/age-init.sh +70 -0
- package/scripts/secrets/create-secrets-file.sh +45 -0
- package/scripts/secrets/encrypt-ssh-key.sh +43 -0
- package/scripts/security/backup.sh +57 -0
- package/scripts/security/dns-doh.sh +51 -0
- package/scripts/security/encryption-check.sh +54 -0
- package/scripts/security/enforce-policies.sh +334 -0
- package/scripts/security/firewall.sh +90 -0
- package/scripts/security/lock-configs.sh +57 -0
- package/scripts/security/lock-screen.sh +55 -0
- package/scripts/security/manage-secrets.sh +428 -0
- package/scripts/security/ssh-cert.sh +203 -0
- package/scripts/security/telemetry-kill.sh +50 -0
- package/scripts/security/usb-safety.sh +51 -0
- package/scripts/theme/apply-gnome-theme.sh +328 -0
- package/scripts/theme/extract-theme.py +677 -0
- package/scripts/theme/install-boot-logo.sh +62 -0
- package/scripts/theme/install-catppuccin-themes.sh +370 -0
- package/scripts/theme/install-cursors.sh +25 -0
- package/scripts/theme/install-file-icons.sh +26 -0
- package/scripts/theme/install-grub-theme.sh +61 -0
- package/scripts/theme/install-lock-icon.sh +30 -0
- package/scripts/theme/merge-wallpaper.sh +145 -0
- package/scripts/theme/rebuild-themes.sh +309 -0
- package/scripts/theme/switch.sh +431 -0
- package/scripts/theme/wallpaper-rotate.sh +136 -0
- package/scripts/theme/wallpaper-sync.sh +397 -0
- package/scripts/tools/cmatrix.sh +21 -0
- package/scripts/{detect-collisions.py → tools/detect-collisions.py} +2 -2
- package/scripts/tools/emoji-picker.sh +48 -0
- package/scripts/tools/figlet-banner.sh +18 -0
- package/scripts/tools/log-rotate.sh +30 -0
- package/scripts/tools/lolcat-wrap.sh +19 -0
- package/scripts/tools/pipes.sh +48 -0
- package/scripts/tuning/linux.sh +185 -0
- package/scripts/tuning/macos.sh +55 -0
- package/scripts/uninstall.sh +85 -0
- package/scripts/version-sync.sh +487 -0
- package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
- package/templates/chezmoi-data/mac-m1.toml.example +16 -0
- package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
- package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
- package/templates/projects/go/.github/workflows/ci.yml +31 -0
- package/templates/projects/go/README.md +4 -0
- package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
- package/templates/projects/go/go.sum +0 -0
- package/templates/projects/molecule/README.md +7 -0
- package/templates/projects/molecule/converge.yml +7 -0
- package/templates/projects/molecule/molecule.yml +16 -0
- package/templates/projects/node/.github/workflows/ci.yml +30 -0
- package/templates/projects/node/README.md +4 -0
- package/templates/projects/node/package-lock.json +12 -0
- package/templates/projects/node/src/index.js +1 -0
- package/templates/projects/packer/README.md +15 -0
- package/templates/projects/packer/main.pkr.hcl +15 -0
- package/templates/projects/python/.github/workflows/ci.yml +34 -0
- package/templates/projects/python/README.md +4 -0
- package/templates/projects/python/pyproject.toml +15 -0
- package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
- package/templates/projects/python/tests/test_basic.py +1 -0
- package/docs/ARCHITECTURE.md +0 -62
- package/docs/COMPLIANCE.md +0 -47
- package/docs/OPERATIONS.md +0 -103
- package/docs/PR_DESCRIPTION.md +0 -150
- package/docs/ROADMAP_legacy.md +0 -556
- package/docs/SECURITY_CHECKLIST.md +0 -25
- package/docs/TASK.md +0 -99
- package/docs/WALKTHROUGH.md +0 -46
- package/scripts/backup.sh +0 -142
- package/scripts/banner.sh +0 -20
- package/scripts/benchmark.sh +0 -20
- package/scripts/build.sh +0 -41
- package/scripts/clean.sh +0 -31
- package/scripts/compile.sh +0 -54
- package/scripts/copy.sh +0 -108
- package/scripts/doctor.sh +0 -79
- package/scripts/dotfiles.sh +0 -63
- package/scripts/download.sh +0 -35
- package/scripts/help.sh +0 -57
- package/scripts/lock-configs.sh +0 -57
- package/scripts/package.sh +0 -46
- package/scripts/ssh.sh +0 -55
- package/scripts/teleport.sh +0 -23
- package/scripts/test-aliases.sh +0 -25
- package/scripts/test_smoke.sh +0 -88
- package/scripts/unpack.sh +0 -28
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Utilities
|
|
6
|
+
|
|
7
|
+
Aliases, functions, and the `dot` CLI provide day-to-day tooling across macOS, Linux, and WSL.
|
|
8
|
+
|
|
9
|
+
## Dot CLI
|
|
10
|
+
|
|
11
|
+
The `dot` command is the main interface for managing dotfiles. Run `dot version` or `dot --version` to check the installed version.
|
|
12
|
+
|
|
13
|
+
### Core commands
|
|
14
|
+
|
|
15
|
+
| Command | Description |
|
|
16
|
+
|---------|-------------|
|
|
17
|
+
| `dot commit` | Create an AI-assisted conventional commit |
|
|
18
|
+
| `dot apply` | Apply dotfiles (`chezmoi apply`) |
|
|
19
|
+
| `dot sync` | Alias of apply |
|
|
20
|
+
| `dot update` | Pull latest changes and apply |
|
|
21
|
+
| `dot add <file>` | Add a file to chezmoi source |
|
|
22
|
+
| `dot diff` | Show local changes (excludes scripts) |
|
|
23
|
+
| `dot status` | Show configuration drift |
|
|
24
|
+
| `dot remove <path>` | Safely remove a managed file |
|
|
25
|
+
| `dot cd` | Print source directory path |
|
|
26
|
+
| `dot edit` | Open source in your editor |
|
|
27
|
+
| `dot clean-cache` | Clear generated shell initialization caches |
|
|
28
|
+
| `dot prewarm` | Regenerate shell caches for fast startup |
|
|
29
|
+
| `dot bundle` | Create an offline portable archive |
|
|
30
|
+
| `dot upgrade` | Update toolchains, plugins, and dotfiles |
|
|
31
|
+
| `dot packages` | Show installed packages and package managers |
|
|
32
|
+
| `dot cache-refresh` | Rebuild generated shell state |
|
|
33
|
+
| `dot search <term>` | Find commands by keyword |
|
|
34
|
+
| `dot help` | Show command help and the public reference |
|
|
35
|
+
| `dot version` | Show the installed dotfiles version |
|
|
36
|
+
|
|
37
|
+
### Diagnostics
|
|
38
|
+
|
|
39
|
+
| Command | Description |
|
|
40
|
+
|---------|-------------|
|
|
41
|
+
| `dot doctor` | Run system health checks (`--score/-s`,`--heal/-H`) |
|
|
42
|
+
| `dot health` | Run the health dashboard (`--verbose/-v`,`--json/-j`,`--fix/-f`,`--force/-F`) |
|
|
43
|
+
| `dot heal` | Auto-repair missing tools, chezmoi drift, broken symlinks, and critical files (`--dry-run/-n`,`--force/-f`) |
|
|
44
|
+
| `dot smoke-test` | Verify toolchains (Rust, Go, AI CLIs) |
|
|
45
|
+
| `dot verify` | Run security and integrity verification (`--security/-s`) |
|
|
46
|
+
| `dot chaos` | Simulate config corruption to test self-healing |
|
|
47
|
+
| `dot rollback` | Roll back dotfiles to the previous known-good state |
|
|
48
|
+
| `dot drift` | Detailed configuration drift dashboard |
|
|
49
|
+
| `dot benchmark` | Measure shell startup time (`--detailed/-d`,`--profile/-p`,`--compare/-c`,`--waterfall/-w`) |
|
|
50
|
+
| `dot perf` | Show performance mode + quick timing (`--json/-j`,`--profile/-p`,`--runs/-r`,`--target/-t`) |
|
|
51
|
+
| `dot score` | Show the high-level system health and security scorecard |
|
|
52
|
+
| `dot metrics` | Show recent observability metrics |
|
|
53
|
+
| `dot load-bench` | Measure heavy-layer readiness |
|
|
54
|
+
| `dot mcp` | Validate MCP policy and registry (`--strict/-s`,`--json/-j`) |
|
|
55
|
+
| `dot attest` | Export workstation evidence (`--json/-j`,`--write/-w`,`--fleet-store/-F`) |
|
|
56
|
+
| `dot history` | Analyse shell history |
|
|
57
|
+
| `dot security-score` | Score workstation security (`--verbose/-v`,`--quiet/-q`,`--json/-j`) |
|
|
58
|
+
| `dot snapshot` | Capture workstation state (`--baseline/-b`,`--force/-f`) |
|
|
59
|
+
| `dot ai` | Show categorized AI CLI status and launch an installed provider |
|
|
60
|
+
| `dot ai-setup` | Bootstrap supported AI CLIs interactively |
|
|
61
|
+
| `dot ai-query` | Run context-aware AI queries over the repo |
|
|
62
|
+
| `dot mode` | Show or switch the active agent profile |
|
|
63
|
+
| `dot agent` | Inspect agent metadata, logs, checkpoints, and conformance |
|
|
64
|
+
| `dot agent checkpoint` | Save, list, show, and replay bounded agent checkpoints |
|
|
65
|
+
| `dot agent conformance` | Validate A2A discovery and agent card conformance (`--strict/-s`,`--json/-j`) |
|
|
66
|
+
|
|
67
|
+
### Tools
|
|
68
|
+
|
|
69
|
+
| Command | Description |
|
|
70
|
+
|---------|-------------|
|
|
71
|
+
| `dot env` | Show managed runtime and tool versions |
|
|
72
|
+
| `dot profile` | Show or switch the active configuration profile |
|
|
73
|
+
| `dot keys` | Show the keybindings and signing reference |
|
|
74
|
+
| `dot tools` | Show tools documentation |
|
|
75
|
+
| `dot tools install` | Enter Nix development shell |
|
|
76
|
+
| `dot new <lang> <name>` | Scaffold a project (`python`/`go`/`node`) |
|
|
77
|
+
| `dot sandbox` | Launch Docker sandbox preview |
|
|
78
|
+
| `dot learn` | Start the guided onboarding tour |
|
|
79
|
+
| `dot docs` | Show the main repository documentation |
|
|
80
|
+
| `dot log-rotate` | Rotate `~/.local/share/dotfiles.log` |
|
|
81
|
+
| `dot lint` | Lint shell scripts (`--check/-c`,`--fix/-f`) |
|
|
82
|
+
|
|
83
|
+
## Universal Scripts
|
|
84
|
+
|
|
85
|
+
POSIX scripts in `~/.local/bin/` that work across macOS, Linux, and WSL.
|
|
86
|
+
|
|
87
|
+
| Command | Description |
|
|
88
|
+
|---------|-------------|
|
|
89
|
+
| `als` | Interactive alias and script viewer (categorized) |
|
|
90
|
+
| `cb` | Universal clipboard utility (detects `pbcopy`/`pbpaste`, `xclip`/`wl-copy`, or `clip.exe`) |
|
|
91
|
+
| `open` | Universal file/URL opener (maps to `open`, `xdg-open`, or `explorer.exe`) |
|
|
92
|
+
| `notify` | Universal desktop notifications (`osascript`, `notify-send`, or `powershell`) |
|
|
93
|
+
| `extract` | Universal archive extractor with robust format support and `gum` UI feedback |
|
|
94
|
+
| `up <n>` | Navigate up `n` directory levels |
|
|
95
|
+
| `bm` | Directory bookmarking tool (`add`, `goto`, `list`, `remove`, `update`) |
|
|
96
|
+
| `win` | WSL-specific shim for running Windows binaries with translated paths |
|
|
97
|
+
|
|
98
|
+
## Appearance
|
|
99
|
+
|
|
100
|
+
| Command | Description |
|
|
101
|
+
|---------|-------------|
|
|
102
|
+
| `dot theme` | Interactive picker (paired wallpaper themes only) |
|
|
103
|
+
| `dot theme <name>` | Switch directly (e.g. `dot theme tahoe-dark`) |
|
|
104
|
+
| `dot theme toggle` | Swap dark↔light within current family |
|
|
105
|
+
| `dot theme rebuild` | Regenerate themes from system + custom wallpapers via K-Means in CIELAB (`--force`, `--list`) |
|
|
106
|
+
| `dot theme list` | Show paired wallpaper themes with System/Custom source |
|
|
107
|
+
| `dot wallpaper` | Apply a wallpaper independently of theme |
|
|
108
|
+
| `dot fonts` | Install Nerd Fonts |
|
|
109
|
+
| `dot tune` | Apply supported host tuning changes |
|
|
110
|
+
|
|
111
|
+
Themes are auto-generated from wallpapers — `themes.toml` is not hand-edited. See [Theming Guide](../guides/THEMING.md) for the K-Means CIELAB extraction model and Apple-compatible dynamic HEIC support.
|
|
112
|
+
|
|
113
|
+
## AI Bridges
|
|
114
|
+
|
|
115
|
+
| Command | Description |
|
|
116
|
+
|---------|-------------|
|
|
117
|
+
| `dot cl` | Invoke Claude Code with dotfiles context injection |
|
|
118
|
+
| `dot copilot` | Invoke GitHub Copilot CLI with dotfiles context injection |
|
|
119
|
+
| `dot gemini` | Invoke Gemini CLI with dotfiles context injection |
|
|
120
|
+
| `dot kiro` | Invoke Kiro CLI with dotfiles context injection |
|
|
121
|
+
| `dot sgpt` | Invoke Shell-GPT with dotfiles context injection |
|
|
122
|
+
| `dot ollama` | Invoke Ollama with dotfiles context injection |
|
|
123
|
+
| `dot opencode` | Invoke OpenCode with dotfiles context injection |
|
|
124
|
+
| `dot aider` | Invoke Aider with dotfiles context injection |
|
|
125
|
+
|
|
126
|
+
## Secrets
|
|
127
|
+
|
|
128
|
+
| Command | Description |
|
|
129
|
+
|---------|-------------|
|
|
130
|
+
| `dot secrets-init` | Initialize the local age identity for secrets |
|
|
131
|
+
| `dot secrets` | Manage encrypted secrets and environment buckets |
|
|
132
|
+
| `dot secrets-create` | Create a new encrypted secrets file |
|
|
133
|
+
| `dot ssh-key` | Encrypt a local SSH key with age |
|
|
134
|
+
| `dot ssh-cert` | Manage short-lived SSH certificates (`issue`/`status`/`revoke`) |
|
|
135
|
+
|
|
136
|
+
## Security (opt-in)
|
|
137
|
+
|
|
138
|
+
| Command | Description |
|
|
139
|
+
|---------|-------------|
|
|
140
|
+
| `dot backup` | Create a compressed backup |
|
|
141
|
+
| `dot encrypt-check` | Check disk encryption status |
|
|
142
|
+
| `dot firewall` | Apply firewall hardening |
|
|
143
|
+
| `dot telemetry` | Disable telemetry |
|
|
144
|
+
| `dot dns-doh` | Enable DNS-over-HTTPS |
|
|
145
|
+
| `dot lock-screen` | Enforce lock screen idle settings |
|
|
146
|
+
| `dot usb-safety` | Disable automount for removable media |
|
|
147
|
+
|
|
148
|
+
## Fleet
|
|
149
|
+
|
|
150
|
+
| Command | Description |
|
|
151
|
+
|---------|-------------|
|
|
152
|
+
| `dot fleet` | Show fleet node status, namespace, and drift |
|
|
153
|
+
| `dot fleet drift` | Check configuration drift across managed files |
|
|
154
|
+
| `dot fleet namespace` | Show or set the active fleet namespace |
|
|
155
|
+
| `dot fleet events` | Show recent local fleet events |
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# EU AI Act Compliance Assessment
|
|
6
|
+
|
|
7
|
+
This document maps the dotfiles project against the EU Artificial Intelligence Act (Regulation (EU) 2024/1689) to confirm compliance posture and applicable obligations.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Risk Classification (Annex III Assessment)
|
|
12
|
+
|
|
13
|
+
| Criterion | Assessment | Result |
|
|
14
|
+
|-----------|-----------|--------|
|
|
15
|
+
| Biometric identification | Not applicable | N/A |
|
|
16
|
+
| Critical infrastructure | Not applicable | N/A |
|
|
17
|
+
| Education / employment | Not applicable | N/A |
|
|
18
|
+
| Essential services | Not applicable | N/A |
|
|
19
|
+
| Law enforcement | Not applicable | N/A |
|
|
20
|
+
| Migration / border control | Not applicable | N/A |
|
|
21
|
+
|
|
22
|
+
**Classification: Minimal Risk**
|
|
23
|
+
|
|
24
|
+
This project is a workstation configuration management tool. It does not deploy, train, or host AI models. It integrates with external AI CLI tools (Claude, Gemini, Ollama) as a consumer, not a provider.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Open-Source Exemption (Article 2(12))
|
|
29
|
+
|
|
30
|
+
| Requirement | Status |
|
|
31
|
+
|-------------|--------|
|
|
32
|
+
| License type | MIT (permissive, open-source) |
|
|
33
|
+
| Model weights distributed | No — no model training or distribution |
|
|
34
|
+
| Free and open-source | Yes — publicly available source code |
|
|
35
|
+
| No prohibited practices (Article 5) | Confirmed — no subliminal, exploitative, or social scoring use |
|
|
36
|
+
|
|
37
|
+
**Result:** This project qualifies for the open-source exemption under Article 2(12). Open-source AI components released under free licenses are exempt from most AI Act obligations, provided they do not fall under prohibited practices or high-risk classifications.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Transparency Obligations
|
|
42
|
+
|
|
43
|
+
Even for minimal-risk and exempt systems, the AI Act encourages transparency. This project voluntarily implements the following:
|
|
44
|
+
|
|
45
|
+
| Obligation | Implementation | Evidence |
|
|
46
|
+
|-----------|----------------|----------|
|
|
47
|
+
| AI interaction disclosure | Agent session logging | `agent-sessions.jsonl` via `dot_agent_session_log()` |
|
|
48
|
+
| Model identification | Model registry | `dot_config/dotfiles/model-registry.json` |
|
|
49
|
+
| Configuration transparency | Agent profiles | `dot_config/dotfiles/agent-profiles.json` |
|
|
50
|
+
| Audit trail | Structured logging | `~/.local/share/dotfiles.log`, `~/.local/state/dotfiles/` |
|
|
51
|
+
| Workstation attestation | Attestation export | `dot attest --json` |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## GPAI Provisions (Chapter V)
|
|
56
|
+
|
|
57
|
+
| Criterion | Assessment |
|
|
58
|
+
|-----------|-----------|
|
|
59
|
+
| General-purpose AI model provider | **No** — this project does not train, fine-tune, or distribute AI models |
|
|
60
|
+
| Systemic risk model | **No** — no model hosting or inference serving |
|
|
61
|
+
| Downstream provider obligations | **No** — consumer of external AI APIs only |
|
|
62
|
+
|
|
63
|
+
**Result:** GPAI provisions are not applicable. This project consumes AI services but does not provide them.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Enforcement Timeline
|
|
68
|
+
|
|
69
|
+
| Milestone | Date | Relevance |
|
|
70
|
+
|-----------|------|-----------|
|
|
71
|
+
| AI Act entered into force | August 1, 2024 | Awareness |
|
|
72
|
+
| Prohibited practices apply | February 2, 2025 | Confirmed no prohibited use |
|
|
73
|
+
| GPAI rules apply | August 2, 2025 | Not applicable |
|
|
74
|
+
| High-risk obligations apply | **August 2, 2026** | Not applicable (minimal risk) |
|
|
75
|
+
| Full enforcement | August 2, 2027 | Maintain compliance posture |
|
|
76
|
+
|
|
77
|
+
**Next review:** Before August 2026 enforcement date — reassess if project scope changes to include model hosting or high-risk use cases.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Cross-References
|
|
82
|
+
|
|
83
|
+
| Document | Relevance |
|
|
84
|
+
|----------|-----------|
|
|
85
|
+
| [COMPLIANCE.md](COMPLIANCE.md) | SOC 2, ISO 27001, GDPR framework mapping |
|
|
86
|
+
| [THREAT_MODEL.md](THREAT_MODEL.md) | Trust boundaries and attack surface |
|
|
87
|
+
| [MCP_POLICY.md](MCP_POLICY.md) | MCP governance and supply-chain controls |
|
|
88
|
+
| [SECURITY.md](SECURITY.md) | Core security model |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Summary
|
|
93
|
+
|
|
94
|
+
This project is classified as **minimal risk** under the EU AI Act and qualifies for the **open-source exemption** under Article 2(12). No mandatory obligations apply. Transparency measures are voluntarily implemented through agent session logging, model registry, and workstation attestation.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Pre-Push Audit Bypass
|
|
6
|
+
|
|
7
|
+
This page documents when the pre-push reliability audit can be bypassed,
|
|
8
|
+
how to do it, and why the answer is "almost never on `master`."
|
|
9
|
+
|
|
10
|
+
## Background
|
|
11
|
+
|
|
12
|
+
`scripts/git-hooks/pre-push` runs two checks on every push:
|
|
13
|
+
|
|
14
|
+
1. **Signed-commit verification** — every commit being pushed must have
|
|
15
|
+
a valid GPG/SSH signature. No bypass is available; an unsigned
|
|
16
|
+
commit is refused unconditionally.
|
|
17
|
+
|
|
18
|
+
2. **Reliability audit** — `scripts/qa/reliability-audit.sh --quick`
|
|
19
|
+
runs a fast subset of the test suite + lint checks. This is the
|
|
20
|
+
step that can be bypassed.
|
|
21
|
+
|
|
22
|
+
Before issue #871 the audit was opt-out: `DOTFILES_SKIP_PRE_PUSH_AUDIT=1`
|
|
23
|
+
in your shell rc would silently skip every push's audit. Bypass was
|
|
24
|
+
invisible, persistent, and one keystroke away. That's the wrong default.
|
|
25
|
+
|
|
26
|
+
## The new policy
|
|
27
|
+
|
|
28
|
+
Effective with #871 and the corresponding commit on this branch:
|
|
29
|
+
|
|
30
|
+
- The audit **always runs by default**. Missing env var → audit runs.
|
|
31
|
+
- Bypass requires `DOTFILES_ALLOW_UNSKIPPED_PUSH=1` set inline for the
|
|
32
|
+
one push you want to bypass (not exported in your shell rc).
|
|
33
|
+
- The legacy `DOTFILES_SKIP_PRE_PUSH_AUDIT=1` is **rejected** with a
|
|
34
|
+
migration message; the hook exits non-zero if it sees the old var.
|
|
35
|
+
- Every bypass is appended to
|
|
36
|
+
`${XDG_STATE_HOME:-~/.local/state}/dotfiles/audit-bypass.log` with
|
|
37
|
+
timestamp, branch, remote, and reason.
|
|
38
|
+
- `dot doctor` reports the count of bypasses in the last 7 days.
|
|
39
|
+
|
|
40
|
+
The new variable name is deliberately awkward
|
|
41
|
+
(`DOTFILES_ALLOW_UNSKIPPED_PUSH`) — it should not feel like a routine
|
|
42
|
+
flag. Setting it should require a moment's thought.
|
|
43
|
+
|
|
44
|
+
## How to bypass for a single push
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
DOTFILES_ALLOW_UNSKIPPED_PUSH=1 \
|
|
48
|
+
DOTFILES_BYPASS_REASON='hotfix: CI is wedged on flake' \
|
|
49
|
+
git push origin hotfix/my-branch
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The reason string is optional but encouraged. It lands in the audit log
|
|
53
|
+
so `dot doctor` and any future review can answer "why was this
|
|
54
|
+
bypassed?" without git archaeology.
|
|
55
|
+
|
|
56
|
+
## When bypass is legitimate
|
|
57
|
+
|
|
58
|
+
Short list — anything outside this is suspicious:
|
|
59
|
+
|
|
60
|
+
- **Hotfix push to a non-master branch** when CI infrastructure itself
|
|
61
|
+
is the audit blocker (e.g., the audit pre-flight depends on a remote
|
|
62
|
+
service that's down). The fix should land *before* the
|
|
63
|
+
infrastructure recovers; bypass is the bridge.
|
|
64
|
+
- **Force-push of a tag rewind** that doesn't introduce new commits
|
|
65
|
+
(rare).
|
|
66
|
+
|
|
67
|
+
When bypass is **not** legitimate:
|
|
68
|
+
|
|
69
|
+
- Routine `master` pushes. The whole point of the audit is to guard
|
|
70
|
+
the protected branch.
|
|
71
|
+
- Pushes whose audit failure is "annoying" — the right move is to fix
|
|
72
|
+
the failure, not skip the check.
|
|
73
|
+
- CI environments. CI should run the audit explicitly, never bypass
|
|
74
|
+
it; if a CI job pushes, the env var must remain unset there.
|
|
75
|
+
|
|
76
|
+
## Verifying current state
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
dot doctor # surfaces recent bypasses
|
|
80
|
+
cat ${XDG_STATE_HOME:-~/.local/state}/dotfiles/audit-bypass.log
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Each line of the log is tab-separated:
|
|
84
|
+
`ISO8601-timestamp \t branch=... \t remote=... \t reason=...`.
|
|
85
|
+
|
|
86
|
+
## Disabling bypass entirely
|
|
87
|
+
|
|
88
|
+
If your machine should *never* bypass (e.g., a release runner), unset
|
|
89
|
+
the env var in your shell rc and add a guard to your `.zshenv` or
|
|
90
|
+
equivalent:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
unset DOTFILES_ALLOW_UNSKIPPED_PUSH
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
There's no way to permanently grant bypass — that's intentional.
|
|
97
|
+
|
|
98
|
+
## References
|
|
99
|
+
|
|
100
|
+
- `scripts/git-hooks/pre-push` — the hook itself
|
|
101
|
+
- `scripts/diagnostics/doctor.sh` — the "Pre-Push Audit Bypass" section
|
|
102
|
+
- `tests/unit/security/test_pre_push_bypass.sh` — regression test
|
|
103
|
+
- Issue #871
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Automation Secrets
|
|
6
|
+
|
|
7
|
+
## Required secrets
|
|
8
|
+
|
|
9
|
+
| Secret | Scope | Purpose |
|
|
10
|
+
| :--- | :--- | :--- |
|
|
11
|
+
| `ACTIONS_BOT_SIGNING_KEY` | GitHub Actions | SSH private key used for signed automation commits |
|
|
12
|
+
| `GITHUB_TOKEN` | GitHub Actions | GitHub API access for PRs, attestations, and scans |
|
|
13
|
+
|
|
14
|
+
## Required local variables
|
|
15
|
+
|
|
16
|
+
| Variable | Scope | Purpose |
|
|
17
|
+
| :--- | :--- | :--- |
|
|
18
|
+
| `HOMEBREW_INSTALLER_SHA256` | macOS bootstrap | Verifies the Homebrew installer before execution |
|
|
19
|
+
| `CHEZMOI_INSTALLER_SHA256` | Installer | Verifies the Chezmoi installer before execution |
|
|
20
|
+
|
|
21
|
+
## Provisioning notes
|
|
22
|
+
|
|
23
|
+
1. Store the SSH signing private key in GitHub Actions as `ACTIONS_BOT_SIGNING_KEY`.
|
|
24
|
+
2. Store the matching public key in [allowed_signers](/home/seb/.dotfiles/dot_config/git/allowed_signers).
|
|
25
|
+
3. Rotate the key on personnel or workstation change.
|
|
26
|
+
4. Fail closed when secrets are absent.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# CI Egress Allowlist
|
|
6
|
+
|
|
7
|
+
This page documents the network endpoints CI jobs are allowed to
|
|
8
|
+
reach when `step-security/harden-runner` is operating in `block`
|
|
9
|
+
mode. Managed under
|
|
10
|
+
[#878](https://github.com/sebastienrousseau/dotfiles/issues/878).
|
|
11
|
+
|
|
12
|
+
## Status
|
|
13
|
+
|
|
14
|
+
All 76 jobs across the 28 workflow files in `.github/workflows/` are
|
|
15
|
+
currently in **`audit` mode** — harden-runner is the first step in
|
|
16
|
+
every job and records outbound network calls to the
|
|
17
|
+
[step-security telemetry dashboard](https://app.stepsecurity.io) but
|
|
18
|
+
does not block them.
|
|
19
|
+
|
|
20
|
+
The next iteration (tracked as a follow-up under #878) flips each
|
|
21
|
+
group to `block` once the audit-mode runs confirm the allowlist is
|
|
22
|
+
complete. Switching one job at a time keeps blast radius small:
|
|
23
|
+
a missing endpoint on a `block`-mode job fails the run loud and the
|
|
24
|
+
list below gets updated.
|
|
25
|
+
|
|
26
|
+
## Allowlist (by domain)
|
|
27
|
+
|
|
28
|
+
This is the union of endpoints the entire workflow surface needs.
|
|
29
|
+
When flipping a specific job to `block` mode, narrow this list to
|
|
30
|
+
the endpoints that particular job actually touches.
|
|
31
|
+
|
|
32
|
+
### GitHub itself (universally required)
|
|
33
|
+
|
|
34
|
+
| Endpoint | Used by | Why |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| `github.com:443` | every job | git clone, gh CLI |
|
|
37
|
+
| `api.github.com:443` | every job | gh CLI, issue/PR API |
|
|
38
|
+
| `objects.githubusercontent.com:443` | every job | release-asset downloads, LFS objects |
|
|
39
|
+
| `*.actions.githubusercontent.com:443` | every job | runner ↔ orchestrator |
|
|
40
|
+
| `pkg.actions.githubusercontent.com:443` | every job | action-cache CDN |
|
|
41
|
+
| `results-receiver.actions.githubusercontent.com:443` | every job | workflow telemetry |
|
|
42
|
+
| `codeload.github.com:443` | jobs that `git clone` tagged refs | tarball downloads for some actions |
|
|
43
|
+
| `uploads.github.com:443` | jobs that upload artifacts | `actions/upload-artifact` |
|
|
44
|
+
| `raw.githubusercontent.com:443` | the install-script jobs | curl-pull of unversioned content |
|
|
45
|
+
|
|
46
|
+
### Package managers (apt, brew, cargo, npm, luarocks)
|
|
47
|
+
|
|
48
|
+
| Endpoint | Used by | Why |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| `azure.archive.ubuntu.com:443` | ubuntu jobs running `apt-get` | apt mirror |
|
|
51
|
+
| `archive.ubuntu.com:80` | ubuntu jobs running `apt-get` | apt mirror |
|
|
52
|
+
| `security.ubuntu.com:80` | ubuntu jobs running `apt-get` | security updates |
|
|
53
|
+
| `keyserver.ubuntu.com:443` | jobs that add repo signing keys | GPG keyserver |
|
|
54
|
+
| `formulae.brew.sh:443` | macOS jobs running `brew` | Homebrew formula index |
|
|
55
|
+
| `ghcr.io:443` + `*.docker.io:443` | docker / container jobs | image pulls |
|
|
56
|
+
| `registry.npmjs.org:443` | npm-publish.yml + the pre-commit npm hook | npm metadata + publish |
|
|
57
|
+
| `registry-1.docker.io:443` | docker jobs | image manifests |
|
|
58
|
+
| `crates.io:443` + `static.crates.io:443` | cargo-install jobs | crate downloads |
|
|
59
|
+
| `index.crates.io:443` | cargo-install jobs | crate index |
|
|
60
|
+
| `luarocks.org:443` + `*.luarocks.org:443` | reusable-lua-lint.yml | luacheck install |
|
|
61
|
+
|
|
62
|
+
### Project-specific installers (chezmoi / mise / starship / stylua / typos / etc.)
|
|
63
|
+
|
|
64
|
+
| Endpoint | Used by | Why |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| `get.chezmoi.io:443` | `setup-chezmoi` composite (fallback path) | chezmoi installer |
|
|
67
|
+
| `mise.run:443` | `setup-mise` composite | mise installer |
|
|
68
|
+
| `releases.starship.rs:443` | mise-managed install of starship | starship binary |
|
|
69
|
+
|
|
70
|
+
### Security / SBOM / scanning
|
|
71
|
+
|
|
72
|
+
| Endpoint | Used by | Why |
|
|
73
|
+
|---|---|---|
|
|
74
|
+
| `api.osv.dev:443` | grype / scorecard | OSV vuln database |
|
|
75
|
+
| `vulners.com:443` | grype | vulnerability metadata |
|
|
76
|
+
| `toolbox-data.anchore.io:443` | anchore/sbom-action | SBOM tooling |
|
|
77
|
+
| `api.deps.dev:443` | future deps.dev integration (#877) | package metadata |
|
|
78
|
+
| `api.securityscorecards.dev:443` | scorecard.yml | publish_results upload |
|
|
79
|
+
| `*.codeql.github.com:443` | codeql.yml | CodeQL bundle download |
|
|
80
|
+
|
|
81
|
+
## Job-level egress notes (legitimate broad-egress jobs)
|
|
82
|
+
|
|
83
|
+
A few jobs need wider network access than the standard allowlist
|
|
84
|
+
covers. Each carries an inline comment near the harden-runner step
|
|
85
|
+
explaining the deviation so reviewers can audit at a glance.
|
|
86
|
+
|
|
87
|
+
### `update-deps.yml` — broad GitHub API egress
|
|
88
|
+
|
|
89
|
+
Polls multiple `github.com/<repo>/releases/latest` endpoints to find
|
|
90
|
+
new tool versions. Allowlist needs to include `api.github.com:443`
|
|
91
|
+
and the raw-content domain for sed-replacing version strings.
|
|
92
|
+
|
|
93
|
+
### `devcontainer-prebuild.yml` — registry push
|
|
94
|
+
|
|
95
|
+
Pushes to `ghcr.io:443` with the `packages: write` token. The egress
|
|
96
|
+
allowlist for that job is the standard set plus `ghcr.io` writes.
|
|
97
|
+
|
|
98
|
+
### `nightly.yml` — `Beta/Nightly Tools Test` job
|
|
99
|
+
|
|
100
|
+
This job deliberately runs `curl ... | tar -xJf -` against the
|
|
101
|
+
shellcheck release. Justified because the job is `continue-on-error: true`
|
|
102
|
+
and is opt-in (manual or scheduled). Future hardening: download the
|
|
103
|
+
release asset, verify a known hash, then exec — same shape as
|
|
104
|
+
`scripts/ci/install-chezmoi-verified.sh`.
|
|
105
|
+
|
|
106
|
+
## Updating this page
|
|
107
|
+
|
|
108
|
+
Whenever a job is flipped to `block` mode:
|
|
109
|
+
|
|
110
|
+
1. Run the audit-mode workflow at least once after every recent
|
|
111
|
+
workflow change to make sure the harden-runner telemetry reflects
|
|
112
|
+
reality.
|
|
113
|
+
2. Visit the [step-security dashboard](https://app.stepsecurity.io/)
|
|
114
|
+
filtered to the repo + job + last 7 days.
|
|
115
|
+
3. Add any endpoints the dashboard reports that aren't already in
|
|
116
|
+
this page's tables.
|
|
117
|
+
4. Edit the job to set `egress-policy: block` and add the per-job
|
|
118
|
+
`allowed-endpoints:` block listing only what that specific job
|
|
119
|
+
needs (not the whole union).
|
|
120
|
+
5. Land the change, watch the first run; if anything fails the run
|
|
121
|
+
loud, add the missing endpoint and retry.
|
|
122
|
+
|
|
123
|
+
## References
|
|
124
|
+
|
|
125
|
+
- `step-security/harden-runner` — [https://github.com/step-security/harden-runner](https://github.com/step-security/harden-runner)
|
|
126
|
+
- `docs/security/SCORECARD.md` — Token-Permissions check ties to harden-runner adoption.
|
|
127
|
+
- Issue [#878](https://github.com/sebastienrousseau/dotfiles/issues/878).
|