Prerequisite for all frameworks: Node.js 18 or newer (
node --version).
RStack and its dashboard run on Node.How well does each framework integrate?
🟢 = full governed harness. 🟡 = RStack guides the agent via shared context;
the dashboard, state, and CLI still work, but tool-level gating depends on the host.
Pi
Pi is RStack’s native home — the deepest integration.1
Install Pi
Follow the Pi install guide for your platform, then confirm:
2
Add RStack to your project
3
Start a run in your next Pi session
Claude Code
1
Install Claude Code
Install the Claude Code CLI or IDE extension, then confirm with
claude --version.2
Add RStack + init
.claude/rstack-sdlc.md (a usage guide) and a SessionStart
hook so the Business Hub opens every session. If you already have a
.claude/settings.json, RStack leaves a mergeable snippet instead of
overwriting it.3
Install the plugin (adds the /sdlc-* commands)
/sdlc-start "<goal>", /sdlc-plan,
/sdlc-build-next, /sdlc-validate, /sdlc-approve, /sdlc-status,
/sdlc-resume — full list in plugins/sdlc-rstack/commands/.Operator
operator-use has no third-party plugin discovery at all — no entry_points,
no config field, no directory scan. RStack ships bootstrap.py: a drop-in
replacement for the operator command that wires the plugin before handing
off to the real CLI.
1
Install Operator + Node
Operator is a Python harness (
pip install operator-use). RStack’s
Operator adapter shells out to a Node bridge, so you also need node and
npx on PATH.2
Add RStack + init
3
Run the bootstrap in place of `operator`
sdlc_* tools and the real BEFORE_TOOL_CALL guard
hook, then hands off to the real Typer CLI — every other operator
subcommand behaves identically to a stock install.Tau
Tau (github.com/Jeomon/Tau) is a Python agent framework. Its documentedtool_call hook never actually fires
upstream, so RStack’s adapter wires enforcement by shadowing Tau’s
built-in terminal/write/edit tools instead — a real, documented Tau
capability. Adapter contributed by Jeomon.
1
Install Tau + Node
RStack’s Tau adapter shells out to the same Node bridge as Operator, so
you need
node and npx on PATH.2
Add RStack + init
init writes rstack-tau.example.json (auto-detected from tau.json,
tau_settings.json, or a .tau/ directory).3
Wire the adapter into Tau settings
Merge the
extensions.list entry from rstack-tau.example.json into
your Tau settings.json. Loading the extension registers all sdlc_*
tools and shadows Tau’s terminal/write/edit tools to route
through rstack-agents guard — destructive actions block until a
destructive-action:<taskId> approval exists.Hermes
Hermes (github.com/NousResearch/hermes-agent) loads RStack as a plugin — a directory with aplugin.yaml manifest and
an __init__.py exposing register(ctx). Its pre_tool_call hook is a real
blocking gate, so enforcement wires itself once the plugin is enabled.
1
Install Hermes + Node
RStack’s Hermes adapter shells out to the same Node bridge, so you need
node and npx on PATH.2
Add RStack + init
3
Install and enable the plugin
plugin.yaml, and a plugin not in plugins.enabled never loads.Codex CLI
Codex integrates through shared context files (no native tool binding yet).1
Install the Codex CLI
Install per its docs and confirm it runs in your project.
2
Add RStack and bring in the assets
AGENTS.md. See the
Codex adapter for the exact AGENTS.md block.3
Use the dashboard + CLI
The Business Hub (
npx rstack-agents hub) and .rstack/ state work the
same as any framework.Gemini CLI
Same asset-based pattern as Codex, viaGEMINI.md.
1
Install the Gemini CLI
Install per its docs.
2
Add RStack + init (custom)
GEMINI.md — see the
Gemini adapter.Any other framework
If your harness can read a project directory, it can use RStack. Install with--framework custom, then either feed it the RStack agent context or have it
call the Node bridge per tool. Full contract:
Universal / custom adapter.
