@rom-weaver/cli 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +39 -22
  2. package/docs/completions/_rom-weaver +1242 -644
  3. package/docs/completions/rom-weaver.bash +690 -109
  4. package/docs/completions/rom-weaver.elv +973 -576
  5. package/docs/completions/rom-weaver.fish +841 -536
  6. package/docs/completions/rom-weaver.ps1 +1006 -588
  7. package/docs/man/rom-weaver-bundle-create.1 +55 -8
  8. package/docs/man/rom-weaver-bundle-parse.1 +15 -6
  9. package/docs/man/rom-weaver-bundle-schema.1 +16 -7
  10. package/docs/man/rom-weaver-bundle.1 +15 -6
  11. package/docs/man/rom-weaver-cheat.1 +107 -0
  12. package/docs/man/rom-weaver-checksum.1 +21 -6
  13. package/docs/man/rom-weaver-completions.1 +15 -6
  14. package/docs/man/rom-weaver-compress.1 +23 -11
  15. package/docs/man/rom-weaver-extract.1 +23 -8
  16. package/docs/man/rom-weaver-formats.1 +15 -6
  17. package/docs/man/rom-weaver-identify-database-import-redump.1 +15 -6
  18. package/docs/man/rom-weaver-identify-database-install-all.1 +15 -6
  19. package/docs/man/rom-weaver-identify-database-install-group.1 +15 -6
  20. package/docs/man/rom-weaver-identify-database-install.1 +15 -6
  21. package/docs/man/rom-weaver-identify-database-list.1 +15 -6
  22. package/docs/man/rom-weaver-identify-database-path.1 +15 -6
  23. package/docs/man/rom-weaver-identify-database-remove.1 +15 -6
  24. package/docs/man/rom-weaver-identify-database-status.1 +15 -6
  25. package/docs/man/rom-weaver-identify-database-update.1 +15 -6
  26. package/docs/man/rom-weaver-identify-database.1 +15 -6
  27. package/docs/man/rom-weaver-identify.1 +27 -6
  28. package/docs/man/rom-weaver-man.1 +15 -6
  29. package/docs/man/rom-weaver-patch-apply.1 +64 -15
  30. package/docs/man/rom-weaver-patch-create.1 +33 -8
  31. package/docs/man/rom-weaver-patch-validate.1 +35 -7
  32. package/docs/man/rom-weaver-patch.1 +15 -6
  33. package/docs/man/rom-weaver-probe.1 +18 -6
  34. package/docs/man/rom-weaver-save-export-schema.1 +80 -0
  35. package/docs/man/rom-weaver-save-get.1 +83 -0
  36. package/docs/man/rom-weaver-save-identify.1 +80 -0
  37. package/docs/man/rom-weaver-save-inspect.1 +80 -0
  38. package/docs/man/rom-weaver-save-set.1 +89 -0
  39. package/docs/man/rom-weaver-save.1 +87 -0
  40. package/docs/man/rom-weaver-setup.1 +18 -6
  41. package/docs/man/rom-weaver-tools-ppf-undo.1 +16 -7
  42. package/docs/man/rom-weaver-tools.1 +15 -6
  43. package/docs/man/rom-weaver-trim.1 +24 -15
  44. package/docs/man/rom-weaver-weave.1 +64 -15
  45. package/docs/man/rom-weaver.1 +23 -8
  46. package/package.json +20 -13
@@ -4,7 +4,7 @@
4
4
  .SH NAME
5
5
  rom\-weaver\-identify \- Identify a ROM title from its checksums
6
6
  .SH SYNOPSIS
7
- \fBrom\-weaver identify\fR [\fB\-i\fR|\fB\-\-input\fR] [\fB\-\-json\fR] [\fB\-\-hash\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-size\fR] [\fB\-d\fR|\fB\-\-database\fR] [\fB\-\-log\-level\fR] [\fB\-\-system\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-offline\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-database\-dir\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-exhaustive\-database\-search\fR] [\fB\-\-no\-color\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-\-filter\fR] [\fB\-\-no\-extract\fR] [\fB\-\-no\-ignore\fR] [\fB\-\-no\-trim\-fix\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fIsubcommands\fR]
7
+ \fBrom\-weaver identify\fR [\fB\-i\fR|\fB\-\-input\fR] [\fB\-n\fR|\fB\-\-dry\-run\fR] [\fB\-\-hash\fR] [\fB\-\-json\fR] [\fB\-\-jsonl\fR] [\fB\-\-size\fR] [\fB\-d\fR|\fB\-\-database\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-system\fR] [\fB\-\-log\-level\fR] [\fB\-\-name\fR] [\fB\-\-title\-index\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-debug\fR] [\fB\-\-limit\fR] [\fB\-\-offline\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-database\-dir\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-exhaustive\-database\-search\fR] [\fB\-\-no\-color\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-\-filter\fR] [\fB\-\-no\-extract\fR] [\fB\-\-no\-ignore\fR] [\fB\-\-no\-trim\-fix\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fIFILE\fR] [\fIsubcommands\fR]
8
8
  .SH DESCRIPTION
9
9
  Identify a ROM title from its checksums and local RWFP1 database packs.
10
10
  .PP
