# Open source at Voxgig

> Voxgig maintains a family of open source projects and builds its own products on them: the SDK generator and the six surfaces it emits, the catalog of 600+ generated SDKs, aontu, jostraca, tabnas, Seneca, and the multi-language tools inside every generated SDK. The generator, its toolchain, the tools and the four named projects are MIT licensed. Each section has a page of its own, and this page lists every repository in the voxgig GitHub organisation that was pushed to in the six months before 2026-09-06.

## The sections

- **SDK Generator** ([page](https://voxgig.com/open-source/sdk-generator)): Six surfaces from one OpenAPI description. The generator reads your OpenAPI description, extracts a type-safe semantic model, and generates an SDK, a CLI, an MCP Server, Agent Skills, a REPL and the Semantic Model from it. This section is the repositories behind it.
  - Site: https://voxgig.com/sdk
  - Source: https://github.com/voxgig/sdkgen
  - npm: @voxgig/sdkgen
  - Install: `npm create @voxgig/sdkgen`
- **SDK Catalog** ([page](https://voxgig.com/open-source/sdk-catalog)): 600+ generated SDKs, as repositories you can read. Every SDK the generator has produced from a public OpenAPI description is a repository in the voxgig-sdk organisation, with a page on this site. It is the generator's test corpus and a library of worked examples.
  - Site: https://voxgig.com/voxgig-sdk
  - Source: https://github.com/voxgig-sdk
- **aontu** ([page](https://voxgig.com/open-source/aontu)): Type-safe system definitions, as guardrails for coding agents. A JSON-superset language for saying what a system is: its entities, their types and the relations between them. Two documents unify into the most specific value that satisfies both, or into an error that names the contradiction.
  - Site: https://aontu.dev
  - Source: https://github.com/aontu-lang/aontu
  - npm: aontu
  - Install: `npm install aontu`
- **jostraca** ([page](https://voxgig.com/open-source/jostraca)): A code generator you can run twice. Declare a file tree with React-style components and jostraca writes it. When a file already exists it can overwrite, preserve, present, diff or three-way merge, so regenerating over an edited tree is safe.
  - Site: https://jostraca.org
  - Source: https://github.com/jostraca/jostraca
  - npm: jostraca
  - Install: `npm install jostraca`
- **tabnas** ([page](https://voxgig.com/open-source/tabnas)): An extensible parsing engine, and a compile target for agents. A grammar compiles to a rule table, a state machine as data, so you extend a language by adding rules instead of forking its parser, and an agent can write the rules. One grammar file drives TypeScript and Go.
  - Site: https://tabnas.dev
  - Source: https://github.com/tabnas
  - npm: @tabnas/parser
  - Install: `npm install @tabnas/parser @tabnas/abnf`
- **Seneca** ([page](https://voxgig.com/open-source/seneca)): A microservices toolkit for Node.js. Everything is a message, matched by pattern, so you write the things that happen instead of a data model and a dependency graph. Started in 2010, around 4,000 stars, and still the origin of how Voxgig builds systems.
  - Site: https://senecajs.org
  - Source: https://github.com/senecajs
  - npm: seneca
  - Install: `npm install seneca`
- **Voxgig tools** ([page](https://voxgig.com/open-source/tools)): The libraries inside every generated SDK, ported to every language the SDKs ship in. struct, plugin, sekreto, omni and util: one canonical TypeScript implementation each, a port per language, and a shared test corpus that keeps the ports in agreement. Small on their own, and the reason the SDKs behave the same everywhere.
  - Source: https://github.com/voxgig

## How they fit together

The generator is built from the rest. apidef reads an OpenAPI description and extracts the semantic model. The model, and every decision a project makes about itself, is an aontu document, so a contradiction is an error at generation time. jostraca writes the files, which is why regenerating over an edited tree gives a three-way merge rather than a clobbered file. tabnas parses everything the toolchain reads: JSON, YAML, TOML and jsonic, the lenient JSON dialect it grew out of. The Voxgig tools, struct, plugin, sekreto, omni and util, are the libraries inside every generated SDK, one canonical TypeScript implementation and a port per language, held in agreement by a shared test corpus. Seneca is the oldest, from 2010, and its pattern matcher, patrun, still sits under the Voxgig system runtime.

## Active repositories in github.com/voxgig

Checked 2026-09-06. 21 of 39 repositories were pushed to since 2026-03-06, collected by section, newest first within each. The rest are still on GitHub at https://github.com/voxgig; some are finished, some are parked.

### SDK Generator ([page](https://voxgig.com/open-source/sdk-generator))

- [sdkgen](https://github.com/voxgig/sdkgen), pushed 2026-09-06, npm @voxgig/sdkgen: The generator itself: SDK, CLI, MCP Server, Agent Skills, REPL and Semantic Model from one OpenAPI description.
- [apidef](https://github.com/voxgig/apidef), pushed 2026-09-05, npm @voxgig/apidef: Reads an OpenAPI 3 or Swagger 2 description and produces the API model, entities, operations, fields and flows, that the generator works from.
- [apidef-validate](https://github.com/voxgig/apidef-validate), pushed 2026-09-05: The validation corpus for apidef: real API definitions, the model each is expected to produce, and a harness that diffs a pinned release against them.
- [create-sdkgen](https://github.com/voxgig/create-sdkgen), pushed 2026-09-05, npm @voxgig/create-sdkgen: Scaffolds a generator project from your OpenAPI description: npm create @voxgig/sdkgen.
- [station](https://github.com/voxgig/station), pushed 2026-08-28, npm @voxgig/station: One control surface for outbound integrations. Sits between an application and every SDK the generator produced for it.
- [docgen](https://github.com/voxgig/docgen), pushed 2026-08-22, npm @voxgig/docgen: An sdkgen package that generates a documentation site for an API and the SDKs generated from it.
- [station-view](https://github.com/voxgig/station-view), pushed 2026-08-20: Local web viewer for @voxgig/station SDK activity.

### aontu ([page](https://voxgig.com/open-source/aontu))

- [model](https://github.com/voxgig/model), pushed 2026-09-05, npm @voxgig/model: Universal application modelling: describe a system once as a declarative model, then generate code, configuration, documentation and infrastructure from it.

### jostraca ([page](https://voxgig.com/open-source/jostraca))

- [build](https://github.com/voxgig/build), pushed 2026-09-05, npm @voxgig/build: Code generation for Voxgig system projects: reads the compiled model and writes deployment artifacts and application code with jostraca.

### Seneca ([page](https://voxgig.com/open-source/seneca))

- [create-system](https://github.com/voxgig/create-system), pushed 2026-09-05, npm @voxgig/create-system: Scaffolds a Seneca microservices backend with a model-driven entity layer: npm create @voxgig/system.
- [system](https://github.com/voxgig/system), pushed 2026-09-05, npm @voxgig/system: Runtime and tooling for Voxgig system projects: service loading by convention, local and live system assembly, and a CLI that adds entities, services and messages to the model.

### Voxgig tools ([page](https://voxgig.com/open-source/tools))

- [omni](https://github.com/voxgig/omni), pushed 2026-09-05, npm @voxgig/omni: One JSON test spec, run by the same runner in every language a library is ported to. It is how the ports stay in agreement.
- [plugin](https://github.com/voxgig/plugin), pushed 2026-09-05, npm @voxgig/plugin: One plugin architecture, defined once in TypeScript and ported to every language the SDKs ship in.
- [sekreto](https://github.com/voxgig/sekreto), pushed 2026-09-05, npm @voxgig/sekreto: One interface for secrets, wherever they live: environment variables, dotenv files, Vault and the cloud secret managers. Moving from dotenv to a vault is a config change, not a code change.
- [struct](https://github.com/voxgig/struct), pushed 2026-09-05, npm @voxgig/struct: The data manipulation primitive inside every generated SDK: getpath, merge, transform, validate and the rest, ported to each target language against one shared corpus.
- [util](https://github.com/voxgig/util), pushed 2026-09-05, npm @voxgig/util: Small shared utility functions used across Voxgig code, in TypeScript and Go.

### Other repositories

- [repo-manager](https://github.com/voxgig/repo-manager), pushed 2026-09-03: Multi-forge repository management: cross-repo work-item inbox and fleet policy engine.
- [conf-agenda](https://github.com/voxgig/conf-agenda), pushed 2026-08-31: Conference agenda platform: keyboard-first SaaS, ejectable embed, multi-calendar speaker invitations.
- [voxgig-ui](https://github.com/voxgig/voxgig-ui), pushed 2026-08-31: Command bar, key-binding registry, shortcut overlay and virtualised keyed list for Voxgig web apps.
- [diagram](https://github.com/voxgig/diagram), pushed 2026-07-21: System architecture diagrams.
- [udk](https://github.com/voxgig/udk), pushed 2026-07-09: Universal Development Kit for APIs.

## Licence and contributions

The generator, every repository in its toolchain, the Voxgig tools, aontu, jostraca, tabnas and Seneca are MIT licensed, so what you build with them is yours. The generated SDKs in the catalog carry the licence stated in each repository. Issues and pull requests are welcome on GitHub; a small pull request with a test is the fastest way to get a change in, and an issue first is the right move when you are not sure a change fits.

The open source is free and stays free. The same people who write it do paid work, taking a generated SDK to production grade, building an MCP server for an API, or standing up a developer relations program: https://voxgig.com/api-experience.

## Where to go next

- [SDK Generator](https://voxgig.com/sdk)
- [SDK Catalog, 600+ worked examples](https://voxgig.com/voxgig-sdk)
- [Developer and agent resources](https://voxgig.com/developers)
- [API Experience](https://voxgig.com/api-experience)
- [Contact](https://voxgig.com/contact)
