Skip to main content
Build expansions for Lode Studio: pages, editors, item types, settings tabs, themes and more. An expansion is a small project. A meta.json says who it is, a config.json says how to run it, and your source files import each other normally. TypeScript or JavaScript, your choice; the app compiles it on load, with no build step of your own.
Your expansion runs in a controlled environment: no fs, no require, no window. Everything it does to the app goes through sdk, and anything that touches the user’s files or the network is gated by a permission they approve.

The guides

Getting started

Install a template, get it loading, see it hot-reload

Manifest

meta.json and config.json, field by field

Modules and imports

What you can import: files, CSS, assets, JSON, the SDK

Libraries

lib/ folders, imported by name instead of a path

Writing style

Top-level, class, object or function; React class components

sdk reference

Every SDK point

sdk/ui reference

Hooks and the component kit

Permissions

What each one allows, and how approval works

Lifecycle

Load, hot reload, errors, logs, disable, uninstall

Publishing

Keys, trusted and untrusted, packing a .nxe

Migrating from main.js

The old API, point by point, and what is missing

Troubleshooting

Error messages and what they mean

Examples

What each shipped example demonstrates

Internals

How the app runs all this. For maintainers.

Versions

This app provides SDK 2.0.0. Your meta.json declares the range it was built for:
An expansion the app cannot satisfy is disabled with a message saying so, rather than half-working.