Project Structure
Hone is a monorepo of independent packages. There is no top-level package.json and no workspace manager (no npm workspaces, no Turborepo, no Lerna). Each package stands alone with its own dependencies and build configuration.
Package Directory
| Directory | Purpose | Runtime |
|---|---|---|
hone-core/ | Headless IDE services (workspace, settings, git, search, LSP, DAP, AI, extensions) | Bun (tests only) |
hone-editor/ | Embeddable code editor – piece table buffer, multi-cursor, syntax highlighting, diff | Bun (tests), Perry (native) |
hone-ide/ | IDE workbench shell – activity bar, sidebar, tabs, panels, theme engine | Perry (native binary) |
hone-terminal/ | Terminal emulator – VT parser, PTY, cross-platform Rust FFI | Bun (tests), Perry (native) |
hone-auth/ | Auth service (magic-link login, device pairing, subscriptions) – Fastify server | Perry (native binary, 2.8 MB) |
hone-relay/ | WebSocket sync relay (cross-device delta sync, SQLite persistence) | Bun / Perry |
hone-build/ | Plugin build coordinator (submits to perry-hub for cross-platform compilation) | Perry (native binary) |
hone-marketplace/ | Plugin marketplace server (marketplace.hone.codes) | Perry (native binary) |
hone-api/ | Public extension API types (@honeide/api) – pure declarations, zero runtime | tsc only |
hone-extensions/ | 11 built-in IDE extensions (TypeScript, Python, Rust, Go, etc.) | Perry |
hone-extension/ | V2 plugin SDK (@hone/sdk), Rust plugin host, marketplace client, CLI | Mixed |
hone-themes/ | 15 VSCode-compatible color themes (@honeide/themes) – pure JSON data | Jest |
hone-brand/ | Logos, colors, typography, brand guidelines | Static assets |
landing/ | Landing page (hone.codes) – single index.html, no build step | Static |
account.hone.codes/ | Account dashboard SPA | Static |
How Packages Relate
IDE application
hone-ide is the main application binary. It depends on:
hone-editor– the embeddable editor component (buffer, cursors, viewport, syntax highlighting, diff)hone-core– headless IDE services (workspace management, settings, git integration, search, LSP/DAP clients, AI, extension host)hone-terminal– the terminal emulator (VT parsing, PTY management, platform-specific Rust FFI)
Embeddable editor
hone-editor is designed to be used independently of the full IDE. Its core/ directory is entirely platform-independent. Platform-specific rendering lives in native/, with Rust FFI crates for macOS, iOS, Windows, Linux, Android, and Web.
Services
The backend services are standalone binaries, each compiled separately with Perry:
hone-auth(port 8445) – authentication, device pairing, JWT tokenshone-relay(port 8443/8444) – WebSocket rooms for cross-device synchone-marketplace(port 8446) – plugin search, download, publishhone-build(port 8447) – plugin cross-compilation via perry-hub workers
All services run on webserver.skelpo.net with MySQL for persistent storage and SQLite for relay delta persistence.
Extensions and themes
hone-extensions/contains 11 built-in extensions that ship with the IDE.hone-extension/provides the V2 plugin SDK (@hone/sdk) for third-party extension authors, plus the Rust plugin host and CLI tooling.hone-api/defines the public extension API surface (@honeide/api) as pure TypeScript declarations with no runtime code.hone-themes/ships 15 VSCode-compatible color themes as JSON data.
Static sites
landing/is the hone.codes landing page – a singleindex.htmlwith no build step.account.hone.codes/is the account dashboard SPA.hone-brand/holds logos, color definitions, typography, and brand guidelines.