.claude/worktrees/
DESIGN-LANGUAGE.txt
ARTICLE-FORMAT.txt

# --- Secrets -------------------------------------------------------
# This site is static and ships no credentials, but git history is
# permanent: anything that lands here has to be rotated, not just
# deleted. These patterns exist so a stray local file never becomes a
# commit in the first place.
.env
.env.*
!.env.example
*.pem
*.key
*.p12
*.pfx
*.keystore
id_rsa*
*service-account*.json
secrets.json

# --- OS / editor ---------------------------------------------------
.DS_Store
Thumbs.db
desktop.ini
.vscode/
.idea/
*.swp
*.swo
*~

# --- Python package (python/) --------------------------------------
# The site has no build step; the pip package does.
__pycache__/
*.py[cod]
*.egg-info/
.eggs/
build/
dist/
.pytest_cache/
.ruff_cache/
.venv/
venv/

# --- Local tooling -------------------------------------------------
node_modules/
.cache/
*.log

# Local Claude Code config
.claude/

# Nested scratch repo. Committing this as a gitlink (mode 160000) breaks
# clones and the Pages build - the same failure f7c3200 fixed for worktrees.
ai-ide/

# Founder dev-mode keys. The hashes are committed in script.js; the keys
# behind them must never be.
.founder-keys.local.txt
