Getting started¶
Prerequisites¶
- Node.js >= 24 (development is pinned via
volta). - Yarn Classic 1.22.22 (older-style lockfile workspace monorepo).
- On Windows, a full Visual Studio toolchain with the Desktop development with C++ workload for native module rebuilds.
Install¶
corepack enable
corepack prepare yarn@1.22.22 --activate
yarn install --frozen-lockfile
yarn verify
Run the browser app (development target)¶
yarn watch
in one terminal, and in another:
yarn start
The frontend is served at http://localhost:3000. No native rebuild is
needed per edit, which makes the browser target the fastest way to iterate.
Tip
The test workspace ships .theia/settings.json with recommend
files.autoSave: "off", matching Notepad++'s "never auto-save"
convention.
For running the app for other people - a LAN server, a TLS-terminated shared instance, or a Docker image - see the deployment guide. It opens with the caveat that Theia's browser backend offers no per-user isolation, which decides what you can safely deploy.
Run the desktop app (unpackaged)¶
yarn --cwd applications/electron start
This launches Electron directly against the built sources
(lib/backend/electron-main.js).
Tests¶
yarn lint # eslint across all workspaces
yarn test # unit tests
yarn test:e2e # puppeteer end-to-end suites
See Development for the full workflow.
Project layout¶
| Path | Purpose |
|---|---|
applications/browser |
Browser/development application |
applications/electron |
Electron application and packaging config |
extensions/notepadia |
Product extension (all Notepad++-style behavior) |
docs |
This documentation site (MkDocs) |
e2e |
Puppeteer end-to-end suites |
.github/workflows |
CI, e2e, release, and docs workflows |