.claude
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
.venv/
venv/
env/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/
*.egg-info/
dist/
build/

# uv
.uv/
uv.lock.bak

# Node
node_modules/
.pnpm-store/
pnpm-debug.log*
npm-debug.log*
yarn-error.log*
*.tsbuildinfo
.turbo/
.next/
.vite/

# OS
.DS_Store
Thumbs.db
._*
.Spotlight-V100
.Trashes

# IDE
.vscode/*
!.vscode/extensions.json
.idea/
*.swp
*.swo

# Env / secrets
.env
.env.local
.env.*.local
*.pem
*.key

# Build artifacts
apps/web/dist/
apps/web/storybook-static/
# Vite dev-server transient JS compilation artifacts
apps/web/src/**/*.js
apps/web/src/**/*.js.map
apps/web/coverage/
# TanStack Router plugin tmp / build logs
apps/web/.tanstack/
apps/web/tailwindcss-*.log
# Playwright E2E outputs (Task 13)
apps/web/playwright-report/
apps/web/test-results/
apps/web/blob-report/
# Playwright visual-regression snapshot baselines (M1d-31)
# Baselines are generated in CI via --update-snapshots; not committed from local sandbox
apps/web/e2e/**-snapshots/
apps/web/e2e/__screenshots__/
apps/api/.coverage
apps/runner/.coverage

# Docker
.docker/
.claude-flow

# Ruflo / swarm runtime artifacts (local agent state — never commit)
.swarm/
agentdb.rvf
agentdb.rvf.lock
ruvector.db
.impeccable
.playwright-mcp

# @suiflex/suitest-mcp — generated at prepack (sync-python.js)
packages/mcp-npx/python/
packages/mcp-npx/LICENSE
packages/mcp-npx/*.tgz

# internal session notes (not part of the public repo)
SESSION_LOOP.md
suitest-output
docs/superpowers
# Raw demo recordings + responsive screenshots (assets/demo.gif is the committed artifact)
assets/raw/
