# Dependencies
node_modules/

# E2E test artifacts (generated, not committed)
.e2e-test/

# SmallCode runtime state
.smallcode/cache/
.smallcode/traces/
.smallcode/sessions/
.smallcode/budget_state.json
.smallcode/memory.md
.smallcode/TODO.md
.smallcode/tool_scores.json

# Memory database (user data, not committed)
.memory/
*.db
*.db-shm
*.db-wal

# Code graph (regenerated on index)
.code-graph/

# Build output (generated by marrowc compile)
output/

# Stress test output (generated, large)
.stress-test/

# Python
venv/
__pycache__/
*.pyc
*.pyo

# Compiled binaries (from stress test Rust/Go)
*.exe
*.pdb
*.rmeta
Cargo.lock

# OS
.DS_Store
Thumbs.db
desktop.ini

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

# Logs
*.log

# Environment
.env
.env.local

# Test workspaces (generated during dev/testing)
.test-runs/
.test-workspace/

# Benchmark output (generated per run, stored in .smallcode/benchmarks/)
.smallcode/benchmarks/
.smallcode/snapshots/

# MarrowScript source (internal, not shipped)
# All .marrow files are excluded from git by default.
# Use explicit negation patterns to include specific ones.
*.marrow
marrow.toml

# Include specific marrow source files that are part of the shipped package
!marrow/smallcode_cognition.marrow
!marrow/tool_router.marrow
!marrow/bounded_loops.marrow
