Commands¶
Global flags¶
--config <path>: add a highest-precedence config file layer.--dry-run: validate and print planned actions without writing changes.
Use --dry-run first when targeting real libraries.
sync¶
Runs the default curation pipeline:
- Retail sync with Igir hardlinks.
- Hacks build with
rompatcherjs. - Folder organization per game (
<game>/<retail-file>and<game>/hack/<hack-file>).
Use --no-hacks to run retail sync only.
With global --dry-run, this command validates selection/config and prints the exact Igir command without executing it.
Example:
retro-collection-tool --dry-run sync --systems nes,snes,genesis,sms
hacks¶
Applies curated patches from roms/Hacks/<system>/<hack-name>/ and writes ROMM-compatible outputs.
Safety flag:
--no-move-retail keeps retail ROM files in place and only writes hack outputs.
With global --dry-run, this command prints the planned sequential patch chain without writing files.
Patching is performed with rompatcherjs (npx --yes rom-patcher) and applies all patch files in filename order (.ips, .bps, .ups, .xdelta, and other supported formats).
Hacks are now organized under the matched game directory when possible:
roms/Library/roms/<system>/<game>/hack/<hack-name>.<ext>
Game matching uses the base ROM name and normalizes region groups (for example (USA, Europe)), so translations/hacks can align with retail game folders.
Matching retail ROM files in the system root are moved into the matched <game>/ folder. Source files from roms/Hacks are used only as patching inputs.
clean¶
Removes generated output directories for selected systems.
Flags:
--systems <csv>or--all-systems--include-biosto include BIOS targets in clean operations
Examples:
retro-collection-tool clean --systems genesis
retro-collection-tool --dry-run clean --all-systems --include-bios
bios¶
Imports BIOS files into ROMM Structure A targets:
roms/Library/bios/<platform>/...
The BIOS workflow is feature-gated by features.enable_bios and uses catalog matching for known BIOS files.
- Matching always uses filename from the catalog.
- If a catalog source includes one or more signatures (
md5,sha1,sha256,crc32), every provided signature must match. - If a catalog source omits MD5, filename-only matching is used.
- Unknown files are skipped and reported.
- Source roots can include raw files and zip packs.
Flags:
--systems <csv>or--all-systems--strictto fail when required BIOS entries are missing
Examples:
retro-collection-tool bios --systems gba,gbc
retro-collection-tool --dry-run bios --all-systems --strict
export¶
Copies selected systems to another destination (for SD cards).
Required flag:
--destination <path>
Example:
retro-collection-tool export --systems nes --destination /run/media/user/SDCARD/roms
cache¶
cache path: print active cache pathcache clean: remove cache files
bootstrap¶
Creates expected directory structure for configured systems.
systems¶
Prints enabled systems.
arcade¶
Arcade workflow is feature-gated by features.enable_arcade and now supports:
arcade dats update: download/update MAME 2003 Plus and FBNeo DAT files into cache.arcade dats verify: ensure cached DAT files exist and are non-empty.arcade verify: run Igir in dry-run mode against arcade DAT + vault inputs.arcade sync: run Igir with hardlink output into ROMM library targets.
Arcade processing now delegates compatibility/filtering logic to Igir and DAT semantics.
Examples:
retro-collection-tool arcade dats update
retro-collection-tool arcade dats verify
retro-collection-tool arcade verify
retro-collection-tool --dry-run arcade sync
Stub Commands¶
redumpis currently a placeholder command.