# Local secrets
.secrets

# Dependencies
node_modules/

# Terraform
.terraform/
terraform.tfstate
terraform.tfstate.backup
*.tfvars
*.tfvars.json
.terraform.tfstate.lock.info

# Built code
dist/
build/
!**/platform_agents/build/
!**/src/build/

# Binaries
bin/

# Packaged code
*.tgz
*.zip
*.tar
*.tar.gz

# Environments
.env
*.env
.venv

# Misc
.DS_Store
*.log

# Python bytecode
__pycache__/
*.py[cod]
*.egg-info/

# Test coverage
.coverage
.coverage.*
.pytest_cache/
htmlcov/

# Ruff / MyPy caches
.ruff_cache/
.mypy_cache/

# VS Code (enable sharing settings)
!.vscode

# Claude Code local settings
.claude/settings.local.json
.claude/worktrees/

# Skills tooling installed locally via `hyperframes skills` (keep the repo's own skills, e.g. check-pr)
.agents/
skills-lock.json
.claude/skills/*
!.claude/skills/check-pr/

# Knead orchestrator state
.knead/

# Local-mode harness session state (per-session workspace +
# Claude session map, bind-mounted into the harness + sandbox
# containers).  Path is referenced from local_sandbox.py and
# docker-compose.yaml; safe to delete to wipe local sessions.
.levain-cache/

# Full-stack marker written by ``./levain init --all``.
.levain-full

# Nested repos (legacy, from old multi-repo setup)
repos/

# Local kubeconfig (legacy path — kubeconfig now lives in
# ~/.levain/proxy/<env>/kubeconfig). Kept ignored to clean up stale
# files from older checkouts.
.kube/

# Legacy proxy state (SSH keypair, PIDs). Superseded by
# ~/.levain/proxy/<env>/. Kept ignored so `git add .` on existing
# checkouts can't accidentally commit the private key.
.proxy/

# Next.js
.next/
next-env.d.ts

# Vite
.vite/

# Generated workspace file
levain.code-workspace
.gstack/
.env.local
.env.development.local
*.tsbuildinfo
.eslintcache
.playwright-mcp/

# issue2pr recipe→monitor IPC outcome file (transient, never committed —
# a tracked copy breaks every other branch's rebase via detach-HEAD conflicts)
.issue2pr/

# Generated PlusCal specs (scratch/example output)
specs/
.claude/scheduled_tasks.lock
.claude/worktrees/
kubeconfig

# Local TLC toolchain drop-in (CI extracts it from the ghcr carrier)
tools/tla2tools.jar