@@ -29,6 +29,15 @@ RWFP1 identify pack, raw or Brotli, to search instead of the built\-in data (rep
29
29
  \fB\-\-system\fR \fI<SYSTEM>\fR
30
30
  Search only this system\*(Aqs pack. Takes a canonical platform name or a common alias (e.g. `snes`, `psx`)
31
31
  .TP
32
+ \fB\-\-name\fR \fI<QUERY>\fR
33
+ Search the database for games whose name matches QUERY, instead of identifying a file or checksum
34
+ .TP
35
+ \fB\-\-title\-index\fR \fI<JSON>\fR
36
+ Search a cross\-platform title index with \-\-name instead of database packs
37
+ .TP
38
+ \fB\-\-limit\fR \fI<N>\fR
39
+ Maximum number of matches \-\-name returns [default: 50]
40
+ .TP
32
41
  \fB\-\-offline\fR
33
42
  Assert that identify performs no network access (it never does natively; this flag records the guarantee)
34
43
  .TP
@@ -68,19 +77,28 @@ How many threads to use at most. auto uses every core; a format may still use fe
68
77
  .TP
69
78
  \fB\-h\fR, \fB\-\-help\fR
70
79
  Print help (see a summary with \*(Aq\-h\*(Aq)
80
+ .TP
81
+ [\fIFILE\fR]
82
+ File input; an alternative to \-i, \-\-input
71
83
  .SH "GLOBAL OPTIONS"
72
84
  .TP
85
+ \fB\-n\fR, \fB\-\-dry\-run\fR
86
+ Plan the command without changing files or downloading data
87
+ .TP
73
88
  \fB\-\-json\fR
74
- Print one JSON object per line instead of human\-readable output
89
+ Print one complete JSON report; progress and diagnostics use stderr
90
+ .TP
91
+ \fB\-\-jsonl\fR
92
+ Stream JSON events, including progress, one object per line
75
93
  .TP
76
94
  \fB\-\-progress\fR
77
- Show progress even when output is piped to a file or another program
95
+ Show progress on stderr (off by default; JSONL includes progress)
78
96
  .TP
79
97
  \fB\-\-no\-progress\fR
80
98
  Hide progress
81
99
  .TP
82
100
  \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
83
- How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
101
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: warn]
84
102
  .br
85
103
 
86
104
  .br
@@ -101,10 +119,13 @@ trace
101
119
  .RE
102
120
  .TP
103
121
  \fB\-v\fR, \fB\-\-verbose\fR
104
- Log more: \-v for info, \-vv for debug, \-vvv for trace
122
+ Show user diagnostics on stderr; repeat for developer detail (\-vv debug, \-vvv trace)
123
+ .TP
124
+ \fB\-\-debug\fR
125
+ Show developer diagnostics and trace events on stderr (same as \-vvv)
105
126
  .TP
106
127
  \fB\-q\fR, \fB\-\-quiet\fR
107
- Log errors only
128
+ Hide optional diagnostics and progress; keep results, warnings, and errors
108
129
  .TP
109
130
  \fB\-\-dep\-trace\fR
110
131
  Also log trace output from bundled libraries (for bug reports)
@@ -4,7 +4,7 @@
4
4
  .SH NAME
5
5
  rom\-weaver\-man \- Print or install the generated CLI man pages
6
6
  .SH SYNOPSIS
7
- \fBrom\-weaver man\fR [\fB\-\-install\fR] [\fB\-\-json\fR] [\fB\-\-man\-dir\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fICOMMAND\fR]
7
+ \fBrom\-weaver man\fR [\fB\-\-install\fR] [\fB\-n\fR|\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-\-man\-dir\fR] [\fB\-\-jsonl\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-debug\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fICOMMAND\fR]
8
8
  .SH DESCRIPTION
9
9
  Print one generated CLI man page, or install generated pages in a user manpath.
10
10
  .PP
@@ -29,17 +29,23 @@ Print help (see a summary with \*(Aq\-h\*(Aq)
29
29
  Command path to print
30
30
  .SH "GLOBAL OPTIONS"
31
31
  .TP
32
+ \fB\-n\fR, \fB\-\-dry\-run\fR
33
+ Plan the command without changing files or downloading data
34
+ .TP
32
35
  \fB\-\-json\fR
33
- Print one JSON object per line instead of human\-readable output
36
+ Print one complete JSON report; progress and diagnostics use stderr
37
+ .TP
38
+ \fB\-\-jsonl\fR
39
+ Stream JSON events, including progress, one object per line
34
40
  .TP
35
41
  \fB\-\-progress\fR
36
- Show progress even when output is piped to a file or another program
42
+ Show progress on stderr (off by default; JSONL includes progress)
37
43
  .TP
38
44
  \fB\-\-no\-progress\fR
39
45
  Hide progress
40
46
  .TP
41
47
  \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
42
- How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
48
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: warn]
43
49
  .br
44
50
 
45
51
  .br
@@ -60,10 +66,13 @@ trace
60
66
  .RE
61
67
  .TP
62
68
  \fB\-v\fR, \fB\-\-verbose\fR
63
- Log more: \-v for info, \-vv for debug, \-vvv for trace
69
+ Show user diagnostics on stderr; repeat for developer detail (\-vv debug, \-vvv trace)
70
+ .TP
71
+ \fB\-\-debug\fR
72
+ Show developer diagnostics and trace events on stderr (same as \-vvv)
64
73
  .TP
65
74
  \fB\-q\fR, \fB\-\-quiet\fR
66
- Log errors only
75
+ Hide optional diagnostics and progress; keep results, warnings, and errors
67
76
  .TP
68
77
  \fB\-\-dep\-trace\fR
69
78
  Also log trace output from bundled libraries (for bug reports)
@@ -4,7 +4,7 @@
4
4
  .SH NAME
5
5
  rom\-weaver\-patch\-apply \- Apply one or more patches to a ROM, in order
6
6
  .SH SYNOPSIS
7
- \fBrom\-weaver patch apply\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-no\-progress\fR] [\fB\-\-target\fR] [\fB\-\-filter\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-extract\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-no\-ignore\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-patch\fR] [\fB\-\-color\fR] [\fB\-\-patch\-select\fR] [\fB\-\-no\-color\fR] [\fB\-o\fR|\fB\-\-output\fR] [\fB\-\-bundle\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-\-with\fR] [\fB\-\-without\fR] [\fB\-\-no\-compress\fR] [\fB\-\-compress\-format\fR] [\fB\-\-compress\-codec\fR] [\fB\-\-compress\-level\fR] [\fB\-\-assume\-in\fR] [\fB\-\-expect\-in\fR] [\fB\-\-patch\-header\fR] [\fB\-\-patch\-basis\fR] [\fB\-\-output\-header\fR] [\fB\-\-repair\-checksum\fR] [\fB\-\-n64\-byte\-order\fR] [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-\-expect\-out\fR] [\fB\-\-code\fR] [\fB\-\-code\-system\fR] [\fB\-\-code\-kind\fR] [\fB\-\-emit\-bundle\fR] [\fB\-\-tui\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-\-force\fR] [\fB\-n\fR|\fB\-\-dry\-run\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fB\-i\fR|\fB\-\-input\fR>
7
+ \fBrom\-weaver patch apply\fR [\fB\-n\fR|\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-jsonl\fR] [\fB\-\-target\fR] [\fB\-\-filter\fR] [\fB\-\-progress\fR] [\fB\-\-no\-extract\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-ignore\fR] [\fB\-\-patch\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-debug\fR] [\fB\-\-patch\-select\fR] [\fB\-o\fR|\fB\-\-output\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-bundle\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-with\fR] [\fB\-\-no\-color\fR] [\fB\-\-without\fR] [\fB\-\-without\-cheats\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-\-no\-compress\fR] [\fB\-\-compress\-format\fR] [\fB\-\-compress\-codec\fR] [\fB\-\-compress\-level\fR] [\fB\-\-assume\-in\fR] [\fB\-\-expect\-in\fR] [\fB\-\-patch\-header\fR] [\fB\-\-patch\-basis\fR] [\fB\-\-patch\-input\-check\fR] [\fB\-\-patch\-output\-check\fR] [\fB\-\-default\-patch\-basis\fR] [\fB\-\-output\-header\fR] [\fB\-\-repair\-checksum\fR] [\fB\-\-n64\-byte\-order\fR] [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-\-expect\-out\fR] [\fB\-\-code\fR] [\fB\-\-code\-system\fR] [\fB\-\-code\-kind\fR] [\fB\-\-cheat\fR] [\fB\-\-cheat\-database\fR] [\fB\-\-cheat\-system\fR] [\fB\-\-game\fR] [\fB\-\-allow\-cheat\-conflicts\fR] [\fB\-\-emit\-bundle\fR] [\fB\-\-tui\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-\-force\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fB\-i\fR|\fB\-\-input\fR>
8
8
  .SH DESCRIPTION
9
9
  Apply one or more patches to a ROM, in order.
10
10
  .PP
@@ -38,9 +38,6 @@ cannot be combined with other patches or with the header and checksum options.
38
38
  \fB\-\-force\fR
39
39
  Overwrite the output if it already exists (without this, the command stops instead)
40
40
  .TP
41
- \fB\-n\fR, \fB\-\-dry\-run\fR
42
- Print the plan (inputs, patches, output, format, codec, level, threads) and stop without writing
43
- .TP
44
41
  \fB\-h\fR, \fB\-\-help\fR
45
42
  Print help (see a summary with \*(Aq\-h\*(Aq)
46
43
  .SH BASIC
@@ -56,7 +53,7 @@ Leave it out and rom\-weaver looks for RetroArch\-style patches sitting next to
56
53
  the ROM inside the input archive.
57
54
  .TP
58
55
  \fB\-o\fR, \fB\-\-output\fR \fI<OUTPUT>\fR
59
- Where to write the patched ROM. Optional when a bundle already names the output
56
+ Output path; \- writes one completed binary file to stdout
60
57
  .TP
61
58
  \fB\-\-no\-compress\fR
62
59
  Write a plain ROM instead of compressing the result
@@ -192,6 +189,9 @@ Turn on a bundle patch the bundle leaves off by default, matched by name or file
192
189
  .TP
193
190
  \fB\-\-without\fR \fI<GLOB>\fR
194
191
  Turn off a bundle patch, matched by name or file name (repeatable)
192
+ .TP
193
+ \fB\-\-without\-cheats\fR
194
+ Ignore every cheat the bundle records and run only its patch chain
195
195
  .SH COMPATIBILITY
196
196
  .TP
197
197
  \fB\-\-assume\-in\fR \fI<ALGO=HEX>\fR
@@ -253,7 +253,7 @@ auto
253
253
  Which ROM the preceding \-\-patch was built against, and so which one its
254
254
  checksums describe.
255
255
 
256
- auto Work it out from the checksums (the default).
256
+ auto Clear the shared rule and work it out from the checksums.
257
257
  base The original ROM. It is verified once up front, and the patch\*(Aqs own
258
258
  checks are skipped when it runs later in the chain.
259
259
  previous The output of the patch before it.
@@ -261,9 +261,27 @@ checksums describe.
261
261
  Reach for this when several patches in a chain were each written against the
262
262
  unmodified ROM rather than against each other.
263
263
 
264
- This flag must follow the \-\-patch it describes; it binds to the most recent
265
- \-\-patch and carries forward until the next occurrence. An occurrence before any
266
- \-\-patch applies to every patch.
264
+ This flag must follow the \-\-patch it describes and applies only to that patch.
265
+ Use \-\-default\-patch\-basis to set one rule for every patch.
266
+ .br
267
+
268
+ .br
269
+ \fIPossible values:\fR
270
+ .RS 14
271
+ .IP \(bu 2
272
+ auto
273
+ .IP \(bu 2
274
+ base
275
+ .IP \(bu 2
276
+ previous
277
+ .RE
278
+ .TP
279
+ \fB\-\-default\-patch\-basis\fR \fI<DEFAULT_PATCH_BASIS>\fR
280
+ Set one input ROM rule for every patch. An individual \-\-patch\-basis can override it.
281
+
282
+ base Every patch was made from the original ROM.
283
+ previous Each later patch was made from the previous result.
284
+ auto Infer the input ROM from checksums (the default).
267
285
  .br
268
286
 
269
287
  .br
@@ -345,6 +363,12 @@ byte\-swapped
345
363
  Apply the patch even when its own checksums do not match. Can produce a broken ROM
346
364
  .SH DIAGNOSTICS/AUTHORING
347
365
  .TP
366
+ \fB\-\-patch\-input\-check\fR \fI<ALGO=HEX>\fR
367
+ Expected input checks for the preceding patch (repeatable, comma\-separable)
368
+ .TP
369
+ \fB\-\-patch\-output\-check\fR \fI<ALGO=HEX>\fR
370
+ Expected output checks for the preceding patch (repeatable, comma\-separable)
371
+ .TP
348
372
  \fB\-\-expect\-out\fR \fI<ALGO=HEX>\fR
349
373
  Fail unless the patched ROM has this checksum, as in sha1=abc... (repeatable, comma\-separable)
350
374
  .TP
@@ -352,7 +376,7 @@ Fail unless the patched ROM has this checksum, as in sha1=abc... (repeatable, co
352
376
  Game Genie or GameShark/Pro Action Replay code to bake into the ROM. Repeat for each code
353
377
  .TP
354
378
  \fB\-\-code\-system\fR \fI<CODE_SYSTEM>\fR
355
- Console the \-\-code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say
379
+ Console the \-\-code values are for (nes, snes, genesis, 32x, sms, gamegear, sg1000, gameboy, gba, psx), when the ROM header does not say
356
380
  .TP
357
381
  \fB\-\-code\-kind\fR \fI<CODE_KIND>\fR [default: auto]
358
382
  Which cheat scheme the \-\-code values use: auto, game\-genie, gameshark/par, or xploder
@@ -362,23 +386,45 @@ Also write a rom\-weaver\-bundle.json recording this run, so someone else can re
362
386
  .TP
363
387
  \fB\-\-tui\fR
364
388
  Ask for each patch\*(Aqs name, version, and author, then apply and write a bundle. Needs a terminal
389
+ .SH CHEATS
390
+ .TP
391
+ \fB\-\-cheat\fR \fI<ID_OR_DESCRIPTION>\fR
392
+ Database cheat to use, by record ID or exact description. Repeat for each cheat
393
+ .TP
394
+ \fB\-\-cheat\-database\fR \fI<DIR>\fR
395
+ Directory holding manifest.json and the <system>.json cheat shards. Defaults to $ROM_WEAVER_CHEAT_DATABASE, then the per\-user data directory
396
+ .TP
397
+ \fB\-\-cheat\-system\fR \fI<SYS>\fR
398
+ Console the cheat shard is for (nes, snes, genesis, gameboy, gameboy\-color, gba), when the ROM header does not say
399
+ .TP
400
+ \fB\-\-game\fR \fI<ID>\fR
401
+ Use this database game ID instead of matching the ROM by checksum or title
402
+ .TP
403
+ \fB\-\-allow\-cheat\-conflicts\fR
404
+ Let a later cheat overwrite an earlier one at the same offset instead of failing
365
405
  .SH PERFORMANCE
366
406
  .TP
367
407
  \fB\-j\fR, \fB\-\-threads\fR \fI<auto|N>\fR [default: auto]
368
408
  How many threads to use at most. auto uses every core; a format may still use fewer
369
409
  .SH "GLOBAL OPTIONS"
370
410
  .TP
411
+ \fB\-n\fR, \fB\-\-dry\-run\fR
412
+ Plan the command without changing files or downloading data
413
+ .TP
371
414
  \fB\-\-json\fR
372
- Print one JSON object per line instead of human\-readable output
415
+ Print one complete JSON report; progress and diagnostics use stderr
416
+ .TP
417
+ \fB\-\-jsonl\fR
418
+ Stream JSON events, including progress, one object per line
373
419
  .TP
374
420
  \fB\-\-progress\fR
375
- Show progress even when output is piped to a file or another program
421
+ Show progress on stderr (off by default; JSONL includes progress)
376
422
  .TP
377
423
  \fB\-\-no\-progress\fR
378
424
  Hide progress
379
425
  .TP
380
426
  \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
381
- How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
427
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: warn]
382
428
  .br
383
429
 
384
430
  .br
@@ -399,10 +445,13 @@ trace
399
445
  .RE
400
446
  .TP
401
447
  \fB\-v\fR, \fB\-\-verbose\fR
402
- Log more: \-v for info, \-vv for debug, \-vvv for trace
448
+ Show user diagnostics on stderr; repeat for developer detail (\-vv debug, \-vvv trace)
449
+ .TP
450
+ \fB\-\-debug\fR
451
+ Show developer diagnostics and trace events on stderr (same as \-vvv)
403
452
  .TP
404
453
  \fB\-q\fR, \fB\-\-quiet\fR
405
- Log errors only
454
+ Hide optional diagnostics and progress; keep results, warnings, and errors
406
455
  .TP
407
456
  \fB\-\-dep\-trace\fR
408
457
  Also log trace output from bundled libraries (for bug reports)
@@ -4,7 +4,7 @@
4
4
  .SH NAME
5
5
  rom\-weaver\-patch\-create \- Build a patch from an original ROM and a changed one
6
6
  .SH SYNOPSIS
7
- \fBrom\-weaver patch create\fR [\fB\-\-json\fR] [\fB\-\-modified\fR] [\fB\-\-progress\fR] [\fB\-f\fR|\fB\-\-format\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-o\fR|\fB\-\-output\fR] [\fB\-\-plan\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-checksum\-name\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-assume\-in\fR] [\fB\-\-color\fR] [\fB\-\-code\fR] [\fB\-\-no\-color\fR] [\fB\-\-code\-system\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-\-code\-kind\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-\-solid\-system\fR] [\fB\-\-solid\-game\fR] [\fB\-\-solid\-hack\fR] [\fB\-\-solid\-version\fR] [\fB\-\-solid\-author\fR] [\fB\-\-solid\-contact\fR] [\fB\-\-solid\-comment\fR] [\fB\-\-solid\-extended\fR] [\fB\-\-xdelta\-secondary\fR] [\fB\-\-force\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fB\-\-original\fR>
7
+ \fBrom\-weaver patch create\fR [\fB\-n\fR|\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-\-modified\fR] [\fB\-f\fR|\fB\-\-format\fR] [\fB\-\-jsonl\fR] [\fB\-o\fR|\fB\-\-output\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-plan\fR] [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-\-log\-level\fR] [\fB\-\-checksum\-name\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-assume\-in\fR] [\fB\-\-debug\fR] [\fB\-\-code\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-code\-system\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-code\-kind\fR] [\fB\-\-color\fR] [\fB\-\-cheat\fR] [\fB\-\-no\-color\fR] [\fB\-\-cheat\-database\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-\-cheat\-system\fR] [\fB\-\-game\fR] [\fB\-\-allow\-cheat\-conflicts\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-\-solid\-system\fR] [\fB\-\-solid\-game\fR] [\fB\-\-solid\-hack\fR] [\fB\-\-solid\-version\fR] [\fB\-\-solid\-author\fR] [\fB\-\-solid\-contact\fR] [\fB\-\-solid\-comment\fR] [\fB\-\-solid\-extended\fR] [\fB\-\-xdelta\-secondary\fR] [\fB\-\-force\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fB\-\-original\fR>
8
8
  .SH DESCRIPTION
9
9
  Build a patch from an original ROM and a changed one, so you can share the
10
10
  change without sharing the ROM.
@@ -34,7 +34,7 @@ Common alternate spellings are accepted, so `xdelta3` works as well as `xdelta`
34
34
  and `bsdiff` as well as `bdf`. The CLI guide lists every alias.
35
35
  .TP
36
36
  \fB\-o\fR, \fB\-\-output\fR \fI<PATH>\fR
37
- Where to write the patch. Required unless \-\-plan is used
37
+ Output path; \- writes one completed binary file to stdout
38
38
  .TP
39
39
  \fB\-\-plan\fR
40
40
  Only report which formats suit these two ROMs; write nothing
@@ -56,7 +56,7 @@ Take the original ROM\*(Aqs checksum on trust rather than reading the file, as i
56
56
  Build the patch from a Game Genie or GameShark/Pro Action Replay code instead of a second ROM. Repeat for each code; cannot be used with \-\-modified
57
57
  .TP
58
58
  \fB\-\-code\-system\fR \fI<CODE_SYSTEM>\fR
59
- Console the \-\-code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say
59
+ Console the \-\-code values are for (nes, snes, genesis, 32x, sms, gamegear, sg1000, gameboy, gba, psx), when the ROM header does not say
60
60
  .TP
61
61
  \fB\-\-code\-kind\fR \fI<CODE_KIND>\fR [default: auto]
62
62
  Which cheat scheme the \-\-code values use: auto, game\-genie, gameshark/par, or xploder
@@ -121,19 +121,41 @@ Overwrite the output if it already exists (without this, the command stops inste
121
121
  .TP
122
122
  \fB\-h\fR, \fB\-\-help\fR
123
123
  Print help (see a summary with \*(Aq\-h\*(Aq)
124
+ .SH CHEATS
125
+ .TP
126
+ \fB\-\-cheat\fR \fI<ID_OR_DESCRIPTION>\fR
127
+ Database cheat to use, by record ID or exact description. Repeat for each cheat
128
+ .TP
129
+ \fB\-\-cheat\-database\fR \fI<DIR>\fR
130
+ Directory holding manifest.json and the <system>.json cheat shards. Defaults to $ROM_WEAVER_CHEAT_DATABASE, then the per\-user data directory
131
+ .TP
132
+ \fB\-\-cheat\-system\fR \fI<SYS>\fR
133
+ Console the cheat shard is for (nes, snes, genesis, gameboy, gameboy\-color, gba), when the ROM header does not say
134
+ .TP
135
+ \fB\-\-game\fR \fI<ID>\fR
136
+ Use this database game ID instead of matching the ROM by checksum or title
137
+ .TP
138
+ \fB\-\-allow\-cheat\-conflicts\fR
139
+ Let a later cheat overwrite an earlier one at the same offset instead of failing
124
140
  .SH "GLOBAL OPTIONS"
125
141
  .TP
142
+ \fB\-n\fR, \fB\-\-dry\-run\fR
143
+ Plan the command without changing files or downloading data
144
+ .TP
126
145
  \fB\-\-json\fR
127
- Print one JSON object per line instead of human\-readable output
146
+ Print one complete JSON report; progress and diagnostics use stderr
147
+ .TP
148
+ \fB\-\-jsonl\fR
149
+ Stream JSON events, including progress, one object per line
128
150
  .TP
129
151
  \fB\-\-progress\fR
130
- Show progress even when output is piped to a file or another program
152
+ Show progress on stderr (off by default; JSONL includes progress)
131
153
  .TP
132
154
  \fB\-\-no\-progress\fR
133
155
  Hide progress
134
156
  .TP
135
157
  \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
136
- How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
158
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: warn]
137
159
  .br
138
160
 
139
161
  .br
@@ -154,10 +176,13 @@ trace
154
176
  .RE
155
177
  .TP
156
178
  \fB\-v\fR, \fB\-\-verbose\fR
157
- Log more: \-v for info, \-vv for debug, \-vvv for trace
179
+ Show user diagnostics on stderr; repeat for developer detail (\-vv debug, \-vvv trace)
180
+ .TP
181
+ \fB\-\-debug\fR
182
+ Show developer diagnostics and trace events on stderr (same as \-vvv)
158
183
  .TP
159
184
  \fB\-q\fR, \fB\-\-quiet\fR
160
- Log errors only
185
+ Hide optional diagnostics and progress; keep results, warnings, and errors
161
186
  .TP
162
187
  \fB\-\-dep\-trace\fR
163
188
  Also log trace output from bundled libraries (for bug reports)
@@ -4,7 +4,7 @@
4
4
  .SH NAME
5
5
  rom\-weaver\-patch\-validate \- Check that patches would apply cleanly, without writing anything
6
6
  .SH SYNOPSIS
7
- \fBrom\-weaver patch validate\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-extract\fR] [\fB\-\-no\-ignore\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-patch\-select\fR] [\fB\-\-assume\-in\fR] [\fB\-\-color\fR] [\fB\-\-expect\-in\fR] [\fB\-\-no\-color\fR] [\fB\-\-strip\-header\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-\-n64\-byte\-order\fR] [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-\-independent\fR] [\fB\-\-plan\fR] [\fB\-\-patch\-basis\fR] [\fB\-\-patch\-input\-check\fR] [\fB\-\-patch\-output\-check\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fB\-i\fR|\fB\-\-input\fR> <\fB\-\-patch\fR>
7
+ \fBrom\-weaver patch validate\fR [\fB\-n\fR|\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-jsonl\fR] [\fB\-\-no\-extract\fR] [\fB\-\-progress\fR] [\fB\-\-no\-ignore\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-\-patch\-select\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-assume\-in\fR] [\fB\-\-debug\fR] [\fB\-\-expect\-in\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-strip\-header\fR] [\fB\-\-color\fR] [\fB\-\-n64\-byte\-order\fR] [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-\-no\-color\fR] [\fB\-\-independent\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-\-plan\fR] [\fB\-\-patch\-basis\fR] [\fB\-\-default\-patch\-basis\fR] [\fB\-\-patch\-input\-check\fR] [\fB\-\-patch\-output\-check\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fB\-i\fR|\fB\-\-input\fR> <\fB\-\-patch\fR>
8
8
  .SH DESCRIPTION
9
9
  Check that patches would apply cleanly to a ROM, without writing anything.
10
10
  .PP
@@ -88,7 +88,26 @@ Check every patch against the original ROM rather than as a chain, and report a
88
88
  Report the order the patches would run in and what each would be checked against, without reading the ROM more than needed
89
89
  .TP
90
90
  \fB\-\-patch\-basis\fR \fI<PATCH_BASIS>\fR
91
- Which ROM the preceding \-\-patch was built against: auto, base, or previous [default: auto]
91
+ Override the preceding \-\-patch input rule: auto, base, or previous
92
+ .br
93
+
94
+ .br
95
+ \fIPossible values:\fR
96
+ .RS 14
97
+ .IP \(bu 2
98
+ auto
99
+ .IP \(bu 2
100
+ base
101
+ .IP \(bu 2
102
+ previous
103
+ .RE
104
+ .TP
105
+ \fB\-\-default\-patch\-basis\fR \fI<DEFAULT_PATCH_BASIS>\fR
106
+ Set one input ROM rule for every patch. An individual \-\-patch\-basis can override it.
107
+
108
+ base Every patch was made from the original ROM.
109
+ previous Each later patch was made from the previous result.
110
+ auto Infer the input ROM from checksums (the default).
92
111
  .br
93
112
 
94
113
  .br
@@ -119,17 +138,23 @@ Print help (see a summary with \*(Aq\-h\*(Aq)
119
138
  Pick which file to use inside the \-\-patch archive before it. Repeatable, one per \-\-patch; falls back to \-\-select
120
139
  .SH "GLOBAL OPTIONS"
121
140
  .TP
141
+ \fB\-n\fR, \fB\-\-dry\-run\fR
142
+ Plan the command without changing files or downloading data
143
+ .TP
122
144
  \fB\-\-json\fR
123
- Print one JSON object per line instead of human\-readable output
145
+ Print one complete JSON report; progress and diagnostics use stderr
146
+ .TP
147
+ \fB\-\-jsonl\fR
148
+ Stream JSON events, including progress, one object per line
124
149
  .TP
125
150
  \fB\-\-progress\fR
126
- Show progress even when output is piped to a file or another program
151
+ Show progress on stderr (off by default; JSONL includes progress)
127
152
  .TP
128
153
  \fB\-\-no\-progress\fR
129
154
  Hide progress
130
155
  .TP
131
156
  \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
132
- How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
157
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: warn]
133
158
  .br
134
159
 
135
160
  .br
@@ -150,10 +175,13 @@ trace
150
175
  .RE
151
176
  .TP
152
177
  \fB\-v\fR, \fB\-\-verbose\fR
153
- Log more: \-v for info, \-vv for debug, \-vvv for trace
178
+ Show user diagnostics on stderr; repeat for developer detail (\-vv debug, \-vvv trace)
179
+ .TP
180
+ \fB\-\-debug\fR
181
+ Show developer diagnostics and trace events on stderr (same as \-vvv)
154
182
  .TP
155
183
  \fB\-q\fR, \fB\-\-quiet\fR
156
- Log errors only
184
+ Hide optional diagnostics and progress; keep results, warnings, and errors
157
185
  .TP
158
186
  \fB\-\-dep\-trace\fR
159
187
  Also log trace output from bundled libraries (for bug reports)
@@ -4,7 +4,7 @@
4
4
  .SH NAME
5
5
  rom\-weaver\-patch \- Apply, create, or check ROM patches
6
6
  .SH SYNOPSIS
7
- \fBrom\-weaver patch\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
7
+ \fBrom\-weaver patch\fR [\fB\-n\fR|\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-\-jsonl\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-debug\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
8
8
  .SH DESCRIPTION
9
9
  Apply, create, or check ROM patches
10
10
  .SH OPTIONS
@@ -13,17 +13,23 @@ Apply, create, or check ROM patches
13
13
  Print help
14
14
  .SH "GLOBAL OPTIONS"
15
15
  .TP
16
+ \fB\-n\fR, \fB\-\-dry\-run\fR
17
+ Plan the command without changing files or downloading data
18
+ .TP
16
19
  \fB\-\-json\fR
17
- Print one JSON object per line instead of human\-readable output
20
+ Print one complete JSON report; progress and diagnostics use stderr
21
+ .TP
22
+ \fB\-\-jsonl\fR
23
+ Stream JSON events, including progress, one object per line
18
24
  .TP
19
25
  \fB\-\-progress\fR
20
- Show progress even when output is piped to a file or another program
26
+ Show progress on stderr (off by default; JSONL includes progress)
21
27
  .TP
22
28
  \fB\-\-no\-progress\fR
23
29
  Hide progress
24
30
  .TP
25
31
  \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
26
- How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
32
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: warn]
27
33
  .br
28
34
 
29
35
  .br
@@ -44,10 +50,13 @@ trace
44
50
  .RE
45
51
  .TP
46
52
  \fB\-v\fR, \fB\-\-verbose\fR
47
- Log more: \-v for info, \-vv for debug, \-vvv for trace
53
+ Show user diagnostics on stderr; repeat for developer detail (\-vv debug, \-vvv trace)
54
+ .TP
55
+ \fB\-\-debug\fR
56
+ Show developer diagnostics and trace events on stderr (same as \-vvv)
48
57
  .TP
49
58
  \fB\-q\fR, \fB\-\-quiet\fR
50
- Log errors only
59
+ Hide optional diagnostics and progress; keep results, warnings, and errors
51
60
  .TP
52
61
  \fB\-\-dep\-trace\fR
53
62
  Also log trace output from bundled libraries (for bug reports)
@@ -4,7 +4,7 @@
4
4
  .SH NAME
5
5
  rom\-weaver\-probe \- Identify a file: its format, its platform, and any header it carries
6
6
  .SH SYNOPSIS
7
- \fBrom\-weaver probe\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-extract\fR] [\fB\-\-no\-ignore\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fB\-i\fR|\fB\-\-input\fR>
7
+ \fBrom\-weaver probe\fR [\fB\-i\fR|\fB\-\-input\fR] [\fB\-n\fR|\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-jsonl\fR] [\fB\-\-no\-extract\fR] [\fB\-\-progress\fR] [\fB\-\-no\-ignore\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-debug\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fIFILE\fR]
8
8
  .SH DESCRIPTION
9
9
  Identify a file. Reports what format it is, which console it is for, whether it
10
10
  carries a copier header, and what is inside it if it is an archive.
@@ -45,19 +45,28 @@ Also consider files normally skipped inside archives: readmes, images, checksum
45
45
  .TP
46
46
  \fB\-h\fR, \fB\-\-help\fR
47
47
  Print help (see a summary with \*(Aq\-h\*(Aq)
48
+ .TP
49
+ [\fIFILE\fR]
50
+ File input; an alternative to \-i, \-\-input
48
51
  .SH "GLOBAL OPTIONS"
49
52
  .TP
53
+ \fB\-n\fR, \fB\-\-dry\-run\fR
54
+ Plan the command without changing files or downloading data
55
+ .TP
50
56
  \fB\-\-json\fR
51
- Print one JSON object per line instead of human\-readable output
57
+ Print one complete JSON report; progress and diagnostics use stderr
58
+ .TP
59
+ \fB\-\-jsonl\fR
60
+ Stream JSON events, including progress, one object per line
52
61
  .TP
53
62
  \fB\-\-progress\fR
54
- Show progress even when output is piped to a file or another program
63
+ Show progress on stderr (off by default; JSONL includes progress)
55
64
  .TP
56
65
  \fB\-\-no\-progress\fR
57
66
  Hide progress
58
67
  .TP
59
68
  \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
60
- How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
69
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: warn]
61
70
  .br
62
71
 
63
72
  .br
@@ -78,10 +87,13 @@ trace
78
87
  .RE
79
88
  .TP
80
89
  \fB\-v\fR, \fB\-\-verbose\fR
81
- Log more: \-v for info, \-vv for debug, \-vvv for trace
90
+ Show user diagnostics on stderr; repeat for developer detail (\-vv debug, \-vvv trace)
91
+ .TP
92
+ \fB\-\-debug\fR
93
+ Show developer diagnostics and trace events on stderr (same as \-vvv)
82
94
  .TP
83
95
  \fB\-q\fR, \fB\-\-quiet\fR
84
- Log errors only
96
+ Hide optional diagnostics and progress; keep results, warnings, and errors
85
97
  .TP
86
98
  \fB\-\-dep\-trace\fR
87
99
  Also log trace output from bundled libraries (for bug reports)
@@ -0,0 +1,80 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH rom-weaver-save-export-schema 1 "rom-weaver-save-export-schema "
4
+ .SH NAME
5
+ rom\-weaver\-save\-export\-schema \- Print the generic field schema for a supported game save
6
+ .SH SYNOPSIS
7
+ \fBrom\-weaver save export\-schema\fR [\fB\-\-game\fR] [\fB\-n\fR|\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-\-rom\-sha1\fR] [\fB\-\-jsonl\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-debug\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-y\fR|\fB\-\-yes\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fISAVE\fR]
8
+ .SH DESCRIPTION
9
+ Print the generic field schema for a supported game save
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-game\fR \fI<GAME_ID>\fR
13
+ Force a game id instead of detecting one
14
+ .TP
15
+ \fB\-\-rom\-sha1\fR \fI<SHA1>\fR
16
+ SHA\-1 of the matching ROM, used to pick a game
17
+ .TP
18
+ \fB\-h\fR, \fB\-\-help\fR
19
+ Print help
20
+ .TP
21
+ [\fISAVE\fR]
22
+ Save file to read. Omit it and pass \-\-game instead
23
+ .SH "GLOBAL OPTIONS"
24
+ .TP
25
+ \fB\-n\fR, \fB\-\-dry\-run\fR
26
+ Plan the command without changing files or downloading data
27
+ .TP
28
+ \fB\-\-json\fR
29
+ Print one complete JSON report; progress and diagnostics use stderr
30
+ .TP
31
+ \fB\-\-jsonl\fR
32
+ Stream JSON events, including progress, one object per line
33
+ .TP
34
+ \fB\-\-progress\fR
35
+ Show progress on stderr (off by default; JSONL includes progress)
36
+ .TP
37
+ \fB\-\-no\-progress\fR
38
+ Hide progress
39
+ .TP
40
+ \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
41
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: warn]
42
+ .br
43
+
44
+ .br
45
+ \fIPossible values:\fR
46
+ .RS 14
47
+ .IP \(bu 2
48
+ off
49
+ .IP \(bu 2
50
+ error
51
+ .IP \(bu 2
52
+ warn
53
+ .IP \(bu 2
54
+ info
55
+ .IP \(bu 2
56
+ debug
57
+ .IP \(bu 2
58
+ trace
59
+ .RE
60
+ .TP
61
+ \fB\-v\fR, \fB\-\-verbose\fR
62
+ Show user diagnostics on stderr; repeat for developer detail (\-vv debug, \-vvv trace)
63
+ .TP
64
+ \fB\-\-debug\fR
65
+ Show developer diagnostics and trace events on stderr (same as \-vvv)
66
+ .TP
67
+ \fB\-q\fR, \fB\-\-quiet\fR
68
+ Hide optional diagnostics and progress; keep results, warnings, and errors
69
+ .TP
70
+ \fB\-\-dep\-trace\fR
71
+ Also log trace output from bundled libraries (for bug reports)
72
+ .TP
73
+ \fB\-\-color\fR
74
+ Keep colors even when output is piped
75
+ .TP
76
+ \fB\-\-no\-color\fR
77
+ Turn colors off
78
+ .TP
79
+ \fB\-y\fR, \fB\-\-yes\fR
80
+ Answer yes to every confirmation instead of asking. Does not choose between candidates