node_modules/
dist/
.dev.vars
.dev.vars.*
!.dev.vars.example
.wrangler/
.seed-tmp/
.seed-hashes.json
# Per-database variants. The bare name above never matched these, so
# `.seed-hashes-gunspec-db.json` (841 KB) was committed by accident and became
# load-bearing: the answer to "has this record changed" lived in a blob in the
# repo rather than in the database it described. The hash is a column now.
.seed-hashes-*.json
*.tsbuildinfo
.env
.env.local
.env*.local
.envrc

# Drizzle
drizzle/meta/

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

# OS
.DS_Store
Thumbs.db

# Python (script tooling bytecode)
__pycache__/
*.pyc

# Test
coverage/

# Scraped data (ephemeral)
data/scraped/*.csv

# Inspiration
inspiration/

# Large/generated web assets (post-restructure paths)
apps/game/public/models/animations/
apps/game/public/models/people/
apps/web/public/firearms/photos/
apps/web/public/firearms/archive/
apps/web/public/firearms/line/*.png
apps/web/public/manufacturers/archived
apps/web/public/firearms/packs/

data/line

# turbo cache
.turbo/

# vendored standards submodule (defined on main via .gitmodules)
.standards/

# git worktrees (restructure, etc.)
.claude/worktrees/
.playwright-cli/

# Images

image*.png
image*.jpg
references/

# Generated firearm renders (scripts/generate-firearm-renders.py).
# Working area only - R2 is the store, not git. Thousands of PNGs.
data/generated/

# Firearm image-fetcher dry-run report (regenerated each run)
data/firearm-image-candidates.json
# Blender-decompressed GLBs (scripts/decompress-glb.mjs output - local only)
_decompressed/

# Docs pages exported as Markdown for agents (regenerated on dev/build)
apps/docs/public/md/
