kernel hooksREADME.mdrepo: xtop-cli/extensions

xtop extensions

Official repository for xtop extensions — optional behaviors the kernel can host. Today this means server-style extensions: long-running integrations the kernel starts on demand, which drive the app through the host contract in xtop-extension-api.

The contract crate provides exactly one shape today: an extension implements the Extension trait (manifest() + run_server(server_id, ctx)) and acts through an ExtensionHost view that offers tick() and execute_plugin() — extensions reach kernel features through plugins, not through direct hooks. The kernel works fully without any extension.

Future work: hook-style extensions that touch config, theme, layout or rendering (pre/post-render hooks, config transforms, new commands) are designed as they become needed — nothing in xtop-extension-api implements them yet.

Workspace

Each extension lives in its own folder under extensions/:

extensions/
  xtop-extension-<name>/
    Cargo.toml
    src/
    README.md

Current extension: xtop-extension-mcp

  • MCP (Model Context Protocol) server over JSON-RPC 2.0 stdio, launched by the kernel as xtop mcp.
  • Exposes the samurai plugin (plugins repo) as 12 MCP tools; the tool table is generated from the plugin's exported PLUGIN_ID + actions::* constants, so the extension depends on the plugins repo at compile time.
  • crate README · protocol and tool mapping in docs/mcp-protocol.md · extension architecture in docs/architecture.md.

Getting started (development)

From this repo root:

cargo build --workspace

During active development all repos live side by side and use local path dependencies:

xtop/           kernel
api/            API crates
plugins/
effects/
extensions/     this repo

License

MIT

Source: README.mdMirrored from the xtop-cli repositories · MITAll docs →