# WHITELIST: ignore everything, then allow only source files and docs.
# Game assets, extracted files, decompiled scripts, logs and build output
# must never be tracked. Add new allowed paths deliberately.
*

# Allow walking into directories (needed so the rules below can match files inside)
!*/

# Never descend into these, even if a pattern below would match
references/
target/
work/
logs/
.direnv/

# Project config
!/.gitignore
!/.envrc
!/flake.nix
!/flake.lock
!/Cargo.toml
!/Cargo.lock
!/crates/*/Cargo.toml

# Rust source
!/src/**/*.rs
!/crates/*/src/**/*.rs
!/crates/*/tests/**/*.rs

# Helper scripts
!/scripts/*.sh
!/scripts/ghidra/*.java

# Release CI (GitHub Actions)
!/.github/workflows/*.yml

# Release packaging (Flatpak manifest, desktop file, wrapper)
!/packaging/flatpak/*.yml
!/packaging/flatpak/*.desktop
!/packaging/flatpak/*.sh

# Docs
!/LICENSE-MIT
!/LICENSE-APACHE
!/CLAUDE.md
!/README.md
!/MULTIPLAYER.md
!/MODLOG.md
!/MODLOG-template.md
!/STATUS-handoff.md
!/STATUS.md
!/docs/**/*.md
# RE.md (reverse-engineering pointers) is deliberately not listed: local only.

# README screenshots (our renderer, saved small as JPEG)
!/docs/images/*.jpg
