# Rust build output
/target/
**/target/

# Cargo lock is committed for binaries, not libraries
# (kept here since rustunnel-server is a binary workspace)

# Editor and IDE
.idea/
.vscode/
*.iml
*.swp
*.swo
*~
.DS_Store

# Environment and secrets
.env
.env.*
*.pem
*.key
*.crt
*.p12
*.pfx

# Logs
*.log
logs/

# Database files
*.db
*.sqlite
*.sqlite3

# Test artifacts
/test-certs/
/tmp/

# Dashboard UI — npm artifacts only; built assets ARE committed so
# `cargo build` works without a Node.js toolchain installed.
# Run `make ui-build` to regenerate assets after UI changes.
dashboard-ui/node_modules/
dashboard-ui/.next/
dashboard-ui/out/
dashboard-ui/dist/

# Claude Code project memory (local only)
.claude/
