An offline generator of deterministic, synthetic contract examples. It reads a supported field-constraint schema, writes one valid record plus one-case-at-a-time invalid records, and labels each case by the rule it is meant to exercise. It does not read production records, fetch schemas, execute contracts, or call a service.
This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+; inspect the source before using it on your own files.
Run the checked-in example
node examples/run.mjs passing # exit 0, writes only to a disposable temporary directory
node examples/run.mjs failing # exit 1, contradictory schema constraints
npm run checkRead the result
For your own schema: node bin/contract-test-fixture-maker.mjs --root DIR --schema schema.json --seed 7 --out fixtures.json. Paths are relative to the real --root. The output parent must exist. --out may overwrite an unrelated ordinary file, but it cannot be a symlink, leave the root through a symlinked parent, or share an inode with the schema input. Use only schemas/field names you are authorized to process; no source values are accepted.
Where this check stops
Schema bytes ≤65,536; fields ≤20; JSON depth ≤16 (root depth 0); seed 0–4,294,967,295; field name length ≤32; generation deadline 5,000 ms via an injectable clock. Every boundary has an exact-limit and over-limit test. Time and memory spent by Node's built-in JSON.parse are not preemptible; the byte cap keeps that parser input small. This is a small supported-schema generator, not JSON Schema/OpenAPI/Avro support, a fuzzing engine, a validator for arbitrary schemas, a privacy scrubber, or a production-data sampler. It never uses the network.
Before adapting the command to your own workflow, review the accepted inputs, exit codes and safety boundaries in the README.
Compiled with AI assistance from checked-in public documentation and example scripts. Run the example and review the repository's current documentation before relying on its result.