Skip to content

Roadmap & API status

The whole platform Silo is building toward — and what's real today. This page is the source of truth for what you can build on now vs. what's still being designed. As a primitive ships, its badge flips from

planned to stable.

The goal: a small, stable core, after which most new features are extensions built on these primitives — first-party and third-party alike. When the core table below is all green, we've hit that inflection point.

Legend: stable available now ·

experimental usable, may change ·planned designed, not yet implemented

Core (ctx) primitives

PrimitiveStatus
Registration (register*)stabledocs
executeCommandstabledocs
ctx.workspacesstabledocs
ctx.layoutstabledocs
ctx.process (persistent sessions)stabledocs
ctx.process.exec (one-shot subprocess)stabledocs
Extension-API mechanism (getExtension)stabledocs
ctx.editors (documents)stabledocs
ctx.terminals (terminal tabs)stabledocs
ctx.filesstabledocs
ctx.theme + registerThemePresetstabledocs
ctx.dnd (drag-and-drop)stabledocs
useServiceState (reactive reads)stabledocs
useFocusGroup (keyboard nav for a group)stabledocs
ctx.ui (pickers + notify w/ actions + menus)stabledocs
ctx.ui (confirm / prompt)stabledocs
ctx.ui.showModal (custom modal content)stabledocs
ctx.ui.openExternal (open a URL out)stabledocs
ctx.ui.getActiveSelectionTextstabledocs
ctx.search (cross-file content search)stabledocs
ctx.search (replace-in-files)planneddesign
ctx.ui (quickPick / progress)planneddesign
ctx events (typed Event<T>)planneddesign
ctx.settings / configurationplanned
ctx.storage (global / workspace / secret)planned

Extension-owned features

Features that ship built-in but are implemented as extensions on the primitives above — so a third party could build the same.

FeatureStatusBuilt onPublishes
Gitstableprocess.exec + filesGitAPI
Markdown PreviewstableregisterEditor + files
Terminalstableprocess sessions + dock panel
Theme managementstabletheme + files + ui
Search (find-in-files)stablesearch + editors

Each ships as a real extension package (core.* / silo.*) that touches the app only through ctx — the same surface a third party gets. The core primitives they lean on (the terminal's process sessions, the theme domain service) still live in the host; that split is by design. The decisions behind the model are recorded as ADRs in docs/decisions/.

Extension distribution

How a third-party extension gets from a package into the running app. See Publishing an extension.

CapabilityStatus
Author against @silo-code/sdk from npmstabledocs
Install from local folderstabledocs
Enable / disable / uninstall (runtime)stabledocs
First-party built-ins listed (disable-only, branded)stabledocs
Load on launch + persisted registrystabledocs
Install from URL (git / release tgz)planned
Install from npm registryplanned
npx install/uninstall CLIplanned
Update checking + applyplanned
Permissions / capability modelstabledocs

Extension model & safety

The contract + lifecycle work that makes the system survivable at scale. The designed pieces are RFCs in docs/proposals/ (esp. 0005 / 0006); the rest is tracked in the table above.

CapabilityStatus
Manifest id / path validationstable
Declarative contributes + activation eventsplanned
engine compatibility enforcementplanned
Sandbox / capability gating (untrusted code)planned
General ctx.storage + cleanup on uninstallplanned
Safe update (stage-validate-swap + rollback)planned
Failed-load error surfacing + collision reportingplanned

Designed surfaces (planned)

The shape of each planned surface is now designed in an RFC under docs/proposals/ (subject to change until it ships):

Planned surfaceRFC
ctx.ui slice 2 — quickPick / inputBox / progressRFC 0001
Typed ctx events (Event<T>, domain-owned, no global bus)RFC 0002
ctx.settings — per-extension configurationRFC 0003
ctx.storage — global / workspace / secretRFC 0004
Declarative contributes + activation eventsRFC 0005
Extension permissions + sandboxRFC 0006
Extension authoring toolchainRFC 0007
Package format + remote install (GitHub / npm)RFC 0008
Language intelligence (TS/JS via tsserver)RFC 0009
Self-owned PTY host daemonRFC 0010

Tooling

Not part of the extension SDK — host-side developer/test surfaces.

SurfaceStatus
silo <path> CLIstabledocs
Automation RPC (dev)experimentaldesign

silo <path> CLI stable

A terminal entry point: silo <dir> foregrounds (or launches) Silo and opens/activates a workspace for that folder; silo <file> opens the file in the active workspace. Built on tauri-plugin-single-instance — a second launch is forwarded to the running instance rather than opening a new window. Install the command from File → Install silo Command in PATH. See the silo command.

Automation RPC experimental

A dev-only loopback HTTP RPC for driving the real running app from a test suite, CI, or an agent — works around macOS having no WKWebView automation hook. Excluded from release builds (Cargo automation feature + frontend DEV guard); in dev it's always on but every request must carry an X-Silo-Automation header and a loopback Host, so a web page you visit can't drive it. Ops include ping, exec (run a registered command), activeElement / editorsDetail (focus introspection), workspace/file test-driver ops, contextKeys, and eval. See docs/automation.md.

Last updated: