platform

module
v0.0.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2026 License: MIT

README

Rocketable Platform

Rocketable Platform is Rocketable's workspace-local AI agent runtime. It turns a repository or working directory into an agent environment where humans can interact through a CLI, Slack, Discord, browser voice mode, or an external MCP endpoint, while agents operate through controlled access to local files, shell commands, tools, skills, attachments, and connected services.

The platform is written in Go and is oriented around internal, workspace-local deployment rather than hosted multi-tenant SaaS.

Experimental Software

Rocketable Platform is experimental software. It can (and will) run model-generated actions against local files, shell commands, connected services, and team communication channels, so users are responsible for reviewing configuration, permissions, outputs, and integrations before relying on it in any sensitive or production environment.

This software is provided "as is", without warranty of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, noninfringement, availability, accuracy, or error-free operation. To the maximum extent permitted by law, Rocketable, Inc. and contributors are not liable for any claim, damage, data loss, service interruption, security issue, business loss, or other liability arising from use of, inability to use, or reliance on this software or its outputs.

See LICENSE for the full license terms.

Core Capabilities

  • Run workspace-aware AI agents with local instructions, agent definitions, skills, attachments, subagents, custom tools, file access, shell commands, web fetches, and explicit permission rules.
  • Keep agent work durable through SQLite-backed sessions, replay, checkpoints, connector routing, scheduled messages, restart recovery, and conversation-local goal loops.
  • Connect agents to team workflows through Slack, Discord text, Discord voice, browser voice mode, cron jobs, scheduled prompts, and an external MCP HTTP endpoint.
  • Route model requests across OpenAI and Anthropic providers while preserving one local agent/tool model.
  • Expose optional OpenTelemetry/OpenInference-compatible tracing for agent runs.

Main Components

RocketCode

internal/rocketcode is the core reasoning runtime. It builds model requests from workspace context, runs the tool loop, enforces permissions, handles supported image and PDF attachments, and records replayable session entries.

Runnable entry points:

  • cmd/rocketcode: interactive CLI for testing RocketCode in the current workspace.
  • cmd/rocketloop: non-interactive autonomous loop for a goal supplied by arguments or stdin.
RocketClaw

internal/rocketclaw is the long-running service runtime around RocketCode. It provides persistent conversations, Slack and Discord connectors, voice input/output, browser voice mode, terminal CLI attachment through a local Unix control socket, external MCP, cron-defined background prompts, one-shot and recurring scheduled messages, inbound and outbound attachments, graceful restart, and SQLite state under the selected runtime directory.

The runnable entry point is cmd/rocketclaw. Run rocketclaw help for setup, validation, session inspection, and operational commands. rocketclaw cli attaches a terminal to main, rocketclaw cli --new [agent] starts a private terminal conversation, and cmux terminals can use local /new [agent] to open another attached terminal surface.

Supporting Tools
  • cmd/quickbench: runs YAML benchmarks through RocketCode with CLI-selected models. See cmd/quickbench/README.md.
  • cmd/quickweb: serves trusted internal static applets with one persistent JSON document per page. See cmd/quickweb/README.md.
  • cmd/interviewd: serves a temporary local HTML form for structured interview questions and prints submitted answers as Markdown.

Runtime Flow

  1. A workspace contains AGENTS.md plus optional agents/, skills/, scripts/, and cron/ definitions.
  2. rocketclaw.json points RocketClaw at that workspace and enables connectors.
  3. RocketClaw builds runtime assets from embedded defaults, configured git overlays, and local workspace overrides.
  4. A human message, cron job, scheduled prompt, voice transcript, or MCP request enters RocketClaw and invokes RocketCode with the selected agent.
  5. RocketCode runs model/tool turns under configured permissions.
  6. RocketClaw publishes progress, final responses, files, reactions, or voice output back through the originating connector.
  7. Conversation state, scheduled work, and routing metadata are persisted so the runtime can continue after restart.

For local CLI experimentation, rocketcode and rocketloop run RocketCode directly in the current working directory.

Repository Layout

  • cmd/: runnable binaries.
  • internal/rocketcode/: core workspace agent runtime.
  • internal/rocketclaw/: connector service runtime around RocketCode.
  • internal/quickbench/: benchmark runner implementation.
  • internal/quickweb/: lightweight static applet server.
  • internal/interviewd/: structured interview form server.
  • internal/netutil/: shared networking helpers.
  • vendor/: vendored Go dependencies.

Runtime State And Configuration

RocketClaw is configured with rocketclaw.json in the working directory. Runtime state is local to the selected workspace:

  • .rocketclaw/state.sqlite3: sessions, connector routing, scheduled messages, external MCP sessions, restart notifications, and goal-loop state.
  • .rocketclaw/control/control.sock: server-owned Unix socket used by rocketclaw cli, rocketclaw cli --new [agent], and rocketclaw cli --attach <conversation-id>.
  • .rocketclaw/overlays/: configured git overlay clones for runtime assets.
  • .rocketclaw/.rocketcode/: RocketCode shell output and transient artifacts.

