node_modules
node_modules/
*.log
*.log.gz
.DS_Store
agent-tools/

# Per-run swarm state (layout dirs stay in git)
sandbox/.pi-sessions/
sandbox/.pi/
sandbox/work/hello.txt
sandbox/threads/main/*.md
sandbox/threads/*/*.md
sandbox/locks/*.json
sandbox/done/SWARM_DONE
sandbox/done/agents/
sandbox/traces/
sandbox/history/
runs/
sandbox-runs/

sandbox/work/.browser/

# Web app build + local fixture runs
ui/dist/
runs-fixture/

# Playwright MCP scratch output
.playwright-mcp/

# Python bytecode, from running the library tools and their tests
__pycache__/
*.pyc
.ds-sync/
ds-bundle/
.design-sync/.cache/
.design-sync/learnings/
.design-sync/node_modules/

# Deployment secrets: the site deploy reads contact.env from the working tree
*.env
contact.env

# Image build contexts (images/recipe.py build --out): a context may hold a
# local copy of pinned data that is not for redistribution (recipe.py refuses
# one inside a checkout; this is the second line).
/ctx/
/images/ctx/
