# Voxgig 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.

## What it is

A generated SDK is mostly generated, and the parts that are not are these libraries. They carry the behaviour every SDK needs whatever its language: looking up and merging nested data, loading plugins, reading secrets, and proving that a port does what the original does.

Each one is written once in TypeScript, as the canonical implementation, and ported to each language the SDKs ship in. The ports are held in agreement by a shared, language-neutral test corpus rather than by discipline: omni runs the same JSON test specification through the same runner in every language, so a port that drifts fails a test instead of a customer.

They are ordinary libraries with their own packages, @voxgig/struct, @voxgig/plugin, @voxgig/sekreto, @voxgig/omni and @voxgig/util on npm, and you can use them without the generator. Each is MIT licensed.

## Facts

- Source: https://github.com/voxgig
- Languages: TypeScript first, a port per SDK language
- Licence: MIT

## In the voxgig organisation

Repositories in this section pushed to in the 6 months before 2026-09-06.

- [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.
- [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.
- [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.
- [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.

## The other sections

- [Open source at Voxgig](https://voxgig.com/open-source): the overview, with every voxgig repository active in the last six months.
- [SDK Generator](https://voxgig.com/open-source/sdk-generator): Six surfaces from one OpenAPI description.
- [SDK Catalog](https://voxgig.com/open-source/sdk-catalog): 600+ generated SDKs, as repositories you can read.
- [aontu](https://voxgig.com/open-source/aontu): Type-safe system definitions, as guardrails for coding agents.
- [jostraca](https://voxgig.com/open-source/jostraca): A code generator you can run twice.
- [tabnas](https://voxgig.com/open-source/tabnas): An extensible parsing engine, and a compile target for agents.
- [Seneca](https://voxgig.com/open-source/seneca): A microservices toolkit for Node.js.
