contracts when one repository publishes the database shape another repository consumes.
The local commands export and diff JSON contracts without a hosted service. Push and pull use a hosted contract registry only when an operator deployment exists.
Run it
Subcommands
Build a JSON schema contract from
--from, defaulting to the configured schema
tree.Compare
--from <file> with --to <source>, defaulting --to to the
configured schema tree.Export
--from and store the contract in the hosted registry at
/contracts?repo=&name=.Retrieve a stored contract from the hosted registry.
Flags
Schema source used by
export and push.Candidate source used by
diff. Defaults to the configured schema tree.Output destination for
export and pull. Defaults to stdout.Base URL for the hosted contract registry.
Repository identity bound to the license token.
Contract name in the registry. Defaults to
main.Environment variable containing the repo-bound license token. Defaults to
SUPASCHEMA_LICENSE.Boundaries
The registry stores schema metadata only after an authenticated client submits it. It does not receive database URLs, migrations, table rows, or live database credentials through the normal routes. Do not pass license tokens in argv. Put the token in the environment variable named by--license-env.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Contract command completed. |
| 2 | diff found error-severity drift diagnostics. |

