Extending
Jx is built to be extended. First-party extensions (the Markdown parser, the data connector, auth) use only the public extension hooks — anything they can do, your extension can do. Studio itself is an embeddable app: any backend that speaks its protocol can host it. This section covers both directions, plus how to work on Jx itself.
Extensions
An extension is an npm package that contributes formats, classes, capability methods, project settings sections, server mounts, and data connectors to a Jx project. Start with the anatomy of an extension , then go deep on the individual contribution points: schema composition , classes , formats , capabilities , project sections , server mounts , connectors , and the security model . Two tutorials build one end-to-end — a TOML format and a guestbook with server routes and a connector — and the first-party extensions are the reference implementations to crib from.
Embedding Studio
Studio is backend-agnostic: all of its file, git, and project operations go through a platform-adapter layer, and every adapter ultimately speaks one wire contract, the Studio Backend Protocol. The
embedding overview
maps the landscape and helps you pick an integration path;
writing a platform adapter
covers the in-page
StudioPlatform
interface;
the backend protocol
defines the contract any backend can serve, with every endpoint listed in the
protocol route reference
; and
dev server internals
walks through the reference implementation.
Contributing
To work on Jx itself,
working in the monorepo
covers the repository layout, test and coverage policy, and the tooling conventions;
contributing to these docs
is the style guide every page in
/docs
follows.