On this page
Runtime frontends
A frontend is any interface that lets a user or tool interact with Codepot.
Examples include:
- terminal commands;
- an editor extension;
- a web application;
- an MCP server;
- a desktop tool;
- an internal developer portal;
- a programmatic Node.js integration.
The boundary
A frontend may decide how to collect input, show progress, visualize a plan, or ask for confirmation.
It should not independently decide:
- how contracts compile;
- how template variables resolve;
- which paths are safe;
- how manifests classify ownership;
- when cleanup is allowed;
- how diagnostics are structured.
codepotx-cli as proof
codepotx-cli contains parser, runtime loader, event subscription, presenter, and exit-code behavior. It delegates domain work to codepotx/runtime.
That separation is the model for future JavaScript web, editor, and MCP clients.
Final platform frontends
The Rust platform follows the same principle:
- the
codepotCLI uses compiler and analysis crates; - the LSP uses the persistent analysis host and editor-neutral providers;
- the VS Code extension remains a thin client;
- future web and MCP integrations should reuse stable runtime and semantic artifacts.