All 17 sections

How-to › Section 16

Model, configure and generate#

Spec languages for configuration, environment overlays, application models that generate artifacts, project generators, and templates that produce deterministic code.

7 guides in 4 topics. Every guide compares its approaches and shows the output its commands printed.

Unify configuration with a spec language 2 guides

Configuration as a lattice: aontu (unification, types, defaults such as *8080 | integer, references, conjunction and disjunction, reading a contradiction error, the verbs vet, get, why, set, subsume, breaking, trim, relations, hash, mod, reaches, jsonschema; the LSP and the stdio MCP server) against CUE, Jsonnet, Dhall, Pkl, KCL and Nickel.

Model an application and generate from it 1 guide

One model for entities, services, messages, fields and environments, then generating artifacts from it: @voxgig/model (unify .aon files into one model.json, actions that generate artifacts, --watch), model-react and model-vue bindings, decision tables with decide, and the early-stage apigen and udk projects.

Generate code and projects 2 guides

Scaffolding and repeatable generation: jostraca (component tree of Project, Folder, File, Content, Fragment, Slot, Inject, Copy; define then build; in-memory generation for tests; byte-identical TypeScript and Go implementations; inks interpolation) against Yeoman, Plop, Hygen, Cookiecutter, Copier, Nx generators, Projen and Rails generators; plus pushing one template change to hundreds of repositories (repo-manager, the gh CLI, the Terraform GitHub provider, Renovate presets).

Engineer templates and AST transforms 2 guides

Deterministic generated code: EJS, Handlebars, Mustache, Jinja and Go templates; AST-based generation with ts-morph, jscodeshift and go/ast; codemods across generated files; formatting after generation; golden-file and snapshot tests of generated output; stable ordering and no timestamps.

All how-to guides

Generate the client instead of writing it#

Retries, timeouts, pagination and auth are the same problems in every client. Voxgig generates them from your OpenAPI description, in 23 languages, from one model.

Listen to Fireside, the Voxgig podcast

Since 2018, Richard Rodger has talked with developer advocates, event organizers, and the people who build developer-facing companies about the specifics of the work.