# The Alexandria software itself, in single-folder installs (the brain renders at the
# folder root and the app lives beside it in this hidden dir). Never vault content —
# it is replaced wholesale on update and must not ride in the vault's history.
.alexandria/

# The playbooks live in Agent/skills/ (neutral, and what every client reads); .claude/
# holds the generated Claude Code adapter for them plus that app's own settings. Both
# MUST be tracked. Force .claude/ in even if your GLOBAL git excludes it (common for
# Claude Code users) — without this the adapter is silently dropped on `git add`, and
# Claude Code stops auto-loading the playbooks while every other client keeps working,
# which is a confusing way to find out.
!.claude/
!.claude/**

# Obsidian per-machine state
.obsidian/workspace*
.obsidian/cache
.trash/

# OS metadata
.DS_Store
**/.DS_Store
._*
.AppleDouble
.Spotlight-V100
.Trashes
Thumbs.db

# Office lock files
~$*

# Scratch
*.tmp
*.bak

# Secrets — never commit a filled-in env (only *.env.example templates are tracked)
*.env
.env

# Semantic MCP plugin local secrets (per-machine)
.obsidian/plugins/semantic-vault-mcp/data.json
.obsidian/plugins/semantic-vault-mcp/certificates/

# Alexandria machine-local runtime state.
# (The installed-version manifest + render.lock ARE tracked so updates know the baseline;
#  only per-machine caches/logs are excluded.)
.state/cache/
.state/*.log
