# Rust
/target/

# Nix build output
/result

# Publish output
/publish/

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

# OS
.DS_Store
Thumbs.db

# Claude Code
.claude/settings.local.json
.claude/scheduled_tasks.lock

# Dropped-in design zips
*.zip

# Direnv
.direnv/

# Environment
.env
.env.local

# Signing keys (keep secret key private!)
*.key
keys/nxv.key

# Website
website/node_modules/
website/.vitepress/cache/
website/.vitepress/dist/
website/bun.lock
website/server/

# Frontend
frontend/node_modules/
# NOTE: frontend/tailwind.generated.css is intentionally tracked. The Rust
# server embeds it via include_str!, so `cargo build` (incl. crates.io /
# Nix sandbox builds without Node) needs it on disk. Regenerate with the
# `tw` devshell command after editing tailwind.src.css. Same reason for
# committing frontend/package-lock.json (so regeneration is deterministic).

# Added by cargo

/target
__pycache__/

# Playwright MCP artifacts + ad-hoc screenshots from browser testing
.playwright-mcp/
*.png

# Playwright CLI artifacts
.playwright-cli/
