An MCP server is a URL plus a bearer token, and the token is why this is a stage rather than a manifest line. Panama is public, so the tokens cannot live in it, and neither runtime keeps its server list in a file worth symlinking: Codex writes them into config.toml beside dozens of unrelated settings, and Claude Code into ~/.claude.json. link-mcp registers them through the runtime's own CLI instead. user/agents/mcp/servers is tracked and names which variable carries each token. user/agents/mcp/env holds the tokens and is ignored. A new machine gets the servers by dropping its own env file beside the tracked one. Only Claude Code is handled, and only where the interview enabled personal content. Rewriting a section of somebody's live Codex TOML is a worse failure mode than leaving two lines to paste once.
53 lines
2.2 KiB
Plaintext
53 lines
2.2 KiB
Plaintext
# Ignore bash environment variables, and the lock its writer takes.
|
|
/config/bash/env
|
|
/config/bash/.env.lock
|
|
# Server secrets and state never enter the repo: live .env files belong in
|
|
# ~/Server/<Name>/ (only compose.yml is symlinked back here), and data/ is
|
|
# the bind-mount convention. Ignored anyway as a seatbelt -- the repo is
|
|
# public, and tests/server/compose-secrets-contract is the check that this
|
|
# line still exists.
|
|
/server/containers/**/.env
|
|
/server/containers/**/data/
|
|
# Personal espanso triggers (name, email), seeded per-machine by setup-identity.
|
|
/config/dot/espanso/match/identity.yml
|
|
# Ignore backups of old config files
|
|
/config/old
|
|
# MCP bearer tokens. The server list in user/agents/mcp/servers is tracked
|
|
# and names which variable carries each token; the tokens themselves are
|
|
# machine-local, because this repo is public.
|
|
/user/agents/mcp/env
|
|
# Ignore Wireguard config of course!
|
|
/config/wg/**
|
|
# Ignore Neovim lazy-lock file
|
|
/config/dot/nvim/lazy-lock.json
|
|
# Local visual-companion sessions and generated design mocks.
|
|
/.superpowers/
|
|
# Local linked worktrees used for reviewed feature development.
|
|
/.worktrees/
|
|
# Python helper bytecode is local runtime state.
|
|
__pycache__/
|
|
*.py[cod]
|
|
|
|
# Generated from the color scheme; machine state, not configuration.
|
|
/config/dot/kitty/current-theme.conf
|
|
|
|
# Generated from the color scheme; machine state, not configuration.
|
|
/config/dot/gtk-3.0/settings.ini
|
|
/config/dot/gtk-3.0/bookmarks
|
|
/config/dot/gtk-4.0/settings.ini
|
|
/config/dot/tmux/current-theme.conf
|
|
/config/dot/hypr/hyprlock.conf
|
|
# The Firefox chrome override sheet, rendered from the active theme. It sits
|
|
# beside custom.css because chrome/ is symlinked into the profile as one
|
|
# directory; custom.css imports it and stays the file a person edits.
|
|
/config/firefox/chrome/panama-theme.css
|
|
/config/firefox/chrome/panama-theme.css.tmp
|
|
|
|
# Build products of the Vicinae extension. The source and reviewed lockfile are
|
|
# in the repository; the dependency tree and bundle are machine state.
|
|
/config/local/share/vicinae/extensions/*/node_modules/
|
|
/config/local/share/vicinae/extensions/*/dist/
|
|
/config/local/share/vicinae/extensions/*/build/
|
|
/config/local/share/vicinae/extensions/*/package-lock.json
|
|
!/config/local/share/vicinae/extensions/panama-search/package-lock.json
|