# Game data never goes in the repo (copyright). It lives outside, in $NGB_DATA (default ~/ngb-data).
# This is only a convenience: on Linux .gitignore is case-sensitive (*.afs misses CMN.AFS) and
# `git add -f` bypasses it. The real barrier is the guard (python -m ngb_tools.hygiene: hook and
# CI), which is case-insensitive, checks path, signature and size, and blocks archives.
*.iso
*.xiso
*.xbe
*.afs
*.sfd
*.xpr
*.xwb
*.xsb
*.aix
*.adx
*.bin
*.def
*.ins
# Fonts: the guard does not block them by extension (a free font can be legitimate); the
# game's fonts (23 MB) are caught by the size rule. A free font goes in with `git add -f`.
*.ttf
# Internal formats inside the AFS archives (Team Ninja)
*.kmd
*.spr
*.sty
*.wva
*.mtn
*.rtm
*.sob
*.itm
*.chr
*.stg
game/
extracted/

# Generated tool output
build/

# Python
__pycache__/
*.pyc

# Obsidian: volatile per-machine state (the shareable config is versioned)
docs/.obsidian/workspace.json
docs/.obsidian/workspace-mobile.json
docs/.obsidian/cache
docs/.trash/

# Environments and tool caches
.venv/
.mypy_cache/
.ruff_cache/
*.egg-info/

# MSVC build artifacts outside build/
*.pdb
*.ilk
*.obj

# Claude Code worktrees and local state
.claude/
