# Internal (not shipped in OSS)
internal/

# Environment
.env
.env.*
!.env.example
# The grants fixture's .env is fixture data, not a local secret.
!regression/fixtures/workspaces/grants_ws/granted/.env

# Local scaffolded harness config (defaults ship in monkeybot-cli scaffold_defaults/)
/monkeybot_config/

# Local agent for manual CLI testing. Recreate with `monkeybot new --dest ./cli-agent`.
/cli-agent/

# Live eval run artifacts. Baselines under regression/t4/baselines/ stay versioned.
/regression/t4/runs/
# Live-eval agent project local state. Live secrets come from the repo-root .env; a stray key
# file in the agent project stays out of git. The two workspace .gitkeep files need git add -f.
/regression/t4/agent/.env
/regression/t4/agent/data/
/regression/t4/agent/workspace/

# Python
__pycache__/
*.py[cod]
*.pyo
*.pyd
.Python
*.egg-info/
dist/
build/
.eggs/
*.egg

# uv
.venv/
.uv/

# Data (SQLite DB + memory files — never commit)
data/
# Shared attachment fixtures live here (§5.4); they are not a local data dir.
!testkit/data/
!testkit/data/**
/memory/
.monkeybot/
# Store layout for the attachment loop fixture. The directory name is ignored above.
!regression/fixtures/workspaces/att_ws/.monkeybot/
!regression/fixtures/workspaces/att_ws/.monkeybot/**
*.sqlite3
workspace/.monkeybot/
*.sqlite
*.sqlite.writer-pid

# Testing & coverage
/test-runs/
/.cursor/hooks/.state/
.pytest_cache/
.coverage
htmlcov/
.mypy_cache/
.ruff_cache/
.deepeval/

# macOS
.DS_Store

# IDEs
.idea/
.vscode/
*.swp
*.swo

# Docker
docker/data/

# Planning Documents
.prt/
.monkeymode/

# Reference clones (read-only)
code/

# Local venv for evals dependency experiments
.evals-venv/

# monkeythink
.monkeythink/
# Eval fixtures ship their own build/ decoy
!/regression/fixtures/workspaces/calc_repo/build/
!/regression/fixtures/workspaces/calc_repo_green/build/
!/regression/fixtures/workspaces/shop_repo/build/
