Preview a plan
Writes nothingCompare three exports and see what would change.
spoolsync --spoolman spoolman.json --spoolstock spoolstock.csv --spoolio spoolio.json@spoolsync/cli runs the same matching, planning and export code as this site, for terminals, scripts and scheduled jobs.
Requires Node.js 20 or newer.
npm install --global @spoolsync/clipnpm add --global @spoolsync/clibun add --global @spoolsync/clinpx @spoolsync/cli --helpspoolsync --helpExample output
6 spools in 2 inventories; 5 groups, 1 match suggestions. spoolman: 2 updates, 0 creates spoolio: 1 updates, 1 creates1 field conflicts remain unresolved; those values will be left as-is.Dry run only. Add --output-dir <dir> to write inventory files.Without --output-dir or --apply, SpoolSync only prints the plan.
--apply needs --spoolman-url. Exports are only ever written to your output folder.
A conflict you haven't resolved is left as-is and counted in the summary.
Quick start
Export from each app, then point SpoolSync at the files.
Download an export from at least two apps: Spoolman, Spoolstock, Spoolio or TigerTag.
Run spoolsync with a flag per file. You get the updates and creates per service.
Pick a source for any conflicting field with --resolve, and add --create-in for missing spools in writable services.
Add --output-dir for updated import files, or --apply to update Spoolman directly.
Recipes
Hover a command to copy it, then swap in your own file names.
Compare three exports and see what would change.
spoolsync --spoolman spoolman.json --spoolstock spoolstock.csv --spoolio spoolio.jsonUse Spoolstock values to resolve conflicts, add missing spools to Spoolio, and save updated import files.
spoolsync --spoolman spoolman.json --spoolstock spoolstock.csv --spoolio spoolio.json --resolve material=spoolstock --create-in spoolio --output-dir ./updatedLoad Spoolman over the network and write the changes back. Needs --apply.
# only if your server needs a tokenexport SPOOLMAN_TOKEN=your-tokenspoolsync --spoolman-url http://spoolman.local --spoolstock spoolstock.csv --applyPrint the plan as JSON and pipe it into your own tooling.
spoolsync --spoolman spoolman.json --spoolio spoolio.json --json | jq '.changes'Reference
Every flag the CLI accepts.
Provide at least two.
--spoolman <file>--spoolstock <file>--spoolio <file>--tigertag <file>--spoolman-url <url>--spoolman-token <token>Optional: decide conflicts and matches.
--resolve <field=source>--confirm <pair>--reject <pair>--create-in <sources>Nothing is written unless you ask.
--output-dir <dir>--apply--json-h, --helpGood to know
--spoolman-url or --spoolman <file>, not both. Each source can be given once.--create-in and --resolve need the named source loaded.spoolman-spools.json, spoolio.json and tigertag-spoolsync.ttag.