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+.
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.
Scope
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.