@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
package/README.md
ADDED
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://cloudcdn.pro/dotfiles/v2/images/logos/dotfiles.svg" alt="Dotfiles logo" width="128" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">.dotfiles</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>Declarative dotfiles for macOS, Linux, and WSL. Multi-shell by default. Sub-second startup. Wallpaper-driven themes. Signed releases.</strong>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://github.com/sebastienrousseau/dotfiles/actions"><img src="https://img.shields.io/github/actions/workflow/status/sebastienrousseau/dotfiles/ci.yml?style=for-the-badge&logo=github" alt="Build" /></a>
|
|
13
|
+
<a href="https://github.com/sebastienrousseau/dotfiles/releases/latest"><img src="https://img.shields.io/badge/Version-v0.2.501-blue?style=for-the-badge" alt="Version" /></a>
|
|
14
|
+
<a href="https://github.com/sebastienrousseau/dotfiles/releases"><img src="https://img.shields.io/github/downloads/sebastienrousseau/dotfiles/total?style=for-the-badge" alt="Downloads" /></a>
|
|
15
|
+
<a href="https://codespaces.new/sebastienrousseau/dotfiles"><img src="https://img.shields.io/badge/Open%20in-Codespaces-blue?style=for-the-badge&logo=github" alt="Open in GitHub Codespaces" /></a>
|
|
16
|
+
<a href="https://scorecard.dev/viewer/?uri=github.com/sebastienrousseau/dotfiles"><img src="https://img.shields.io/ossf-scorecard/github.com/sebastienrousseau/dotfiles?style=for-the-badge&label=OpenSSF%20Scorecard" alt="OpenSSF Scorecard" /></a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
> **Why this is different.** You won't find these three things in `mathiasbynens/`, `holman/`, or `paulirish/`. First, wallpaper-driven terminal themes. We use K-Means clustering in CIELAB and enforce WCAG AAA contrast. Second, first-class agent governance. That covers MCP policy, A2A discovery, signed attestation logs, and bounded profiles (`ask` / `plan` / `apply` / `audit`). Third, verified multi-shell parity across zsh, fish, bash, nushell, and PowerShell. The suite is tested on macOS, Linux, WSL2, and Apple Silicon CI runners. Signed commits are enforced. The installer is idempotent. The CLI heals itself.
|
|
22
|
+
|
|
23
|
+
## Install
|
|
24
|
+
|
|
25
|
+
**Verified install (recommended).** Pin to a release tag. Download the installer. Check its SHA256 against the value published with the release. Then run it. See [docs/security/INSTALL_VERIFICATION.md](docs/security/INSTALL_VERIFICATION.md) for the per-release hash and how it's generated.
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
curl -fsSL -o /tmp/dotfiles-install.sh \
|
|
29
|
+
https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.501/install.sh
|
|
30
|
+
echo "4c0303a2d88d5aed98428ab0da37618c9795af4dae0e6549646c2fce5235c280 /tmp/dotfiles-install.sh" \
|
|
31
|
+
| shasum -a 256 -c
|
|
32
|
+
bash /tmp/dotfiles-install.sh
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Trust-source one-liner** (skips the SHA check — fine for sandboxes and ephemeral CI, not recommended for primary workstations):
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Then verify and explore:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
dot doctor # verify installation
|
|
45
|
+
dot learn # interactive tour
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The install needs `git` and `curl`. The verified path also needs `shasum` or `sha256sum`. The script runs on macOS, Ubuntu, Debian, Arch, WSL2, and GitHub Codespaces.
|
|
49
|
+
|
|
50
|
+
<details>
|
|
51
|
+
<summary>CI/CD and Docker options</summary>
|
|
52
|
+
|
|
53
|
+
Silent install (no prompts):
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
DOTFILES_SILENT=1 DOTFILES_NONINTERACTIVE=1 \
|
|
57
|
+
bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh)"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Docker sandbox:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
docker run --rm -e DOTFILES_NONINTERACTIVE=1 ubuntu:24.04 bash -c \
|
|
64
|
+
'apt-get update -qq && apt-get install -y -qq git curl sudo >/dev/null 2>&1 \
|
|
65
|
+
&& git clone --depth 1 https://github.com/sebastienrousseau/dotfiles.git ~/.dotfiles \
|
|
66
|
+
&& bash ~/.dotfiles/install.sh \
|
|
67
|
+
&& export PATH="$HOME/.local/bin:$PATH" \
|
|
68
|
+
&& dot doctor'
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
</details>
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Why this repo is different
|
|
76
|
+
|
|
77
|
+
Most dotfiles repos are personal collections. This one ships as workstation infrastructure. It's signed, attested, multi-platform, AI-aware, and self-healing.
|
|
78
|
+
|
|
79
|
+
| Capability | What you get | Where |
|
|
80
|
+
|:---|:---|:---|
|
|
81
|
+
| **Wallpaper-driven themes** | K-Means clustering in CIELAB extracts terminal palettes from any wallpaper. WCAG AAA enforced. Dynamic HEIC dark/light. | `dot theme rebuild` |
|
|
82
|
+
| **AI and MCP native** | Agent profiles, MCP policy enforcement, attestation logs, AI commit messages. | `dot ai`, `dot mcp`, `dot agent`, `dot mode` |
|
|
83
|
+
| **Cryptographic attestation** | Signed commits, machine-readable evidence, policy bundle releases. | `dot attest`, `dot verify` |
|
|
84
|
+
| **Fleet management** | Multi-node drift dashboard, per-host profiles. | `dot fleet` |
|
|
85
|
+
| **Self-healing** | Auto-repair tools, chezmoi drift, broken symlinks, missing files. | `dot heal`, `dot chaos`, `dot rollback`, `dot bundle` |
|
|
86
|
+
| **Sub-second startup** | Lazy loading, `_cached_eval` pattern, mtime-based cache invalidation, realpath sidecar pins. | `dot benchmark`, `dot perf` |
|
|
87
|
+
| **Multi-shell parity** | Tier-1 (full): zsh, bash. Tier-2 (bridged): fish. Tier-3 (compatible): nushell. PowerShell is supported as a contract-tested parity target. See [ADR-007](docs/adr/ADR-007-multi-shell-parity.md) and [ADR-011](docs/adr/ADR-011-nushell-tier3-keep.md). | `dot env`, `dot profile` |
|
|
88
|
+
| **Build artifacts → /tmp** | Cargo, Go, pip, uv, and Zig caches redirect to `/tmp/builds/`. Project dirs stay clean. | `~/.config/mise/config.toml`, `~/.cargo/config.toml` |
|
|
89
|
+
| **Encrypted secrets** | Age and SOPS keep per-machine secrets out of plaintext history. | `dot secrets` |
|
|
90
|
+
| **Portable runtimes** | Mise for managed toolchains. Nix Flakes for strict reproducibility. | `dot env`, `dot upgrade` |
|
|
91
|
+
| **Schema-validated config** | `.chezmoidata.toml` is checked against a JSON Schema in CI via taplo. Typos in feature flags or profile names fail at PR time. | `config/chezmoidata.schema.json` |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Architecture
|
|
96
|
+
|
|
97
|
+
The CLI is idempotent. Run it once or a hundred times. Same machine state.
|
|
98
|
+
|
|
99
|
+
```mermaid
|
|
100
|
+
graph TD
|
|
101
|
+
A[User Shell] --> B{dot CLI}
|
|
102
|
+
B --> C[Lifecycle: sync / apply / rollback / heal]
|
|
103
|
+
B --> D[Diagnostics: doctor / drift / benchmark / score]
|
|
104
|
+
B --> E[AI & Agents: ai / mcp / agent / mode]
|
|
105
|
+
B --> F[Themes: theme / theme rebuild]
|
|
106
|
+
B --> G[Fleet & Attest: fleet / attest / bundle]
|
|
107
|
+
|
|
108
|
+
C --> H[Chezmoi Source]
|
|
109
|
+
F --> I[Wallpaper Discovery<br/>System + Custom]
|
|
110
|
+
I --> J[K-Means CIELAB Engine]
|
|
111
|
+
J --> K[themes.toml<br/>WCAG AAA enforced]
|
|
112
|
+
K --> H
|
|
113
|
+
|
|
114
|
+
H --> L[Zsh / Fish / Bash / Nushell / PowerShell]
|
|
115
|
+
H --> M[Mise / Nix Toolchains]
|
|
116
|
+
H --> N[MCP Policy / Agent Profiles]
|
|
117
|
+
L --> O[~/.cache/shell Fast Init]
|
|
118
|
+
|
|
119
|
+
G --> P[Signed Attestation Logs]
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Wallpaper-Driven Themes
|
|
125
|
+
|
|
126
|
+
Drop a wallpaper. Get a theme.
|
|
127
|
+
|
|
128
|
+
`dot theme rebuild` discovers system wallpapers and your custom ones. On macOS it looks in `/System/Library/Desktop Pictures/`. On Linux it looks in `/usr/share/backgrounds/`. Custom wallpapers live in `~/Pictures/Wallpapers/`. K-Means clustering in CIELAB color space extracts dominant colors. The engine then generates a 16-color terminal palette, enforces WCAG AAA contrast, and assembles `themes.toml` on its own.
|
|
129
|
+
|
|
130
|
+
| Tier | Source | Format |
|
|
131
|
+
|:---|:---|:---|
|
|
132
|
+
| **System** | macOS `/System/Library/Desktop Pictures/`<br/>Linux `/usr/share/backgrounds/` | `.heic`, `.jpg`, `.png` |
|
|
133
|
+
| **Custom** | `~/Pictures/Wallpapers/` (overrides system on name collision) | Apple-compatible dynamic HEIC (single file, both appearances) |
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
dot theme # interactive picker (paired themes only)
|
|
137
|
+
dot theme tahoe-dark # switch directly
|
|
138
|
+
dot theme toggle # swap dark↔light within current family
|
|
139
|
+
dot theme rebuild # regenerate from current wallpapers
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
On theme switch, every managed surface updates. Terminals: Ghostty, Alacritty, Kitty, WezTerm, Warp, iTerm2, tmux. Editors: Neovim and VS Code. The theme also sets GTK and icon themes, the macOS accent and dark-mode toggle (with a forced UI refresh), the browser color mode, and the wallpaper. On Linux, the engine auto-converts HEIC to PNG via `magick` or `heif-convert`.
|
|
143
|
+
|
|
144
|
+
Full guide: [docs/guides/THEMING.md](docs/guides/THEMING.md)
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## The `dot` CLI
|
|
149
|
+
|
|
150
|
+
Over 80 commands grouped by intent. Run `dot help` for the full reference.
|
|
151
|
+
|
|
152
|
+
### Start Here
|
|
153
|
+
|
|
154
|
+
| | |
|
|
155
|
+
|:---|:---|
|
|
156
|
+
| `dot sync` | Apply dotfiles to this machine |
|
|
157
|
+
| `dot doctor` | Check the environment and surface issues |
|
|
158
|
+
| `dot learn` | Open the guided tour |
|
|
159
|
+
|
|
160
|
+
### Daily Use
|
|
161
|
+
|
|
162
|
+
| | |
|
|
163
|
+
|:---|:---|
|
|
164
|
+
| `dot status` / `dot diff` | Show local drift; preview pending changes |
|
|
165
|
+
| `dot edit` | Open the source directory |
|
|
166
|
+
| `dot upgrade` | Update tools and dotfiles |
|
|
167
|
+
| `dot commit` | Generate an AI commit message from the staged diff |
|
|
168
|
+
|
|
169
|
+
### Inspect & Repair
|
|
170
|
+
|
|
171
|
+
| | |
|
|
172
|
+
|:---|:---|
|
|
173
|
+
| `dot heal` | Auto-fix tools, chezmoi drift, and broken symlinks |
|
|
174
|
+
| `dot rollback` | Return to a previous known-good state |
|
|
175
|
+
| `dot attest` | Export workstation evidence |
|
|
176
|
+
| `dot chaos` | Simulate corruption to test self-healing |
|
|
177
|
+
| `dot bundle` | Create an offline tarball of the dotfiles environment |
|
|
178
|
+
|
|
179
|
+
### AI & Agents
|
|
180
|
+
|
|
181
|
+
| | |
|
|
182
|
+
|:---|:---|
|
|
183
|
+
| `dot ai` | Show installed AI tools |
|
|
184
|
+
| `dot mcp` | Inspect MCP policy and registry |
|
|
185
|
+
| `dot mode` | Show or set the agent profile (ask / plan / apply / audit) |
|
|
186
|
+
| `dot agent` | Agent metadata, logs, checkpoints, conformance |
|
|
187
|
+
| `dot patterns` | List bundled AI patterns (architect, hardener, refactor) |
|
|
188
|
+
|
|
189
|
+
### Configuration
|
|
190
|
+
|
|
191
|
+
| | |
|
|
192
|
+
|:---|:---|
|
|
193
|
+
| `dot theme` / `dot theme rebuild` | Switch theme or regenerate from wallpapers |
|
|
194
|
+
| `dot env` | Show managed tool versions |
|
|
195
|
+
| `dot profile` | Show or switch active profile |
|
|
196
|
+
| `dot secrets` | Edit encrypted secrets |
|
|
197
|
+
| `dot fonts` | Install or refresh Nerd Fonts |
|
|
198
|
+
|
|
199
|
+
### Fleet & Performance
|
|
200
|
+
|
|
201
|
+
| | |
|
|
202
|
+
|:---|:---|
|
|
203
|
+
| `dot fleet` | Multi-node status, drift, and namespace |
|
|
204
|
+
| `dot benchmark` / `dot perf` | Measure shell startup |
|
|
205
|
+
| `dot score` / `dot security-score` | Health and security scorecards |
|
|
206
|
+
| `dot prewarm` | Warm caches for the first interactive shell |
|
|
207
|
+
|
|
208
|
+
Full reference: [docs/reference/UTILS.md](docs/reference/UTILS.md) · Complete manual: [docs/manual/](docs/manual/) or `dot manual`
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Documentation
|
|
213
|
+
|
|
214
|
+
The `.dotfiles` Manual is published in nine formats: HTML (single and multi-page), PDF, EPUB, ASCII text, compressed variants, and Markdown source. It auto-builds on every change.
|
|
215
|
+
|
|
216
|
+
- **Online** — <https://sebastienrousseau.github.io/dotfiles/manual/>
|
|
217
|
+
- **Terminal** — `dot manual text | less`
|
|
218
|
+
- **PDF** — `dot manual pdf`
|
|
219
|
+
- **Offline copy** — `dot manual --offline` (uses the bundled snapshot, no network)
|
|
220
|
+
- **Sources** — [`docs/manual/`](docs/manual/)
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## First 5 Minutes
|
|
225
|
+
|
|
226
|
+
1. **Check** — `dot doctor` validates tools, paths, and security
|
|
227
|
+
2. **Explore** — `dot learn` walks through shells, secrets, themes, and performance
|
|
228
|
+
3. **Customize** — edit `~/.config/chezmoi/chezmoi.toml` for per-machine settings ([Profiles](docs/reference/PROFILES.md))
|
|
229
|
+
4. **Toggle features** — flip features in `.chezmoidata.toml` ([Feature Flags](docs/reference/FEATURES.md))
|
|
230
|
+
5. **Apply** — `dot sync` applies the config and `dot prewarm` caches shell startup
|
|
231
|
+
|
|
232
|
+
See the [Migration Guide](docs/operations/MIGRATION.md) for version upgrades.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## What's Included
|
|
237
|
+
|
|
238
|
+
<details>
|
|
239
|
+
<summary><b>Shells and Navigation</b></summary>
|
|
240
|
+
|
|
241
|
+
- **Zsh** loads in stages through small modules, not one big startup script
|
|
242
|
+
- **Fish** uses `_cached_eval` and deferred loading for fast interactive use
|
|
243
|
+
- **Bash** ships full parity with zsh for tooling and aliases
|
|
244
|
+
- **Nushell** handles structured terminal workflows (Tier-3 compatible)
|
|
245
|
+
- **PowerShell** keeps cross-platform and WSL sessions on the same baseline. A `pwsh` parity contract runs in CI on every PR
|
|
246
|
+
- **Starship**, **Zoxide**, **Atuin**, and **fzf** for navigation and command recall
|
|
247
|
+
- **Starship Transient Prompt** collapses past prompts to a single glyph in scrollback on fish. The zsh hook is in place for when upstream Starship lands the matching function ([ADR-010](docs/adr/ADR-010-starship-transient-prompt.md))
|
|
248
|
+
|
|
249
|
+
</details>
|
|
250
|
+
|
|
251
|
+
<details>
|
|
252
|
+
<summary><b>Development and Runtimes</b></summary>
|
|
253
|
+
|
|
254
|
+
- **Mise** manages language versions in user space (no system pollution)
|
|
255
|
+
- **Nix Flakes** for strict reproducible builds when speed isn't the priority
|
|
256
|
+
- **Pueue** queues long-running tasks instead of spawning extra terminal tabs
|
|
257
|
+
- **Neovim** ships as a full Lua-based editor, not a starter template
|
|
258
|
+
- **Lazygit** for terminal git workflow without a GUI
|
|
259
|
+
- **Build caches** (Cargo, Go, pip, uv, Zig) redirect to `/tmp/builds/` and clear on reboot
|
|
260
|
+
- **`_cached_eval`** caches expensive `tool init` output with mtime and realpath invalidation. Set `EVALCACHE_DISABLE=true` to bypass for debugging
|
|
261
|
+
|
|
262
|
+
</details>
|
|
263
|
+
|
|
264
|
+
<details>
|
|
265
|
+
<summary><b>AI, Agents, and MCP</b></summary>
|
|
266
|
+
|
|
267
|
+
- **Agent profiles** (`dot mode`) — switch between ask, plan, apply, and audit
|
|
268
|
+
- **Pattern library** (`dot patterns`) — architect, hardener, and refactor patterns bundled in `dot_config/ai/patterns/`
|
|
269
|
+
- **MCP policy enforcement** (`dot mcp`) — validate the Model Context Protocol registry against policy
|
|
270
|
+
- **AI commit messages** (`dot commit`) — conventional commits generated from the staged diff
|
|
271
|
+
- **AI tools** (`dot ai`) — Claude Code, Codex, GitHub Copilot, Gemini CLI, and friends managed via Mise
|
|
272
|
+
- **Attestation logs** — every agent session is logged with a policy hash and an outcome
|
|
273
|
+
|
|
274
|
+
</details>
|
|
275
|
+
|
|
276
|
+
<details>
|
|
277
|
+
<summary><b>Security, Trust, and Governance</b></summary>
|
|
278
|
+
|
|
279
|
+
- **Age and SOPS** keep secrets encrypted at rest and out of plaintext history
|
|
280
|
+
- **SSH ED25519 signing** plus trust metadata back signed commits and verifiable changes
|
|
281
|
+
- **Gitleaks**, policy checks, and compliance workflows
|
|
282
|
+
- **Workstation attestation** (`dot attest`) records machine state, policy, prompt, and model metadata in tracked JSON
|
|
283
|
+
- **Telemetry controls** and local-first defaults — you own your data
|
|
284
|
+
- **SBOM (CycloneDX)** and Grype CVE scanning in CI
|
|
285
|
+
- **JSON Schema for `.chezmoidata.toml`** — taplo runs the schema in CI on every PR, so typos in feature flags or profile names fail before merge
|
|
286
|
+
- **OIDC Trusted Publishing** — npm releases authenticate via OIDC, not a long-lived `NPM_TOKEN`. Provenance is attached to every published tarball
|
|
287
|
+
|
|
288
|
+
</details>
|
|
289
|
+
|
|
290
|
+
For security hardening options, see the [Security docs](docs/security/SECURITY.md).
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## Comparison
|
|
295
|
+
|
|
296
|
+
| | This repo | chezmoi | holman/dotfiles | nikitabobko/dotfiles |
|
|
297
|
+
|:---|:---:|:---:|:---:|:---:|
|
|
298
|
+
| Cross-platform (macOS/Linux/WSL) | ✓ | ✓ | macOS-leaning | macOS only |
|
|
299
|
+
| Multi-shell parity (zsh/fish/nu/pwsh) | ✓ | — | bash only | zsh only |
|
|
300
|
+
| Wallpaper-driven themes (K-Means) | ✓ | — | — | — |
|
|
301
|
+
| AI / MCP integration | ✓ | — | — | — |
|
|
302
|
+
| Cryptographic attestation | ✓ | — | — | — |
|
|
303
|
+
| Self-healing CLI | ✓ | — | — | — |
|
|
304
|
+
| Fleet management | ✓ | — | — | — |
|
|
305
|
+
| Encrypted secrets (Age/SOPS) | ✓ | ✓ | — | — |
|
|
306
|
+
| Build artifact redirection | ✓ | — | — | — |
|
|
307
|
+
| Schema-validated config | ✓ | — | — | — |
|
|
308
|
+
|
|
309
|
+
`chezmoi` is the underlying templating engine. This repo is the opinionated reference implementation.
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
**THE ARCHITECT** ᛫ [Sebastien Rousseau](https://sebastienrousseau.com)
|
|
314
|
+
**THE ENGINE** ᛞ [EUXIS](https://euxis.co) ᛫ Enterprise Unified Execution Intelligence System
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## License
|
|
319
|
+
|
|
320
|
+
Licensed under the **MIT License**. See [LICENSE](LICENSE) for details.
|
|
321
|
+
|
|
322
|
+
<p align="right"><a href="#dotfiles">Back to Top</a></p>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Localization Readability Audit
|
|
6
|
+
|
|
7
|
+
Note: Flesch metrics are English-centric. For localized pages, they are used as a plain-language proxy when Latin word boundaries are available.
|
|
8
|
+
|
|
9
|
+
## Readability Scorecard
|
|
10
|
+
|
|
11
|
+
| Language | Reading Ease | Grade Level | Passive % | Avg Sentence Length |
|
|
12
|
+
| :--- | ---: | ---: | ---: | ---: |
|
|
13
|
+
| ar | n/a | n/a | n/a | n/a |
|
|
14
|
+
| de | n/a | n/a | n/a | n/a |
|
|
15
|
+
| es | n/a | n/a | n/a | n/a |
|
|
16
|
+
| fr | n/a | n/a | n/a | n/a |
|
|
17
|
+
| he | n/a | n/a | n/a | n/a |
|
|
18
|
+
| hi | n/a | n/a | n/a | n/a |
|
|
19
|
+
| id | n/a | n/a | n/a | n/a |
|
|
20
|
+
| it | n/a | n/a | n/a | n/a |
|
|
21
|
+
| ja | n/a | n/a | n/a | n/a |
|
|
22
|
+
| ko | n/a | n/a | n/a | n/a |
|
|
23
|
+
| nl | n/a | n/a | n/a | n/a |
|
|
24
|
+
| pl | n/a | n/a | n/a | n/a |
|
|
25
|
+
| pt | n/a | n/a | n/a | n/a |
|
|
26
|
+
| ro | n/a | n/a | n/a | n/a |
|
|
27
|
+
| ru | n/a | n/a | n/a | n/a |
|
|
28
|
+
| th | n/a | n/a | n/a | n/a |
|
|
29
|
+
| tr | n/a | n/a | n/a | n/a |
|
|
30
|
+
| uk | n/a | n/a | n/a | n/a |
|
|
31
|
+
| vi | n/a | n/a | n/a | n/a |
|
|
32
|
+
| zh | n/a | n/a | n/a | n/a |
|
|
33
|
+
| zh-tw | n/a | n/a | n/a | n/a |
|
|
34
|
+
|
|
35
|
+
## Parity Gap Table
|
|
36
|
+
|
|
37
|
+
| Priority | Locale | Route | Deviation |
|
|
38
|
+
| :--- | :--- | :--- | :--- |
|
|
39
|
+
|
|
40
|
+
## Active & Simple Diff
|
|
41
|
+
|
|
42
|
+
### docs/adr/ADR-007-multi-shell-parity.md
|
|
43
|
+
|
|
44
|
+
- Source: **Nushell spoke:** Hybrid approach: - Aliases: Runtime bash extraction cached to (in ), sourced by - Functions: Chezmoi template-generated wrappers delegating to bash (in ) **Parity tiers:** - **Tier 1 (Full):** Zsh, Bash — all aliases, functions, lazy loading, cached eval - **Tier 2 (Bridged):** Fish — all simple aliases, all functions via wrappers, caching - **Tier 3 (Compatible):** Nushell — simple aliases (no complex bash syntax), all functions via bash delegation - Single source of truth for aliases and functions - Adding a new alias/function automatically propagates to all shells - Nushell users get access to 40+ functions that were previously unavailable - Fish users get mtime-aware caching via - Complex bash aliases (pipes, conditionals) are skipped for Nushell - Function calls in Fish/Nushell incur bash subprocess overhead (~5ms per call) - Cache invalidation requires shell restart or manual cache clear - Nushell's rapid development may break bridge syntax in future versions - Very large alias sets may slow Nushell startup during cache generation.
|
|
45
|
+
- Simplified: **Nushell spoke:** Hybrid approach: - Aliases: Runtime bash extraction cached to (in ), sourced by - Functions: Chezmoi template-generated wrappers delegating to bash (in ) **Parity tiers:** - **Tier 1 (Full):** Zsh, Bash — all aliases, functions, lazy loading, cached eval - **Tier 2 (Bridged):** Fish — all simple aliases, all functions via wrappers, caching - **Tier 3 (Compatible):** Nushell — simple aliases (no complex bash syntax), all functions via bash delegation - Single source of truth for aliases and functions -. Adding a new alias/function automatically propagates to all shells - Nushell users get access to 40+ functions that were previously unavailable - Fish users get mtime-aware caching via - Complex bash aliases (pipes, conditionals) are skipped for Nushell - Function calls in Fish/Nushell incur bash subprocess overhead (~5ms per call) - Cache invalidation requires shell restart or manual cache clear - Nushell's rapid development may break bridge syntax in future versions - Very large alias sets may slow Nushell startup during cache generation
|
|
46
|
+
|
|
47
|
+
### docs/guides/TROUBLESHOOTING.md
|
|
48
|
+
|
|
49
|
+
- Source: ) **Problem:** LSP not working - Install required language servers - Check for status - Review for errors **Problem:** Git aliases not working - Check if Git config is applied: - Re-apply dotfiles: **Problem:** Delta (diff pager) not showing colors - Verify is installed - Confirm your terminal supports 256 colors **Problem:** kubectl context issues - List contexts: - Switch context: - Check kubeconfig: **Problem:** Minikube won't start - Verify Docker is running - Try: - Check logs: **Problem:** High memory usage - Look for runaway processes: or - Review shell history size in atuin config - Disable unused plugins **Problem:** Nix isn't installed or commands not found - Ensure you have followed the installation guide: - On Linux, you might need to enable experimental features in : - Verify the daemon is running: **Problem:** Systemd isn't available (mostly WSL2) - Dotfiles functions that rely on systemd (like management) will fallback to direct execution.
|
|
50
|
+
- Simplified: ) **Problem:** LSP not working - Install required language servers - Check for status - Review for errors **Problem:** Git aliases not working - Check if Git config is applied: - Re-apply dotfiles: **Problem:** Delta (diff pager) not showing colors - Verify is installed - Confirm your terminal supports 256 colors **Problem:** kubectl context issues - List contexts: - Switch context: - Check kubeconfig: **Problem:** Minikube won't start - Verify Docker is running - Try: - Check. logs: **Problem:** High memory usage - Look for runaway processes: or - Review shell history size in atuin config - Disable unused plugins **Problem:** Nix isn't installed or commands not found - Ensure you have followed the installation guide: - On Linux, you might need to enable experimental features in : - Verify the daemon is running: **Problem:** Systemd isn't available (mostly WSL2) - Dotfiles functions that rely on systemd (like management) will fallback to direct execution
|
|
51
|
+
|
|
52
|
+
### docs/operations/VERSION_SYNC.md
|
|
53
|
+
|
|
54
|
+
- Source: sh --verify || echo "Version drift detected" The GitHub Actions workflow provides metrics: - Files scanned - Files updated - Verification status - Processing time - Local backups in - GitHub Actions artifacts (30-day retention) - Git history for rollback permissions: contents: write # Required for commits pull-requests: write # Required for PR comments - Version format validation ( pattern) - File path validation (no directory traversal) - Change verification before commit - All changes logged in Git history - GitHub Actions run history - Backup preservation - Git operations use shallow fetch when possible - Pattern compilation cached - File discovery optimized with - File processing is sequential but optimized - Git operations batched - Verification runs concurrently with updates - Typical run time: 30-60 seconds - Memory usage: <100MB - Network usage: Minimal (only Git operations) 1.
|
|
55
|
+
- Simplified: sh --verify || echo "Version drift detected" The GitHub Actions workflow provides metrics: - Files scanned - Files updated - Verification status - Processing time - Local backups in - GitHub Actions artifacts (30-day retention) - Git history for rollback permissions: contents: write # Required for commits pull-requests: write # Required for PR comments - Version format validation ( pattern) - File path validation (no directory traversal) - Change. verification before commit - All changes logged in Git history - GitHub Actions run history - Backup preservation - Git operations use shallow fetch when possible - Pattern compilation cached - File discovery optimized with - File processing is sequential but optimized - Git operations batched - Verification runs concurrently with updates - Typical run time: 30-60 seconds - Memory usage: <100MB - Network usage: Minimal (only Git operations) 1
|
|
56
|
+
|
|
57
|
+
## Localized Terminology Glossary
|
|
58
|
+
|
|
59
|
+
| Term | Rule |
|
|
60
|
+
| :--- | :--- |
|
|
61
|
+
| macOS | Keep official Apple spelling in all locales. |
|
|
62
|
+
| Linux | Keep as Linux. |
|
|
63
|
+
| WSL | Keep as WSL on first use. |
|
|
64
|
+
| Chezmoi | Keep product name in English. |
|
|
65
|
+
| `dot doctor` | Keep command unchanged in all locales. |
|
|
66
|
+
| shell | Localize only in prose; never inside commands or paths. |
|
|
67
|
+
| alias | Localize in prose when natural; keep code examples unchanged. |
|
|
68
|
+
|
|
69
|
+
## Priority Action Register
|
|
70
|
+
|
|
71
|
+
- [P0] Meaning Drifts: 0
|
|
72
|
+
- [P1] Readability Blockers: 0
|
|
73
|
+
- [P2] Stylistic Polishing: 0
|
package/docs/AI.md
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# AI Integrations (Opt-in)
|
|
6
|
+
|
|
7
|
+
AI helpers are **off by default**. You choose if and when to turn them on.
|
|
8
|
+
|
|
9
|
+
## Enable AI helpers
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
export DOTFILES_AI=1
|
|
13
|
+
exec zsh
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
This turns on the local helper scripts for context suggestions and error analysis. It does not install any AI tools.
|
|
17
|
+
|
|
18
|
+
## Steering Patterns
|
|
19
|
+
|
|
20
|
+
Patterns in `~/.dotfiles/dot_config/ai/patterns/` add focused context to AI requests.
|
|
21
|
+
|
|
22
|
+
- **Architect** — shell setup and stack tuning
|
|
23
|
+
- **Hardener** — security, encryption, and compliance
|
|
24
|
+
- **Refactor** — POSIX compatibility, performance, and linting
|
|
25
|
+
|
|
26
|
+
### Contextual Bridge
|
|
27
|
+
|
|
28
|
+
Use the `dot` CLI to run AI tools with added context:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# General usage
|
|
32
|
+
dot cl|codex|copilot|gemini|goose|kiro|sgpt|ollama|opencode|aider|autohand|vibe|qwen|zai --pattern <name> "prompt"
|
|
33
|
+
|
|
34
|
+
# Quick aliases
|
|
35
|
+
dcla "Optimize my zshrc" # Claude + Architect
|
|
36
|
+
dgmnh "Audit my ssh config" # Gemini + Hardener
|
|
37
|
+
dkir "Refactor this script" # Kiro + Refactorer
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The bridge adds system details (OS, architecture, date) to the prompt. This gives the AI the context it needs for accurate answers.
|
|
41
|
+
|
|
42
|
+
Supported bridge commands:
|
|
43
|
+
|
|
44
|
+
| Command | Provider |
|
|
45
|
+
|---------|----------|
|
|
46
|
+
| `dot cl` | Claude Code |
|
|
47
|
+
| `dot codex` | OpenAI Codex CLI |
|
|
48
|
+
| `dot copilot` | GitHub Copilot CLI |
|
|
49
|
+
| `dot gemini` | Gemini CLI |
|
|
50
|
+
| `dot goose` | Goose (Block) |
|
|
51
|
+
| `dot kiro` | Kiro CLI |
|
|
52
|
+
| `dot sgpt` | Shell-GPT |
|
|
53
|
+
| `dot ollama` | Ollama |
|
|
54
|
+
| `dot opencode` | OpenCode |
|
|
55
|
+
| `dot aider` | Aider |
|
|
56
|
+
| `dot autohand` | Autohand Code |
|
|
57
|
+
| `dot vibe` | Mistral Vibe |
|
|
58
|
+
| `dot qwen` | Qwen Code |
|
|
59
|
+
| `dot zai` | ZAI (Zhipu AI) |
|
|
60
|
+
|
|
61
|
+
### `dot ai` status and launcher
|
|
62
|
+
|
|
63
|
+
`dot ai` shows which AI CLIs are installed, grouped by category. If `gum` is available, it also opens a quick launcher.
|
|
64
|
+
|
|
65
|
+
Current categories:
|
|
66
|
+
|
|
67
|
+
- Agents (autonomous)
|
|
68
|
+
- Coding (interactive)
|
|
69
|
+
- General (prompt-based)
|
|
70
|
+
- Runtime (local)
|
|
71
|
+
- Cloud (platform)
|
|
72
|
+
|
|
73
|
+
The launcher is simple and fast. It shows short role labels like `agent`, `coding`, `general`, `local`, and `cloud` so you can pick quickly.
|
|
74
|
+
|
|
75
|
+
To stay fast, `dot ai` caches provider info in `~/.cache/dotfiles/ai/status.tsv` for 5 minutes. You can change this with `DOTFILES_AI_STATUS_TTL`.
|
|
76
|
+
|
|
77
|
+
Related AI commands:
|
|
78
|
+
|
|
79
|
+
- `dot ai` — check status and launch tools
|
|
80
|
+
- `dot ai-setup` — set up AI CLIs step by step
|
|
81
|
+
- `dot ai-query` — run context-aware queries on the dotfiles repo
|
|
82
|
+
|
|
83
|
+
## Optional AI CLI tools
|
|
84
|
+
|
|
85
|
+
These tools are not installed for you. Pick and install only the ones you want:
|
|
86
|
+
|
|
87
|
+
- **Agents**: `claude`, `codex`, `copilot`, `goose`
|
|
88
|
+
- **Coding assistants**: `aider`, `opencode`
|
|
89
|
+
- **General AI**: `gemini`, `sgpt`
|
|
90
|
+
- **Local-first**: `ollama`
|
|
91
|
+
- **Coding agents**: `autohand`, `vibe`, `qwen`, `zai`
|
|
92
|
+
- **Cloud / platform**: `kiro-cli`
|
|
93
|
+
|
|
94
|
+
Once installed, the dotfiles add helper functions and shortcuts. These only load when `DOTFILES_AI=1` is set.
|
|
95
|
+
|
|
96
|
+
## Agentic terminal workflows
|
|
97
|
+
|
|
98
|
+
If your terminal has built-in AI agents, keep your shell lean and fast:
|
|
99
|
+
|
|
100
|
+
- Use `DOTFILES_FAST=1` or `DOTFILES_ULTRA_FAST=1`.
|
|
101
|
+
- Let the terminal handle agents and its own UI.
|
|
102
|
+
- Keep dotfiles focused on consistency, safety, and clean repeats.
|
|
103
|
+
|
|
104
|
+
## Privacy and safety
|
|
105
|
+
|
|
106
|
+
- No AI tools are installed for you.
|
|
107
|
+
- No background services run by default.
|
|
108
|
+
- You control AI helpers with `DOTFILES_AI=1`.
|
package/docs/CNAME
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
doc.dotfiles.io
|
package/docs/COPYRIGHT
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.
|
|
3
|
-
* Made
|
|
4
|
-
*
|
|
2
|
+
* 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.501) - <https://github.com/sebastienrousseau/dotfiles>
|
|
3
|
+
* Made With ❤️ in London, United Kingdom
|
|
4
|
+
* Designed by
|
|
5
|
+
* Copyright (c) 2015-2026. All rights reserved.
|
|
5
6
|
* License: MIT
|
|
6
7
|
*/
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
render_with_liquid: false
|
|
3
|
+
---
|
|
4
|
+
{% raw %}
|
|
5
|
+
|
|
6
|
+
# Naming Conventions & Standardization Guide
|
|
7
|
+
|
|
8
|
+
This document defines the naming conventions for all files in the dotfiles repository.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## File Naming
|
|
13
|
+
|
|
14
|
+
| Context | Convention | Example |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| Run scripts | `run_{type}_{NN}-{verb}-{noun}.sh.tmpl` | `run_onchange_10-install-packages.sh.tmpl` |
|
|
17
|
+
| Shell fragments | `{NN}-{domain}-{detail}.sh.tmpl` | `90-ux-aliases.sh.tmpl` |
|
|
18
|
+
| Alias files | `{tool}.aliases.sh` | `git.aliases.sh` |
|
|
19
|
+
| Function files | `{name}.sh` (lowercase) | `apihealth.sh` |
|
|
20
|
+
| Test files | `test_{domain}_{feature}.sh` | `test_aliases_git.sh` |
|
|
21
|
+
| Scripts | `{verb}-{noun}.sh` (hyphenated) | `install-nerd-fonts.sh` |
|
|
22
|
+
|
|
23
|
+
## Run Script Numbering Tiers
|
|
24
|
+
|
|
25
|
+
| Range | Category | Examples |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| 00-09 | Audit & pre-flight | `run_before_00-audit.sh` |
|
|
28
|
+
| 10-19 | Package installation | `run_onchange_10-linux-packages.sh.tmpl` |
|
|
29
|
+
| 20-29 | Config & languages | `run_onchange_20-ghostty-config.sh.tmpl` |
|
|
30
|
+
| 25-29 | Language toolchains | `run_onchange_25-python-tools.sh.tmpl` |
|
|
31
|
+
| 30-39 | Applications | `run_onchange_30-vscode-extensions.sh.tmpl` |
|
|
32
|
+
| 40-49 | System defaults | `run_onchange_40-darwin-default-apps.sh.tmpl` |
|
|
33
|
+
| 50-59 | Assets (fonts, themes) | `run_onchange_50-install-fonts.sh.tmpl` |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Adding New Modules
|
|
38
|
+
|
|
39
|
+
### New app config
|
|
40
|
+
|
|
41
|
+
1. Create `dot_config/<app>/` with chezmoi-compatible filenames
|
|
42
|
+
2. Add entry to `dot_config/.module-manifest.json`
|
|
43
|
+
3. Optionally gate with feature flag in `.chezmoidata.toml` + `.chezmoiignore.tmpl`
|
|
44
|
+
|
|
45
|
+
### New alias category
|
|
46
|
+
|
|
47
|
+
1. Create `.chezmoitemplates/aliases/<category>/<name>.aliases.sh`
|
|
48
|
+
2. The `**/*.aliases.sh` glob auto-discovers it
|
|
49
|
+
3. Add to `$coreCategories` list in `90-ux-aliases.sh.tmpl` for eager loading; otherwise it loads lazily
|
|
50
|
+
|
|
51
|
+
### New function
|
|
52
|
+
|
|
53
|
+
1. Create file in `.chezmoitemplates/functions/<group>/`
|
|
54
|
+
2. Add to `groups.json` with the `<group>/<filename>` path
|
|
55
|
+
3. It auto-registers for lazy loading via `51-logic-functions-extra.sh.tmpl`
|
|
56
|
+
|
|
57
|
+
### New provisioning script
|
|
58
|
+
|
|
59
|
+
1. Create `install/provision/run_onchange_{NN}-{name}.sh.tmpl`
|
|
60
|
+
2. Use the numbering tiers above
|
|
61
|
+
3. Source `install/lib/os_detection.sh` for platform detection
|
|
62
|
+
4. Guard OS-specific code with `{{ if eq .chezmoi.os "darwin" }}`
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Directory Structure Overview
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
.chezmoitemplates/
|
|
70
|
+
aliases/ # 48 categories, auto-discovered
|
|
71
|
+
functions/ # Grouped by domain (api/, curl/, text/, system/, etc.)
|
|
72
|
+
paths/ # PATH construction templates
|
|
73
|
+
desktop/ # Desktop environment templates (dconf)
|
|
74
|
+
|
|
75
|
+
dot_config/ # Flat — chezmoi constraint, no intermediate grouping
|
|
76
|
+
|
|
77
|
+
install/
|
|
78
|
+
lib/ # Shared helpers (os_detection, logging, installers)
|
|
79
|
+
provision/ # run_onchange_* provisioning scripts
|
|
80
|
+
|
|
81
|
+
scripts/ # Repo-only scripts (not deployed)
|
|
82
|
+
dot/ # dot CLI subcommands
|
|
83
|
+
ops/ # Operations scripts
|
|
84
|
+
diagnostics/ # Health checks
|
|
85
|
+
security/ # Security tools
|
|
86
|
+
...
|
|
87
|
+
|
|
88
|
+
tests/ # Test suite (not deployed)
|
|
89
|
+
framework/ # Test runner, assertions, mocks
|
|
90
|
+
unit/ # Domain-organized unit tests
|
|
91
|
+
integration/ # End-to-end tests
|
|
92
|
+
performance/ # Benchmarks
|
|
93
|
+
|
|
94
|
+
docs/ # Documentation and GitHub Pages source
|
|
95
|
+
architecture/ # System design docs
|
|
96
|
+
guides/ # How-to guides
|
|
97
|
+
reference/ # Reference material
|
|
98
|
+
security/ # Security documentation
|
|
99
|
+
operations/ # Ops and maintenance docs
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
{% endraw %}
|