refactor: standardize hack filenames to [Hack] and flatten to platform root

Switch the library naming convention from "Pokemon - <Name> (Hack)" to
"Pokemon - <Name> [Hack][version][tags]", and place hacks in the platform
root (roms/<plat>/) instead of a Hacks/ subfolder. Applied across the live
valhalla library (272 hack/fan-game files) via scripts/standardize-names.py.

- romhack-import.py / romhack-fetch.py: emit [Hack], write to roms/<plat>/
- romhack-pc-migrate.py: emit [Hack]
- build-romhack-vault.py (archived): update documented library_path
- standardize-names.py: new one-shot, self-fetching standardizer (idempotent;
  pipes \n-only bytes over SSH to avoid Windows CRLF corrupting filenames)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ginnoir
2026-06-23 18:08:31 -05:00
co-authored by Claude Opus 4.8
parent 52ee1b98a1
commit ae56d101b7
6 changed files with 112 additions and 19 deletions
+2 -2
View File
@@ -10,7 +10,7 @@ valhalla homelab library. Spun off from the `homelabstack` repo on 2026-06-06.
> or the `vault` skill. New hacks are added there **manually** (see the vault's
> `_Claude.md` checklist). This repo is just the tooling.
The ROMs live on valhalla under `/storage1/Emulation/roms/<platform>/Hacks/`,
The ROMs live on valhalla under `/storage1/Emulation/roms/<platform>/`,
served by the RomM stack (`roms.ginnoir.com`) — deployed from `homelabstack`
(`stacks/roms/`).
@@ -76,7 +76,7 @@ vault `Wanted` list.
They are served through the **same RomM stack** as the console hacks, under the
`windows` platform (RomM's "Microsoft Windows"; note `pc` is excluded in RomM's
`config.yml`, `windows` is not). Each hack is a single archive in the platform
**root**`Pokemon - <Hack> (Hack).zip` — NOT in a subfolder (a subfolder would
**root**`Pokemon - <Hack> [Hack].zip` — NOT in a subfolder (a subfolder would
make RomM treat the whole thing as one multi-file game).
```bash