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.

10 guides in 5 topics. Every guide compares its approaches and shows the output its commands printed.

Unify configuration with a spec language 3 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.

Layer configuration across environments 1 guide

Configuration as data: Kustomize overlays, Helm values, YAML anchors, Jsonnet, Dhall, Pkl, KCL and CUE for environment layering; validating manifests in CI, removing duplication, migrating between languages, keeping secrets out of config, and when a unification language earns its keep.

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, 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 3 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.