Skip to content

Forge's command surface

Forge’s frontend and backend communicate through a private command layer. This page is a short orientation for skill authors and integrators.

If you’re a regular user, you don’t need this page. Every feature it would support is already covered by user-facing docs.

Inside the app, Forge’s React frontend calls into a Rust backend through Tauri’s IPC bridge. The command set covers everything the app does: chat, sessions, file IO, memory, git, edits, integrations, skills, terminal, preview, MCP, tasks.

This layer is private. It is not exposed over HTTP, WebSocket, or any other transport. It is not stable across Forge versions during the alpha. There is no public reference for it.

When you write a skill, you’re authoring markdown that gets injected into the agent’s context. You don’t call Forge commands directly. The right way to drive Forge from a skill is through the proposal block formats that Forge already supports (forge-propose, forge-propose-edit, forge-propose-skill).

If you want the agent to do something Forge doesn’t yet expose through proposals, file a feature request to support@ranga.ai and we’ll either add it to the proposal surface or surface a different mechanism. Don’t try to script the private command layer; it’ll break under you.

The supported path for integrating external tools with Forge is the Model Context Protocol. Build an MCP server that exposes whatever capabilities you need, configure Forge to spawn it, and the agent can call your tools alongside Forge’s built-ins.

See MCP servers for the configuration story and the bundled presets. The Forge Unity Bridge ships as an MCP server, so it’s a working reference implementation if you want to build something similar.

Two surfaces are stable across Forge versions and safe to depend on:

If you find yourself wanting to depend on anything else (file paths, JSON shapes returned by internal commands, chat-store events), reach out and we’ll talk about whether it can be promoted to a stable surface.