Documentation
¶
Overview ¶
Command stepschema writes a JSON Schema for every step's `with:` block, so a form can be generated from the same struct the step validates against.
**Generated, not hand-written** (#114). Every step already has a Go config struct with json tags, and CheckConfig already decodes strictly into it. A schema written beside that struct would be a second description of one thing, free to disagree — and it would disagree silently, because nothing fails when a form offers a field the step does not read.
**Generated at build time, not served from reflection.** The field descriptions are the Go doc comments, and reading those needs the source, which a container does not have. Committing the output also means the existing "Generated files are current" check catches a struct that changed without the schema following — the same bargain the CRDs already make.