Skip to content

Module manifest v1

Every StackRivet module uses one strict module.manifest.json contract. The runtime registry, generator and documentation share the same versioned JSON Schema; unknown fields and invalid permission or route shapes are rejected.

{
"$schema": "https://stackrivet.zkthink.com/schemas/module-manifest-v1.schema.json",
"schemaVersion": 1,
"id": "ticket",
"name": "Ticket",
"version": "1.0.0"
}

Generated modules also declare their permissions, menus, migrations and generation identity. Editors can use $schema for completion and validation. CI should validate every manifest against the schema before packaging it.

schemaVersion is the compatibility boundary. Additive optional fields may be introduced within v1, but a breaking field or semantic change requires a new schema URL and version. Consumers must not silently ignore unknown fields.