Generated runtime state should not be treated as source code.

Development Notes

This repository uses vendored dependencies and standard Go commands:

go test ./...

Important behavior contracts are captured as architecture decision records under:

  • internal/rocketcode/docs/adr/
  • internal/rocketclaw/docs/adr/

Those architecture decision records describe the product behavior that refactors are expected to preserve.

Directories

Path Synopsis
cmd
interviewd command
Package main implements the interviewd binary.
Package main implements the interviewd binary.
quickbench command
Package main implements the quickbench binary.
Package main implements the quickbench binary.
quickweb command
Package main implements the quickweb binary.
Package main implements the quickweb binary.
rocketclaw command
Command rocketclaw bridges Slack and Discord connectors to rocketcode.
Command rocketclaw bridges Slack and Discord connectors to rocketcode.
rocketcode command
Command rocketcode starts RocketCode in CLI mode.
Command rocketcode starts RocketCode in CLI mode.
rocketloop command
Command looper runs RocketCode toward a non-interactive goal.
Command looper runs RocketCode toward a non-interactive goal.
internal
interviewd
Package interviewd implements the interviewd command.
Package interviewd implements the interviewd command.
netutil
Package netutil contains shared network address discovery helpers.
Package netutil contains shared network address discovery helpers.
quickbench
Package quickbench implements the quickbench benchmark runner.
Package quickbench implements the quickbench benchmark runner.
quickweb
Package quickweb implements the Quickweb internal applet server.
Package quickweb implements the Quickweb internal applet server.
rocketclaw/agentlint
Package agentlint checks effective RocketClaw agent systems for unsafe permission and delegation combinations.
Package agentlint checks effective RocketClaw agent systems for unsafe permission and delegation combinations.
rocketclaw/app
Package app wires the rocketclaw runtime together.
Package app wires the rocketclaw runtime together.
rocketclaw/config
Package config loads and validates rocketclaw configuration files.
Package config loads and validates rocketclaw configuration files.
rocketclaw/cronjob
Package cronjob loads and runs workspace cronjob prompts.
Package cronjob loads and runs workspace cronjob prompts.
rocketclaw/discordtext
Package discordtext bridges Discord guild text messages into rocketclaw.
Package discordtext bridges Discord guild text messages into rocketclaw.
rocketclaw/discordvoice
Package discordvoice bridges Discord voice into rocketclaw.
Package discordvoice bridges Discord voice into rocketclaw.
rocketclaw/discordvoice/internal/aesgcm8
Package aesgcm8 provides Discord DAVE's 8-byte-tag AES-GCM primitive.
Package aesgcm8 provides Discord DAVE's 8-byte-tag AES-GCM primitive.
rocketclaw/emoji
Package emoji translates Unicode emoji and colon aliases.
Package emoji translates Unicode emoji and colon aliases.
rocketclaw/emoji/internal/gen command
Command gen generates Unicode emoji alias tables.
Command gen generates Unicode emoji alias tables.
rocketclaw/events
Package events defines the shared rocketclaw event bus.
Package events defines the shared rocketclaw event bus.
rocketclaw/externalmcp
Package externalmcp hosts MCP servers for rocketclaw integrations.
Package externalmcp hosts MCP servers for rocketclaw integrations.
rocketclaw/harnessbridge
Package harnessbridge owns the rocketcode library bridge.
Package harnessbridge owns the rocketcode library bridge.
rocketclaw/oai
Package oai provides ChatGPT OAuth-backed OpenAI clients for rocketclaw.
Package oai provides ChatGPT OAuth-backed OpenAI clients for rocketclaw.
rocketclaw/openaiaudio
Package openaiaudio contains OpenAI-backed audio helpers.
Package openaiaudio contains OpenAI-backed audio helpers.
rocketclaw/primarytext
Package primarytext holds shared primary text connector helpers.
Package primarytext holds shared primary text connector helpers.
rocketclaw/skel
Package skel seeds the embedded rocketclaw skeleton into workspaces.
Package skel seeds the embedded rocketclaw skeleton into workspaces.
rocketclaw/slackconnector
Package slackconnector bridges Slack events into rocketclaw.
Package slackconnector bridges Slack events into rocketclaw.
rocketclaw/voice
Package voice transcribes inbound voice traffic into text messages.
Package voice transcribes inbound voice traffic into text messages.
rocketclaw/webui
Package webui serves the minimal browser voice-mode interface.
Package webui serves the minimal browser voice-mode interface.
rocketcode
Package rocketcode provides the reusable RocketCode runtime.
Package rocketcode provides the reusable RocketCode runtime.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL