Skip to main content

Overview

Claude Code can use project/user subagents and slash commands. RStack runs in Claude Code today as portable agent assets — the Pi-native lifecycle hooks are not available, but the full agent/skill/plugin library is.
cd your-project
npm install rstack-agents
npx rstack-agents init --framework claude-code --profile business-flex
init creates .rstack/, scaffolds CLAUDE.md, SOUL.md, and HEARTBEAT.md from the package templates, writes .claude/rstack-sdlc.md, and optionally a SessionStart hub hook snippet. Existing files are never overwritten.

How invocation works

Claude Code does not call sdlc_start or any other Pi tool directly. It invokes RStack through portable files:
SurfaceSourceHow it is invoked
Bootstrap instructionsCLAUDE.md, SOUL.md, HEARTBEAT.md, .claude/rstack-sdlc.mdLoaded by Claude Code as project guidance
Core and SDLC agentsagents/**/*.md, optionally copied to .claude/agents/rstack/Run through Claude Code’s subagent mechanism or by explicitly asking for the named RStack agent
Skillsskills/**/SKILL.mdUsed by Claude Code when a task matches the skill trigger
Pluginsplugins/*/plugin.json plus plugin assetsInstalled/copied by package or project convention, then routed by Claude Code/plugin metadata
Slash-command promptsprompts/*.md, optionally copied to .claude/commands/rstack/Exposed by Claude Code according to its command-file naming convention, for example .claude/commands/rstack/build.md becomes the RStack build command namespace entry
CLI bridgerstack-agentsRuns setup, validation, decision queue, readiness, and hub commands outside the model runtime
The practical difference from Pi is enforcement. Claude Code can follow RStack’s orchestrator/builder/validator contracts and write .rstack/runs/<run_id>/ state, but the package cannot intercept every Claude Code tool call the way the Pi tool_call hook can. Use approval and validation contracts in Claude Code, but treat destructive-action blocking as a Pi-native guarantee unless a future Claude Code adapter adds equivalent tool gating.

Manual asset copy (optional)

If you prefer a local vendor copy instead of reading from node_modules/rstack-agents/:
export RSTACK_HOME=/path/to/SDLC-rstack

mkdir -p .claude/agents/rstack .claude/commands/rstack .rstack/vendor/rstack
cp -R "$RSTACK_HOME/agents"    .rstack/vendor/rstack/
cp -R "$RSTACK_HOME/skills"    .rstack/vendor/rstack/
cp -R "$RSTACK_HOME/plugins"   .rstack/vendor/rstack/
cp -R "$RSTACK_HOME/prompts"   .rstack/vendor/rstack/
cp -R "$RSTACK_HOME/agents"/*  .claude/agents/rstack/
cp "$RSTACK_HOME/prompts"/*.md .claude/commands/rstack/ 2>/dev/null || true

CLAUDE.md configuration

Run init, or copy the canonical template from the package:
cp node_modules/rstack-agents/templates/bootstrap/CLAUDE.md ./CLAUDE.md
cp node_modules/rstack-agents/templates/bootstrap/SOUL.md ./SOUL.md
cp node_modules/rstack-agents/templates/bootstrap/HEARTBEAT.md ./HEARTBEAT.md
FilePurpose
CLAUDE.mdClaude Code bootstrap — asset paths, slash commands, optional hooks
SOUL.mdGovernance identity — orchestrator/builder/validator roles, evidence rules
HEARTBEAT.mdOptional standby checks — approvals, budget, stalled tasks
The template covers orchestrator/builder/validator routing, .rstack/rstack.config.json profile awareness, run state under .rstack/runs/<run_id>/, and optional SessionStart hub hooks.

Limitations vs. Pi

FeaturePiClaude Code
tool_call gating
Lifecycle hooks
Native slash commandsVia commands/
Agent asset library
Skills and plugins
Run state
A Claude Code adapter with native tool gating is on the roadmap.