Open source at Voxgig

jostraca

A code generator you can run twice.

What it is#

Most generators are safe to run once. The second run, over a tree somebody has edited, is where they clobber work, and where teams stop regenerating and start hand-maintaining. jostraca is built for the second run.

You declare the output as a tree of components, Project, Folder, File and Content, in ordinary code, with loops and conditionals and no template syntax. A define phase builds the whole tree in memory, and a build phase writes it, so jostraca knows every file before it touches the disk.

When a file already exists, you choose what happens: overwrite it, preserve the existing version beside the new, or present the new version as an alternative for a person to pick. You can also write a diff, or three-way merge against the last generation so local edits survive. A protect marker keeps a region of a file out of the generator's reach entirely.

It is implemented in TypeScript and in Go with byte-identical output. It writes every file the SDK generator emits, which is why regenerating an SDK over a customized tree gives you a merge rather than a surprise.

Install: npm install jostraca

In the voxgig organization#

The repositories in this section pushed to in the 6 months before . The overview lists every active repository, by section.

Repository What it is Package Last push
build Code generation for Voxgig system projects: reads the compiled model and writes deployment artifacts and application code with jostraca. @voxgig/build

The other sections#

  • SDK GeneratorSix surfaces from one OpenAPI description.
  • SDK Catalog600+ generated SDKs, as repositories you can read.
  • aontuType-safe system definitions, as guardrails for coding agents.
  • tabnasAn extensible parsing engine, and a compile target for agents.
  • SenecaA microservices toolkit for Node.js.
  • Voxgig toolsThe libraries inside every generated SDK, ported to every language the SDKs ship in.

Start with the code#

Every repository is public. Read it, fork it, or send a pull request. When a project needs to go further than its README, talk to us.

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.