# Rust — shared target dir at repo root (see .cargo/config.toml)
/target/
backend/target/
backend/bindings/

# Tauri desktop
desktop/src-tauri/target/
desktop/src-tauri/gen/
desktop/src-tauri/icon-source.png
desktop/src-tauri/icons/android/
desktop/src-tauri/icons/ios/
desktop/src-tauri/icons/appx/
desktop/node_modules/

# Python — bytecode cache (regenerated on every MCP script run)
__pycache__/
*.pyc

# Node
frontend/node_modules/
frontend/node_modules_old/
frontend/dist/
frontend/.pnpm-store/

# Playwright E2E
frontend/test-results/
frontend/playwright-report/
frontend/playwright/.cache/
frontend/blob-report/

# Config (generated at first run)
kronn.toml

# Claude Code
.claude/

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

# Kronn runtime
.kronn/

# Docker
.env
docker-compose.override.yml
.docker/data/

#ai
.mcp.json
.vibe/
.gemini/
.agents/
.codex/
.ai/mcp/
.kiro/settings/
.env
/node_modules/
.copilot/

# Playwright MCP transient logs (~117MB of session console dumps —
# accidentally absorbed by the wip commit at 18:36 on 2026-05-09).
# Never commit; clean up uncommitted with `git rm --cached -r .playwright-mcp/`.
.playwright-mcp/
.kronn/tmp/
