← Back to Docs
Recipe

Data contract definition writer

Generate strict, versioned data contracts from natural-language descriptions of your API payloads, database schemas, or message formats.

Input

A plain-English description of the data shape you need. Include field names, types, constraints, and relationships.

{
  "description": "User profile with email, display name,
  avatar URL, and a list of owned workspace IDs.
  Email must be unique and validated."
}

Output

A versioned contract with field-level types, nullability markers, validation rules, and deprecation notices.

{
  "contract": "UserProfile",
  "version": "1.0.0",
  "fields": [
    { "name": "email", "type": "string",
      "format": "email", "nullable": false },
    { "name": "display_name", "type": "string",
      "maxLength": 128, "nullable": true },
    { "name": "avatar_url", "type": "string",
      "format": "uri", "nullable": true },
    { "name": "workspace_ids", "type": "string[]",
      "nullable": false }
  ]
}

Options

  • --format json-schema | typescript | protobuf | avro
  • --strict enforce non-nullable by default
  • --version semantic version tag for the contract