# Secrets. `.env.local` and `.env.production` matched neither of the first two
# patterns — `.env` is exact and `*.env` needs something before the dot — so the third
# is the one that closes it. The exception has to come last to survive them all.
.env
*.env
.env.*
!.env.example

__pycache__/
*.py[cod]
.mypy_cache/
.ruff_cache/
.pytest_cache/
*.egg-info/
build/
dist/
.coverage
htmlcov/

# Build outputs: bundles are regenerable and large.
bundles/
*.chroma/
.okf-loremaster-cache/

# Run artifacts. Checkpoints normally live under the cache directory, outside the
# repo — these catch a cache dir pointed back inside it.
*.sqlite
*.sqlite-journal

# A charter is one run's input, not the package's. Anchored to the root so a
# fixture or example charter under tests/ still ships.
/charter.yaml
/*.charter.yaml

# Internal working notes: the agent operating manual and the datestamped build log.
# Kept local — they are about how this was built, not about how it is used.
/CLAUDE.md
/Build_Progress.md

# Agent tooling state: local permissions, session files, transcripts. Machine- and
# operator-specific, and none of it describes the package.
.claude/

# A virtualenv inside the repo is against policy — the conda env is kept outside so it
# does not bloat cloud sync — but a stray one committed is thousands of files, so it is
# ignored rather than trusted not to appear.
.venv/
venv/

.DS_Store
.vscode/
.idea/
.ipynb_checkpoints/
