ψThe ecosystem

Modules

A keystone kernel with three dependencies; everything else, adapters and extensions, plugs in through blueprints, never the other way around. Deploy to any runtime, add only what you need. Every module links to its documentation.

Primitives

The three dependencies the kernel is built on. Nothing else.

@stone-js/pipeline

The chain of responsibility every event flows through.

@stone-js/service-container

Dependency injection: the ephemeral, per-event container.

@stone-js/config

The Blueprint store, addressed by dotted stone.* keys.

Kernel

The platform-agnostic center. Knows nothing of HTTP, CLI or the browser.

@stone-js/core

Blueprint builder, kernel, lifecycle, hooks, error handling.

Layers

Cross-cutting capabilities, agnostic of the runtime.

@stone-js/http-core

The runtime-agnostic HTTP request/response model.

@stone-js/router

Universal routing for server and browser, plus the light key-router.

Read the docs →

@stone-js/env

Typed, validated environment access.

@stone-js/filesystem

File access abstracted from the platform.

@stone-js/browser-core

The browser runtime primitives.

Adapters

Integration. Each turns one platform cause into an intention, deploy anywhere.

Frontend

The view dimension.

@stone-js/use-react

React pages and layouts, CSR / SSR / SSG.

@stone-js/use-view

The framework-agnostic view engine under use-react.

Extensions

Opt-in capabilities that graft onto the kernel through blueprints. This is the toolbox.

Tooling

Build, scaffold, start.

@stone-js/cli

Builds every project type; codegen into .stone/.

@stone-js/create

npm create @stone-js: the scaffolder.

@stone-js/starters

Templates for each context.

Read the docs →

Stone.js

Your app exists in every runtime. Until you run it.

An open-source project by Stone Foundation
Created by Mr. Stone (Evens Pierre)