What it is#
Seneca is a toolkit for writing microservices and organising the business logic of an application. The founding idea is that everything is a message, and messages are matched by pattern: you write the things that happen, and Seneca routes each message to the code that handles it. The data model and the dependency graph stop being the first thing you design.
Two consequences follow from that one decision. Transport independence: a message can be handled in-process today and over HTTP, a queue or a mesh tomorrow, without the caller changing. And a plugin system: a plugin is a set of message patterns, so a service is assembled from plugins rather than wired by hand.
Richard Rodger started it in 2010, before he wrote The Tao of Microservices or founded Voxgig. It has around 4,000 stars on GitHub, and the senecajs organisation holds nearly 250 repositories of plugins, stores and transports.
It is still the origin of how Voxgig builds systems. Its pattern matcher, patrun, sits under the Voxgig system runtime, and the system scaffold in the voxgig organisation generates a Seneca backend.
Install: npm install seneca
In the voxgig organisation#
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 |
|---|---|---|---|
| create-system | Scaffolds a Seneca microservices backend with a model-driven entity layer: npm create @voxgig/system. | @voxgig/create-system | |
| 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/system |
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.
- jostracaA code generator you can run twice.
- tabnasAn extensible parsing engine, and a compile target for agents.
- 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.