The Continuum framework. Write your JavaScript/TypeScript domain once; it runs anywhere: Node, serverless, edge, browser, CLI and AI agents. Build once, deploy anywhere.
Your app exists in every runtime. Until you run it. A universal, cloud-native micro-kernel framework: one codebase for backend and frontend, running on Node, serverless (FaaS), the browser, the CLI, the edge and AI agents.
Stone.js is the reference implementation of the Continuum Architecture: an application is not an artefact but an act, Application = Domain × Context → Resolution. You write your domain once; Stone.js is the context that applies to it at run time.
This repository is the monorepo for the whole framework: every @stone-js/* package lives here and is released together (lockstep) with changesets.
| Dimension | Incarnation | Role |
|---|---|---|
| Setup | Blueprint (@stone-js/config + core BlueprintBuilder) |
A single configuration manifest, built once before any event, by decorator introspection or imperative meta-modules. |
| Integration | Adapters (one package per platform) | Capture raw causes, normalise them into intentions (IncomingEvent), turn responses back into native effects. |
| Initialization | Kernel (@stone-js/core) |
Applies the container (per-event execution context) + the domain to the intention; middleware, hooks, error handlers. |
| Functional | Your code | Handlers and services, no imposed structure. |
| Package | Description |
|---|---|
@stone-js/pipeline |
Chain-of-responsibility pipeline (middleware engine). |
@stone-js/service-container |
Dependency-injection container. |
@stone-js/config |
Blueprint store + zero-dep utils (cloneValue, deepMerge, getPath). |
| Package | Description |
|---|---|
@stone-js/core |
The platform-agnostic micro-kernel. |
| Package | Description |
|---|---|
@stone-js/http-core |
Runtime-agnostic HTTP primitives. |
@stone-js/router |
Universal router (Node + browser), by-path and by-key routing. |
@stone-js/env |
Environment variable access. |
@stone-js/filesystem |
Filesystem abstraction (signed-URL ready). |
@stone-js/browser-core |
Browser HTTP/event primitives. |
@stone-js/config-source |
Agnostic config sources (env/file/http/SSM/secrets) loaded into the blueprint. |
@stone-js/telemetry |
Spans, counters and gauges on an agnostic contract. |
| Package | Description |
|---|---|
@stone-js/node-http-adapter |
Node.js HTTP server. |
@stone-js/node-cli-adapter |
Node.js CLI. |
@stone-js/node-ws-adapter |
Node.js WebSocket server (ws). |
| Package | Description |
|---|---|
@stone-js/aws-lambda-adapter |
Generic AWS Lambda (any trigger). |
@stone-js/aws-lambda-http-adapter |
AWS Lambda HTTP triggers. |
@stone-js/aws-apigw-ws-adapter |
AWS API Gateway WebSockets. |
@stone-js/gcp-cloud-functions-adapter |
Generic Google Cloud Functions. |
@stone-js/gcp-cloud-functions-http-adapter |
Google Cloud Functions HTTP. |
@stone-js/azure-functions-adapter |
Generic Azure Functions. |
@stone-js/azure-functions-http-adapter |
Azure Functions v4 HTTP. |
@stone-js/alibaba-fc-adapter |
Generic Alibaba Cloud Function Compute. |
@stone-js/alibaba-fc-http-adapter |
Alibaba FC HTTP. |
@stone-js/tencent-scf-adapter |
Generic Tencent Cloud SCF. |
@stone-js/tencent-scf-http-adapter |
Tencent SCF HTTP. |
| Package | Description |
|---|---|
@stone-js/edge-adapter |
Any WinterCG/edge runtime (Cloudflare Workers, Deno, Bun). |
@stone-js/fetch-adapter |
Web-standard (WinterCG Fetch) adapter. |
@stone-js/browser-adapter |
Browser SPA. |
| Package | Description |
|---|---|
@stone-js/use-view |
Framework-agnostic view engine layer. |
@stone-js/use-react |
React integration (SSR/SSG/CSR). |
| Package | Description |
|---|---|
@stone-js/validation |
Input validation (Zod / Standard Schema), one schema for API and form. |
@stone-js/auth |
Stateless, edge-native JWT/OAuth authentication. |
@stone-js/authz |
Isomorphic authorization (CASL-based). |
@stone-js/resources |
API resources: shape what the domain returns. |
@stone-js/openapi |
OpenAPI 3.1 derived from your validation schemas. |
@stone-js/realtime |
Channels, presence and broadcast over WebSockets. |
@stone-js/event-bus |
Agnostic cloud event bus (emit + key-routed handling). |
@stone-js/queue |
Agnostic job queue (delay, retries, backoff). |
@stone-js/cache |
Agnostic cache (get/set/ttl/tags/remember). |
@stone-js/cloud-file |
Cloud storage on the filesystem contract, signed URLs. |
@stone-js/mcp-dev |
stone mcp: serve the framework's knowledge + your tools to a coding agent (MCP, stdio). |
@stone-js/testing |
Boot a real app in-memory and dispatch events. |
| Package | Description |
|---|---|
@stone-js/cli |
Build & scaffolding CLI for every project type. |
@stone-js/starters |
Official project templates. |
@stone-js/blog-starters |
Opt-in starter templates for the blog recipes. |
The documentation site (
@stone-js/docs), the website (@stone-js/website) and the integration lab (@stone-js/lab) live here too but are internal (not published to npm).
# Scaffold a new app
npm create @stone-js@latest my-app
cd my-app && npm run devSee stonejs.dev for full documentation.
New here? Read MONOREPO.md, a step-by-step guide to how the monorepo works, what each tool does, and every command you need to pilot it yourself.
pnpm install # install everything, link internal packages
pnpm build # build all packages (pnpm -r, topological)
pnpm test # run all tests
pnpm test:coverage # run all tests with coverage (lcov, for Sonar)
pnpm lint # lint all packages
pnpm audit # security audit of the dependency tree
pnpm changeset # record a change for the next releaseCommits follow Conventional Commits (enforced by commitlint via a Husky commit-msg hook); staged files are linted per-package on pre-commit.
Contributing? See CONTRIBUTING.md. Security issues? See SECURITY.md.
- 🗺️ Roadmap: the route to 1.0 and the directions beyond, tracked live on the public project board.
- 💬 GitHub Discussions: usage questions (Q&A), API design (Ideas / RFC), and what you build (Show and tell). Start with the pinned Start here thread.
- 🎧 Discord: real-time chat with the community.
- 🧭 New contributors: pick a good first issue; each one ships with context, file pointers, and acceptance criteria.
- 🚀 Pilot users: building something real with Stone.js during the beta? You get direct maintainer support, and your frictions become tracked issues. Say hello in Discussions.
MIT © Evens Pierre ("Mr. Stone") and the Stone.js contributors.