Skip to content

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.