Skip to content

Configuration file map

This page maps repository paths under configs/ to destination paths on your machine. Phase 3 (install/phase-3-configure.sh on Unix; install/phase-3-configure.ps1 on Windows) copies or merges them according to TUI selections and fixed rules.

For defaults, automation env vars, and how to customize (reconfigure, fork, rc file markers), see Defaults & customization. For what is installed and how to use core and optional tools, see After install. For environment variables that drive Phase 3, see Reference. For Windows-only OS policy tuning, see Cross-platform notes (configs/os/windows.yaml).

configs/git/

Repository fileDestination / effect
configs/git/gitconfigCopied to ~/.gitconfig only when that file does not already exist (Unix Phase 3).
configs/git/gitignore_globalCopied to ~/.gitignore_global; git config --global core.excludesfile set to that path when Git is available.

Global user.name and user.email are set from BOTSTRAP_GIT_NAME and BOTSTRAP_GIT_EMAIL when non-empty (not from static files).

configs/shell/

Repository fileDestination / effect
configs/shell/prompt.tomlFallback only: copied to ~/.config/starship.toml when no theme bundle provides starship.toml (see themes/ below).
configs/shell/aliasesAppended once to ~/.zshrc and ~/.bashrc inside a block marked # botstrap aliases.
configs/shell/functionsAppended once to ~/.zshrc and ~/.bashrc inside a block marked # botstrap functions.

configs/editor/

Applied when BOTSTRAP_EDITOR matches (Unix Phase 3):

Editor choiceRepository fileDestination
cursorconfigs/editor/cursor-settings.json~/.cursor/settings.json (then shallow-merge keys from themes/<BOTSTRAP_THEME>/editor.json on Unix when jq is available; Windows merges via PowerShell)
vscodeconfigs/editor/vscode.json~/.config/Code/User/settings.json (same theme merge as Cursor)
neovimLazyVim starter (LazyVim/starter) via install/modules/lazyvim when neovim is in BOTSTRAP_CORE_TOOLS (core registry post_install); Phase 3 copies configs/editor/neovim/init.lua only if lua/config/lazy.lua is missingmacOS/Linux: ~/.config/nvim. Windows: %LOCALAPPDATA%\nvim (typically ~/AppData/Local/nvim).

Other editor values skip these copies.

configs/agent/

Copied as samples only (Unix Phase 3):

Repository fileDestination
configs/agent/AGENTS.md~/.config/botstrap/agent/AGENTS.md.sample
configs/agent/cursorrules~/.config/botstrap/agent/cursorrules.sample
configs/agent/claude-config.json~/.config/botstrap/agent/claude-config.json.sample

Rename or merge into project-specific locations as needed; Botstrap does not overwrite live Cursor or Claude config paths by default.

configs/os/

Repository fileConsumer
configs/os/windows.yamlPhase 0b on Windows (install/phase-0b-os-tune.ps1 + lib/os-tune-windows.ps1).

Generated state (not under configs/ in repo)

Phase 3 also writes:

  • ~/.config/botstrap/theme.envtheme=<value>
  • ~/.config/botstrap/editor.enveditor=<value>

themes/

Phase 3 uses BOTSTRAP_THEME (from the TUI or env; persisted in theme.env) to pick a folder themes/<id>/ where <id> is one of catppuccin, tokyo-night, gruvbox, nord, rose-pine (see registry/optional.yaml).

FileEffect
themes/<id>/starship.tomlWhen present, copied to ~/.config/starship.toml (Windows: %USERPROFILE%\.config\starship.toml).
themes/<id>/editor.jsonOptional. When BOTSTRAP_EDITOR is cursor or vscode, its keys are merged on top of the repo editor template after the base copy (shallow object merge). Typical key: workbench.colorTheme — install the matching color-theme extension in the editor if the theme is not built in.

If themes/<id>/starship.toml is missing, Phase 3 falls back to configs/shell/prompt.toml.

Optional tools and themes

Phase 3 installs selected core from registry/core.yaml and selections from registry/optional.yaml (via lib/pkg), not only file copies from configs/. Theme registry rows log selection; assets are applied from themes/<id>/ as above. See Registry specification and Architecture.

Botstrap — cross-platform bootstrap for developers and AI coding agents.

Docs build:f8bebe9