Files
Sylpheed/.gitignore
sim dce085277a chore: ignore /sylpheed.db — zq.py now defaults to it
The previous commit on this branch made `tools/zq.py` look for its database at
`<repo root>/sylpheed.db`, and its refusal message tells people to put one there.
Nothing ignored that path. The database is a build artefact of several hundred
MB, so a single `git add -A` would have committed it into a public repository's
history — the class of blob CONSOLIDATION.md's history-rewrite fork exists to
argue about.

Anchored (`/sylpheed.db`, plus DuckDB's `.wal`) so it covers only the default
location, not any file of that name elsewhere. Verified by creating the files:
both ignored, `git status` silent, and a `sylpheed.db` in a subdirectory is not
swallowed by the rule.

Found while writing the Phase 7 steps: moving the 336 MB database out of
`xenia-rs` before that clone is deleted is exactly how someone would put it here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 19:20:38 +02:00

73 lines
2.4 KiB
Plaintext

# Rust build artifacts
/target/
**/target/
/dist/
# Extracted game assets — never commit these
assets/
*.iso
*.xiso
# IDE / OS
.idea/
.vscode/
*.swp
.DS_Store
Thumbs.db
# Local dev overrides
.env
# The static-analysis database `tools/zq.py` reads by default. A build artefact
# of several hundred MB (`sylph-xexdb dis ... --db sylpheed.db`), and zq.py
# now tells people to put it exactly here -- so it must never be committable.
# One `git add -A` would otherwise put it in public history for good.
/sylpheed.db
/sylpheed.db.wal
# Trunk build output
dist/
__pycache__/
# ── The port ────────────────────────────────────────────────────────────────
# Generated from the user's own disc. This repo stays clean-room: code, schemas,
# authored mappings and documentation only -- never game content.
#
# BOTH names are ignored on purpose. `export/` is what the exporter writes and
# what `ExportTree.locate()` reads today; `data/base/` is the name MODDING.md
# gives that same tree. Only one of them existed here, and it was the one
# nothing writes -- so the live output directory was tracked while MISSION §4
# said it was ignored. Ignoring both means renaming the tree to match the docs
# cannot silently start committing the disc.
/export/
/data/base/
#
# ⚠️ Enumerating names is what FAILED. The two rules above were written --
# carefully, with the comment above -- while 850 files and 299 MB of extracted
# sprites, audio and transcoded video sat committed under `export-probe/` and
# `export-probe2/`, a third name nobody had thought to list. So ignore the
# SHAPE, not the instances: any top-level directory whose name starts `export`,
# and game media anywhere it lands.
/export*/
*.ogv
*.ogg
*.wav
*.xpr
*.pak
# Loose capture output at the repo root -- 246 MB of it arrived this way.
/*.tsv
/*.log
# Transient inter-agent files. Deliberately outside history: they are working
# artefacts with provenance in their manifest, not results.
/exchange/
!/exchange/.gitkeep
.godot/
port/.godot/
# A mod is usually an EDITED GAME ASSET, and this repository never holds game
# assets. `data/mods/` is the user's own directory -- the exporter never touches
# it and neither does git, except for the README that explains the rule.
/data/mods/*
!/data/mods/README.md
!/data/mods/.gitkeep