Multi‑language event‑driven microservices framework with built‑in Zod validation and type‑safe events. Runs anywhere — from embedded devices and routers to clustered servers. Pluggable architecture, secure‑by‑default, production‑ready.
  • TypeScript 69%
  • JavaScript 9.6%
  • Go 6.4%
  • C# 6.1%
  • Python 4.2%
  • Other 4.7%
Find a file
Mitchell R 01d76327ea
Some checks failed
Build / Node.js workspaces (push) Has been cancelled
Build / Python (push) Has been cancelled
Build / Go (push) Has been cancelled
Build / .NET (push) Has been cancelled
CodeQL / Analyze csharp (push) Has been cancelled
CodeQL / Analyze go (push) Has been cancelled
CodeQL / Analyze javascript-typescript (push) Has been cancelled
CodeQL / Analyze python (push) Has been cancelled
Build / Node.js Docker image (push) Has been cancelled
Build / Go Docker image (push) Has been cancelled
Build / Python Docker image (push) Has been cancelled
Build / .NET Docker image (push) Has been cancelled
feat(nodejs): enforce plugin lifecycle guards
2026-07-17 02:15:59 +02:00
.github fix(release): do not block on registry sync 2026-07-01 08:29:23 +02:00
docker fix: add deploy healthchecks 2026-06-23 11:33:29 +02:00
docs feat(nodejs): enforce plugin lifecycle guards 2026-07-17 02:15:59 +02:00
dotnet ci: publish docker images to forgejo first 2026-06-30 15:43:10 +02:00
go ci: publish docker images to forgejo first 2026-06-30 15:43:10 +02:00
nodejs feat(nodejs): enforce plugin lifecycle guards 2026-07-17 02:15:59 +02:00
plugins/nodejs fix(plugins): depend on bsb base at runtime 2026-07-06 18:30:57 +02:00
python ci: publish docker images to forgejo first 2026-06-30 15:43:10 +02:00
rust Added rust base 2022-09-18 01:20:42 +02:00
scripts ci: publish bsb tests package 2026-06-22 21:14:42 +02:00
tests feat: refine vault deployment flows 2026-06-27 21:51:18 +02:00
.coderabbit.yaml fix(deps): remove flagged coverage package 2026-06-20 23:42:21 +02:00
.gitignore feat: refine vault deployment flows 2026-06-27 21:51:18 +02:00
CHANGELOG Add CHANGELOG 2020-09-22 20:18:13 +00:00
CONTRIBUTING.md Add CONTRIBUTING 2020-09-22 20:18:39 +00:00
Dockerfile.types fix: add deploy healthchecks 2026-06-23 11:33:29 +02:00
LICENSE chore: add root LICENSE (AGPL-3.0), remove LICENSE.commercial 2026-05-27 22:34:00 +02:00
llms.txt fix(security): update vulnerable deps 2026-06-14 20:32:52 +02:00
package-lock.json fix: add vault passkey enrollment flow 2026-06-27 16:22:00 +02:00
package.json ci: publish bsb tests package 2026-06-22 21:14:42 +02:00
README.md fix(security): update vulnerable deps 2026-06-14 20:32:52 +02:00
repomix.sh refactor: remove deprecated code and improve documentation 2025-12-03 10:28:30 +02:00
SECURITY.md Create SECURITY.md 2022-04-28 19:29:38 +02:00
version.txt Updated docs 2025-08-08 15:47:52 +02:00

About

BSB (Better-Service-Base) is an event-driven microservices framework for Node.js and TypeScript with built-in cross-language schema validation (AnyVali / BSBType), type-safe events, and a pluggable architecture for config, logging, metrics, and events.
It is production-ready and secure-by-default for validated APIs and distributed services, and can run as a single node or a geo-scaled cluster.
Simplicity, flexibility, and expandability are core design goals.
Node.js is the primary implementation. Go, Python, .NET, and Rust ports are present in this repo and are being aligned toward the same contracts.

Intro 1
#Sales pitch

Source/Github

GitHub GitHub Repo stars GitHub issues GitHub pull requests
GitHub commit activity (branch) GitHub last commit (branch)
GitHub Workflow Status Build and Publish (EA) Build and Publish (RC) FOSSA Status FOSSA Status

Container/Docker

GitHub Docker Image Size Docker Pulls Docker Image Version (latest semver)

NodeJS

GitHub codecov node-current (scoped) npm npm bundle size (scoped) npm (scoped)

- Plugins

NodeJS Plugins Service Plugins Config Plugins Events Plugins Logging Plugins

Sponsors

Static Badge Static Badge

Documentation/Usage

See Getting Started for more details

Workspace Notes

  • Root package-lock.json is single source of truth for workspace installs.
  • Workspace packages must not keep their own package-lock.json.
  • Run installs from repo root only:
    npm install
    npm run ws:check-lockfiles
    
  • docs/ is workspace package and follows @bsb/base version.
  • When bumping BSB version:
    npm run ws:version -- 9.1.11
    npm install
    
  • When only syncing docs version and plugin @bsb/base ranges to current base:
    npm run ws:sync-versions
    npm install
    

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Alternatively, you may obtain a commercial license for this program. The commercial license allows you to use the Program in a closed-source manner, including the right to create derivative works that are not subject to the terms of the AGPL.

To obtain a commercial license, please contact the copyright holders at https://www.bettercorp.dev. The terms and conditions of the commercial license will be provided upon request.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.