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

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

## Facts

- Site: https://senecajs.org
- Source: https://github.com/senecajs
- npm: seneca
- Install: `npm install seneca`
- Languages: JavaScript, TypeScript
- Licence: MIT

## In the voxgig organisation

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

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

## 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.
- [Voxgig tools](https://voxgig.com/open-source/tools): The libraries inside every generated SDK, ported to every language the SDKs ship in.
