Skip to content

Pulsing Forge

Agent tool and environment runtime for coding agents — sandboxed shell, filesystem, session tools, MCP, and plugins in one embeddable library.

Snapshot: 2026-05 · 32 tools callable out of the box (Hybrid + MCP runtime) Import: pip install pulsingfrom pulsing.forge import ForgeEnvironment


One sentence

Forge answers: given a tool name and JSON arguments, how do we execute safely in a workspace?

It is not a chat product or CLI clone. Host owns LLM and UI; Forge owns environment and tool execution.


Why Forge

Pain Forge provides
Reimplementing Read / shell / patch per project One tool surface + ToolResult
Scattered sandbox policy sandbox_policy: off / restricted / bwrap
Plan / prompts coupled to tools ToolSession callbacks — Forge has no built-in UI
Dev vs isolated execution drift Same 32 tool names: in-process or ToolWorkerActor

Ecosystem

Pulsing        Distributed Actor runtime (optional)
Pulsing Forge  Tool + environment library (this chapter)
Craft          Multi-Agent reference app (Forge reference Host)

Three deployment modes

Mode API Use when
In-process ForgeEnvironment.runtime() Tests, prototypes
Hybrid (default) HybridForgeRuntime after maturin develop Production host tools
Isolated actor ForgeBackend + ToolWorkerActor Sandbox in child process / cluster

Same LLM tool schema across modes.


Quick start

from pulsing.forge import ForgeEnvironment, LocalToolSession

env = ForgeEnvironment(cwd=".", session=LocalToolSession())
rt = env.runtime()
rt.call_tool("shell_command", {"cmd": "pytest -q", "workdir": "."})

See Getting Started · Abstractions · Deployment on Pulsing.


Documentation map

Doc Audience
Getting Started Install, first call_tool, tests
Concepts Host vs Forge, core types
Abstractions Environment, Session, tool domains
Tools (32) Tool inventory by domain
Deployment on Pulsing ForgeBackend, actors, isolation
Pulsing Integration ask/tell, inbox, MCP hub, code cells

Design deep dives (Architecture & Design → Forge):

Package README: python/pulsing/forge/README.md


License

Apache-2.0 · Third-party notices in crates/pulsing-forge/NOTICE