Devframe
A framework-neutral foundation for building developer tools once and running them anywhere, supporting host frameworks, standalone CLIs, and coding agents.
Devframe is a framework-neutral foundation designed to unify the creation and distribution of developer tools. Developed to solve the fragmentation in the tooling ecosystem, it allows authors to define a devtool once and deploy it across any host environment. By separating the definition of a tool from its presentation, Devframe enables developers to write their logic in a single place and mount it as a Web Standard handler into frameworks like Hono, Nitro, Next.js, SvelteKit, Vite, and Rsbuild, or distribute it as a CLI, static report, or dedicated dev server. It provides a shared protocol for RPC, state synchronization, and asset handling, ensuring consistent behavior regardless of the host framework.
Functionality centers on providing a stable interface between a devtool and its environment through Web Standard Requests and Responses. This architectural choice makes tools portable and interoperable. It includes a robust composition layer, the Hub, which allows multiple independently developed devframes to be hosted behind a single entry point, sharing authentication, RPC registries, and context without conflicting with one another. Furthermore, it supports modern development workflows by exposing these tools and their internal states to coding agents via the Model Context Protocol (MCP).
Some of the key features are:
- Framework-Neutral Definition: Uses a single
defineDevframecall to encapsulate capabilities, RPC functions, and shared state. - Standardized Handlers: Outputs a Web Standard
RequesttoResponsehandler that mounts into virtually any modern web framework. - Pluggable Architecture: Supports adapters for CLI, static reports, dev servers, Vite plugins, and MCP servers to fit various shipping needs.
- Type-Safe RPC: Features bidirectional communication built on
birpcwith support for Standard Schema validation. - Agentic Integration: Explicitly exposes capabilities to coding agents through MCP to enable multi-step programmatic automation.
- Hub Composition: Allows multiple devframes to coexist seamlessly under a shared namespace with integrated docks, commands, and terminals.
- Observable State: Provides patch-synced state management that automatically survives connection resets.
- Tooling Ecosystem: Comes with a suite of built-in plugins such as Data Inspector, Terminals, and Accessibility Inspector to jumpstart development.
To operate Devframe, developers define their tool using the core library, specifying its RPC functions, views, and state. Once defined, they use provided factory methods or adapters to bundle the tool for specific environments. For example, a Vite developer might use the adapter to turn their definition into a Vite plugin, while a CLI author uses the cac adapter. The framework handles the connection handshake, authentication, and communication protocols, letting the developer focus on the specific utility of their tool rather than the underlying connectivity plumbing. Users can compose these devtools into a single dashboard using the Hub, which provides a unified UI surface for all installed plugins.
Some common use cases include:
- Build Analysis: Creating bundle analyzers that work across Vite, Rsbuild, and other build tools with the same codebase.
- State Exploration: Building interactive inspectors that allow developers to query and manipulate live server-side data models.
- System Automation: Exposing internal build graphs and configuration state to AI coding agents to assist in automated debugging and refactoring tasks.
- Interactive Terminals: Providing browser-based PTY sessions for running tasks or managing processes within a dev environment.
- Static Reporting: Generating self-contained diagnostic snapshots for use in CI/CD pipelines to debug production-like builds.