raccoon-dev
v0.2.4
Published
Raccoon — local BYOK coding agent. OpenCode-compatible, minimalist TUI, prompt queue, @/$ input language, VeriLoop & Scope Guard.
Maintainers
Readme
Raccoon
Install
npm install -g raccoon-dev
raccoonOr from source:
git clone [email protected]:arjunkshah/raccoon.git
cd raccoon && bun install
bun run devWhat is Raccoon?
Raccoon is a local, open-source, BYOK terminal coding agent. It follows OpenCode (MIT) as the primary OSS reference — permissions, task/skill tools, plan/build modes, .opencode/ paths — and adds differentiation on top (VeriLoop, Scope Guard, Worktree Swarm).
See docs/OPENCODE_REFERENCE.md for drop-in compatibility.
Raccoon also integrates patterns from:
| Agent | What Raccoon takes |
|-------|-------------------|
| OpenCode | Primary reference — permissions, task/skill, apply_patch, .opencode/ |
| Codex CLI | Sandbox, approval modes, subagents, exec mode, hooks |
| Goose | MCP extensibility, workflow orchestration |
| Aider | Auto-commit, git integration, model-agnostic |
| Pi Agent | Skills, prompt templates, extensions, session tree, compaction, RPC |
| Claude Code | Goal mode, parallel subagents |
| Gemini CLI | Web search grounding |
Agent Modes
| Mode | Description | |------|-------------| | 🔨 Build | Full read/write/run access | | 📋 Plan | Read-only exploration | | 🔍 Review | Code review & diffs | | 🎯 Goal | Autonomous subagent orchestration |
Pi Agent Compatibility
Raccoon includes Pi Agent's extensibility model:
# Skills (~/.raccoon/skills/ or .raccoon/skills/)
# Prompt templates — type /review to expand
# Extensions — TypeScript modules in ~/.raccoon/extensions/
# Session tree — /tree, /fork
# Compaction — /compact (auto when context fills)
# Run modes — interactive, print, JSON, RPC
raccoon print "summarize the codebase"
raccoon print --json "list all API routes"
raccoon rpc
raccoon install npm:@scope/raccoon-tools
raccoon skill list
/skill use reviewSkills
8 bundled skills with YAML frontmatter (review, debug, test, refactor, security, deploy, mobile-remote, find-skills):
raccoon skill list # list all skills
raccoon skill use debug # persistently activate
/skill use review # in TUI
raccoon marketplace search security # find more skills
raccoon remote skills-install # copy bundled skills to ~/.raccoon/skills/Skills auto-trigger on keywords, suggest tools/modes, and inject into the agent context.
Killer features (differentiation)
See docs/MARKET_ROADMAP.md for the full roadmap.
| Feature | CLI / tool |
|---------|------------|
| VeriLoop — prove tasks with tests/lint/build | verify_task tool · raccoon bench |
| Scope Guard — protected paths + scope report | scope_report tool · scopeGuard in config |
| Worktree Swarm — subagents in isolated worktrees | worktreeSwarm: true in config |
| Repo Brain — symbol/test/route impact | repo_brain tool |
| Structured memory | raccoon memory add/list |
| Skills marketplace | raccoon install skill:debug |
Approval modes (full customization)
/approval suggest # ask before every tool (default)
/approval auto-edit # auto-approve reads + file edits
/approval full-auto # auto-approve most tools
/approval yolo # no prompts, full access
raccoon --yolo
raccoon --full-auto
raccoon --allowed-tools read,grep,edit,bashPer-tool rules in raccoon.json → permission block (allow / ask / deny per tool and glob pattern).
Remote access (Tailscale + phone)
Access Raccoon from your phone on your Tailnet:
raccoon remote start # binds 0.0.0.0:8787, prints auth token + URLs
raccoon remote start --tailscale # also configures tailscale serve
raccoon remote status # show Tailscale IP + MagicDNS- Run
raccoon remote starton your dev machine - Open the Tailscale URL on your phone (same Tailnet)
- Enter the auth token in ⚙ settings
- Use 🎤 voice input on iOS/Safari — chat with full agent modes + skills
Mobile PWA supports Add to Home Screen for a native-like experience.
Workflows & competitive features
Inspired by gaps in the agent landscape research (Codex, Claude Code, Aider, Goose, Windsurf):
raccoon review # dedicated code review mode
raccoon architect "add auth system" # Aider-style plan → implement
raccoon recipe list # Goose/Windsurf workflow templates
raccoon recipe run fix-bug "login 500 error"
raccoon --yolo # full-auto, no approvals
raccoon --full-auto # auto-approve editsIn the TUI:
/recipe run fix-bug …— run a workflow recipe/memory show|init|add— cross-session MEMORY.mdask_usertool — agent asks clarifying questions interactively
Config (~/.raccoon/config.json):
- 75+ providers — Hermes-compatible catalog auto-detected from env vars
- Custom providers — named OpenAI-compatible endpoints (
customProviders[]) - Agent backends — use Claude Code, Codex, Copilot subscriptions as model (
agentBackends) raccoon config providers— list catalog ·raccoon config connect codexfallbackChain/fallbackProviders— auto-failover chainhooks— shell commands on session/tool eventslintOnEdit— run eslint/ruff/gofmt after editstestOnEdit— run tests after editsmodeTools— per-mode tool allowlists
Vision & notebooks:
image_read— load screenshots for vision modelsnotebook_edit/notebook_read— Jupyter support/context— context window usage bar
Sprint 7:
raccoon watch --path=src "fix issues when files change"
raccoon cron add "standup" "0 9 * * 1-5" "Summarize yesterday's commits"
raccoon cron daemon
raccoon cron export | crontab -
raccoon mcp presets # list pre-built MCP servers
raccoon mcp add github
/mode audit # custom modes from raccoon.json
/search auth bug # search past sessions
/clone My forked sessionSDK embed:
import { createRaccoonClient } from "@raccoon/sdk";
const client = await createRaccoonClient({ cwd: ".", provider: "anthropic" });
const answer = await client.chat("Explain this codebase");Quick Start
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
raccoon
/connect
/init
/mode goalLicense
MIT — open source forever. See LICENSE.
