forge
The Forge MCP server provides structured workflow orchestration for Claude Code, enabling parallel task execution, deep validation, intelligent retry, and cross-session memory.
validate— Run full verification for a specific module: file existence checks, shell commands, AST-level syntax validation (JS/TS/Python), and cross-module API contract checks. Returns a structured verdict (PROCEED,RETRY, orESCALATE) with stagnation/oscillation detection.validate_plan— Structurally validate a forge plan JSON before execution: checks required fields, detects DAG cycles, finds unknown dependencies, warns about file overlaps between parallel modules, and verifies commands exist on PATH.memory_recall— Search forge's learned-pattern memory (conventions, failure patterns, test commands, architecture notes, etc.) by keyword, category, or tag across project or global memory stores.memory_save— Persist new learned patterns (working commands, discovered conventions, diagnosed failures) to project or global memory for future runs. Deduplicates entries automatically.iteration_state— Read, update, or reset per-module retry state: tracks attempt count, score history, stagnation flags, last status, and root cause for intelligent retries.forge_logs— Query the structured JSONL event log for a run, filterable byrunId,moduleId,phase, andseverity, for auditing, failure diagnosis, and event reconstruction.session_state— Save, load, or list orchestrator session snapshots so workflows can survive crashes or conversation restarts and resume exactly where they left off.
Enables parallel execution in isolated git worktrees for task processing, allowing multiple workers to operate independently while maintaining version control and isolation during feature development.
Integrates with GitHub Actions for continuous integration workflows and badge display, and serves as the hosting platform for the MCP server repository and plugin marketplace distribution.
Forge
Turn Claude Code into a structured delivery loop: plan the work, run modules in parallel, validate deeply, retry intelligently, and carry forward what worked.
Why Forge
Single-agent Claude Code drifts past ~5 steps. The failure mode isn't code quality — it's silent state corruption: parallel workers branching from stale HEAD, modules quietly clobbering each other's changes, "DONE" status that hides broken integration. Forge externalizes the plan → execute → validate loop so the same task that would silently break at 7 steps cleanly delivers at 30.
Core mechanic:
DAG plans, not linear chains — workers run in parallel where dependencies allow
Worktree isolation + auto-WIP commits between tiers — every tier writes to disk before the next branches off (this exists because we shipped memem v0.10.0 once with this exact failure: 20 min of recovery work)
Per-module verify commands & acceptance criteria — defined at plan time so workers can't quietly lower the bar
Multi-lens review — a separate reviewer agent + 3× self-consistency catches cross-module bugs single-module reviewers miss
Structured failure ledger — failure modes captured as JSONL, recalled by pattern ID in the next plan
Track record: shipped memem v1.7 → v1.8.3 (7 releases) in a single day, including a 9-file anti-recursion safety fix and a persistent slice daemon — with human in the loop only at yes/modify/abort gates.
Related MCP server: Orchestrator MCP Server
Install
Copy-paste:
claude plugin marketplace add TT-Wang/forge
claude plugin install forge@tt-wang-pluginsFirst start may take a few seconds because Forge bootstraps its MCP server dependencies automatically.
After install:
restart Claude Code if it was already open
open any repo you want to work in
run
/forge <objective>
Example:
/forge add audit logging for admin actionsThe Pitch
Forge is for the point where plain prompting stops being enough.
If the task touches several files, needs coordination between modules, or needs proof that it actually works, Forge gives Claude Code a workflow instead of just another prompt:
break the work into modules
run what can be parallelized
validate each module hard
retry failures with debugger context
remember what worked for the next task
You still use Claude Code. Forge just adds structure around the hard parts.
What You Get
Structured planning: breaks a feature into modules with dependencies and verification commands
Parallel execution: runs independent modules at the same time in isolated worktrees
Deep validation: checks files, commands, syntax, and cross-module API contracts
Intelligent retry: tracks attempts, detects stagnation, and escalates to a debugger agent
Session resumability: picks up incomplete work instead of starting from scratch
Cross-session memory: remembers conventions, failure patterns, and test commands
Status visibility: exposes progress in Claude output and a terminal status line
Why Not Just Use Claude Code Directly?
For many tasks, you should.
Task shape | Plain Claude Code | Forge |
One small edit | Better | Overkill |
Quick investigation | Better | Overkill |
Multi-file feature | Manual coordination required | Strong fit |
Parallelizable work | You manage it yourself | Built in |
Deep validation | You remember to run it | Part of the workflow |
Retry after failure | Manual retry and debugging | Tracked, guided, resumable |
Reusing patterns across sessions | Ad hoc | Built in memory |
Forge is not trying to replace normal usage. It is for the tasks where orchestration matters.
Quick Start
60-second setup
Install Forge with the two commands above
Restart Claude Code
Open your project
Paste one objective:
/forge add JWT auth with refresh tokensApprove the generated plan
Run
/forge build an audit log for admin actionsCheck Progress
/forge-statusRe-check One Module
/forge-validate m2A Typical Session
/forge add JWT auth with refresh tokens
[forge] Phase 1: Planning...
[forge] Proposed Plan: 4 modules, 2 parallel groups
[forge] Proceed with this plan? (yes / modify / abort)
[forge] Phase 2: Executing m1...
[forge] Phase 2: Executing m2, m3 in parallel...
[forge] ✓ m2: DONE — validated, score 1.0
[forge] ✗ m3: FAILED — retrying with debugger
[forge] ✓ m3: DONE — validated after retry
[forge] ## Forge Complete
[forge] 4/4 modules completedThat is the experience Forge is aiming for: less manual steering, more visible progress, and fewer silent failures.
What To Expect On First Run
Forge will create a local
.forge/directory in your projectthe MCP server may spend a few seconds installing its Node dependencies
your first real interaction is the plan review step
nothing executes until you explicitly approve the plan
Current Project Structure
forge/
├── .claude-plugin/
│ ├── plugin.json
│ └── marketplace.json
├── .claude/
│ ├── settings.json
│ └── settings.local.json
├── agents/
│ ├── planner.md
│ ├── worker.md
│ ├── reviewer.md
│ └── debugger.md
├── skills/
│ ├── forge/
│ │ └── SKILL.md
│ ├── forge-status/
│ │ └── SKILL.md
│ └── forge-validate/
│ └── SKILL.md
├── forge-mcp-server/
│ ├── index.mjs
│ ├── start.sh
│ ├── package.json
│ └── tests/
├── statusline/
│ └── forge-status.sh
├── docs/
│ ├── architecture.md
│ ├── mcp-tools.md
│ └── launch/
├── CHANGELOG.md
├── CONTRIBUTING.md
├── SECURITY.md
├── CLAUDE.md
└── README.mdAt runtime, Forge also creates a local .forge/ directory in the working project to store plans, logs, memory, retry history, and resumable state.
The Main Pieces
Agents
Forge ships with four focused agents:
planner: explores the codebase and proposes the module plan
worker: implements one module in an isolated worktree
reviewer: checks correctness, security, and contract mismatches
debugger: investigates failed modules and drives retry
Skills
The user-facing commands are:
/forge: full orchestrator workflow/forge-status: current plan, module progress, and learned patterns/forge-validate: re-run validation for one module
MCP Server
The bundled MCP server provides the shared runtime capabilities Forge needs:
validatevalidate_planmemory_recallmemory_saveiteration_stateforge_logssession_state
These tools let multiple agents coordinate without relying on loose conversational memory.
Status Line
Forge can render live progress in your terminal:
[forge] ████░░░░░░ 2/5 | VALIDATE | refresh endpoint | 3m19s | ~2m30s leftTo use it:
claude statusline set "bash /path/to/forge/statusline/forge-status.sh"What Lives In Your Project
Forge keeps its runtime state in a local .forge/ directory inside the working project. That includes:
execution plans
retry history
learned patterns
structured logs
resumable session state
This keeps the workflow inspectable instead of hiding everything behind opaque agent state.
Documentation
Architecture — orchestrator, agents, MCP server, and state flow
MCP tools reference — input/output schemas and examples for all 7 tools
Changelog — release notes
Contributing — dev setup, tests, linting, and PR process
Security — vulnerability reporting and security scope
Manual Installation
If you do not want to install from the Claude Code marketplace, you can wire Forge manually:
git clone https://github.com/TT-Wang/forge.git /tmp/forge
mkdir -p .claude/agents .claude/skills
cp /tmp/forge/agents/*.md .claude/agents/
cp -r /tmp/forge/skills/* .claude/skills/
cp -r /tmp/forge/forge-mcp-server ./forge-mcp-server/
cd forge-mcp-server && npm install && cd ..Then wire the MCP server using the reference config in .claude/settings.json.
Development
git clone https://github.com/TT-Wang/forge.git
cd forge/forge-mcp-server
npm install
npm testWorks Great With
memem — persistent cross-session memory for Claude Code. Forge handles planning and execution; memem helps carry useful patterns across runs.
Vibereader — curated tech news while Claude works
License
MIT — see LICENSE
Available Tools
7 toolsforge_logsA
Query the structured JSONL event stream that forge writes on every tool call throughout a run. Filter by runId, moduleId, phase (planning, execution, validation, review, retry, memory, session, tool_call, plan_validation), severity (info, warn, error), and limit. Lets agents reconstruct what happened without re-running anything, and lets humans audit a run after the fact without paging through console output.
Behaviour:
READ-ONLY, idempotent.
Reads
.forge/logs/<runId>.jsonl. WhenrunIdis omitted, the most recently modified log file in.forge/logs/is used.runIdis guarded against path traversal via_RUN_ID_PATTERN.JSON parse errors on individual lines are silently skipped — a single corrupt line does not crash the query.
No authentication, no network, no rate limits.
Use when:
A debugger agent needs the sequence of events leading up to a module failure — especially useful for diagnosing why validation failed even though review passed.
A user wants to audit what a forge run actually did, after the fact, without re-running anything.
The orchestrator wants to confirm that a prior phase completed successfully before transitioning.
Investigating an escalation: pull all
severity: "error"entries for the run and read them in order.
Do NOT use for:
Live progress display — read
/tmp/forge-status.jsonwhich the server refreshes on every tool call, or callsession_statewithaction: "list".Appending new entries — the server writes logs automatically; there is no external append API.
Long-term knowledge — that's
memory_save/memory_recall.
Returns: { runId, entries: [...], total }. Each entry is
{ timestamp, runId, phase, moduleId, event, severity, data }.
data is a free-form object whose shape depends on the event
type.
Example: forge_logs({ runId: "2026-04-15-1", phase: "validation", severity: "error", limit: 10 }) → { "runId": "2026-04-15-1", "total": 2, "entries": [ { "timestamp": "...", "phase": "validation", "moduleId": "m3", "event": "validate", "severity": "error", "data": { "passed": false, "score": 0.5, ... } }, ... ] }
Inputs: runId, moduleId, phase, severity, +1 more.
iteration_stateA
Read, update, or reset the per-module retry state for a forge run. Tracks attempt count, score history, last status, last root cause from the debugger, and a stagnation flag. In v0.4.0+ state is scoped per run via runId so attempt counts don't accumulate across unrelated forge runs that happen to share a moduleId (pre-v0.4.0 a brand-new m1 in a fresh plan could see attempt: 21 because 20 prior runs had also used "m1" — stagnation detection would then escalate a module that had just started).
Behaviour:
READ (get), MUTATION (update, reset).
State files live at
.forge/iterations/<runId>/<moduleId>.jsonwhen runId is provided, or.forge/iterations/<moduleId>.jsonfor legacy callers.runIdis guarded against path traversal via the_RUN_ID_PATTERNregex (/^[\w.-]{1,128}$/) — invalid values return a structured error, never a traversal attempt.No authentication, no network, no rate limits.
geton an unknown module returns a clean empty-state object{ attempts: [], scores: [], stagnant: false }rather than throwing.
Use when:
The orchestrator wants to know how many times module m3 has been retried so far and whether the stagnation flag has flipped — drives the decision between RETRY and ESCALATE.
A debugger agent wants to inspect the last root cause before proposing a new approach.
Resetting: a plan has finished and the next run should start fresh even if moduleIds are reused. Or a human has manually cleared a stuck module and wants the counter zeroed.
Do NOT use for:
Cross-module reasoning or run-wide progress — that is
session_state.Recording the result of a single validation attempt — that is done automatically by
validateon every call.Inspecting validation results without side effects —
getis safe, butupdatebumps counters and flags.
Returns (get): The full state object
{ attempts: [...], scores: [...], stagnant: bool, lastStatus, lastRootCause }.
Returns (update): { updated: true, attempt: N, stagnant: bool }.
Returns (reset): A confirmation string.
Example: iteration_state({ moduleId: "m3", action: "get", runId: "2026-04-15-1" }) → { "attempts": [ { "timestamp": "...", "status": "failed", "score": 0.4, "issues": [...] }, { "timestamp": "...", "status": "failed", "score": 0.6, "issues": [...] } ], "scores": [0.4, 0.6], "stagnant": false }
Inputs: moduleId (required), action (required), runId, update.
memory_recallA
Search forge's learned-pattern memory for entries relevant to a query. Memory is a simple JSONL store (not a vector index) — forge keeps it deliberately primitive so the format is human-readable, git-friendly, and cheap to grep. Each entry has a category (convention, failure_pattern, success_pattern, test_command, architecture, dependency, tool_usage), a free-text pattern, a confidence in [0,1], and a timestamp. Results are keyword-matched against pattern text, category name, and any included tags.
Behaviour:
READ-ONLY, idempotent. No telemetry side effects, no access counters bumped, no state mutated.
No authentication, no network, no rate limits.
Reads
.forge/memory/project.jsonland/or.forge/memory/global.jsonldepending onscope.Returns an informative empty result if the query has no matches — never throws.
Use when:
The planner agent is about to decompose an objective and wants to check whether forge has already learned conventions for this project (test commands, style rules, known failure modes).
The debugger agent is analysing a failure and wants to check whether the same pattern has been seen and resolved before.
A worker agent is deciding between two approaches and wants to bias towards one that previously worked.
Do NOT use for:
Saving new patterns — use
memory_save.Looking up per-module retry history — use
iteration_state.Querying structured run events — use
forge_logs.Full-text search across commit history or codebase — this is learned patterns only, not source code.
Returns: A text block listing matching entries, each showing category, pattern, confidence, and timestamp. Grouped by scope (project first, then global) and sorted by confidence descending within each group.
Example: memory_recall({ query: "test command", scope: "project" }) → "Found 2 matches in project memory: [test_command] 0.9 — pnpm vitest --run (watch mode hangs in CI) [test_command] 0.8 — avoid npm test, use pnpm test instead"
Inputs: query (required), scope.
memory_saveA
Persist a learned pattern to forge's project or global memory for future recall. Patterns are stored as JSONL entries with category, pattern text, confidence, and timestamp. Duplicate patterns (same category + same text, case-insensitive) are rejected on write to prevent memory bloat from repeatedly saving the same lesson across runs.
Behaviour:
MUTATION. Appends a new JSON line to
.forge/memory/<scope>.jsonl. Dedup check reads the existing file first; if a matching(category, pattern)already exists, the save is skipped and a "duplicate skipped" message is returned.Idempotent on
(category, pattern): calling twice with the same values produces one entry, not two.No authentication, no network, no rate limits.
Appends are atomic on POSIX filesystems, so parallel workers can save concurrently without corrupting the file.
Use when:
Phase 5 (Learn) at the end of a forge run — the orchestrator records test commands that worked, conventions discovered by the planner, and failure patterns surfaced by the debugger.
A debugger agent has diagnosed a non-obvious root cause and wants to make sure the next run doesn't re-learn it from scratch.
A reviewer agent has identified a convention (naming, file layout, test framework) the project consistently follows and wants future workers to match it automatically.
Do NOT use for:
Ephemeral session state — use
session_stateinstead. Memory is for knowledge that should outlive the run.Module retry history — that is tracked automatically by
iteration_stateandvalidate.Run-specific commentary or event logs — those belong in
forge_logs, which is written automatically on every tool call.Huge blobs of text (>1 KB) — memory entries are meant to be compact lessons, not dumps.
Returns: Confirmation string — either "Saved to memory []: " on new insert, or "Duplicate pattern already in memory, skipped." on dedup hit.
Example: memory_save({ pattern: "pnpm vitest --run for CI; watch mode hangs", category: "test_command", scope: "project", confidence: 0.9 }) → "Saved to project memory [test_command]: pnpm vitest --run..."
Inputs: pattern (required), category (required), confidence, scope.
session_stateA
Save, load, or list orchestrator session snapshots for resumability. Lets a /forge workflow survive a crash, conversation restart, or an intentional pause — the next invocation can pick up exactly where the previous one left off, without re-planning or re-running completed modules.
Behaviour:
MUTATION on
save, READ onloadandlist.State lives at
.forge/state/<runId>.json. Writes use atomic tmp + rename semantics so a crash mid-save can never leave a partial file on disk.runIdis guarded against path traversal via_RUN_ID_PATTERN(/^[\w.-]{1,128}$/).Every
savestamps the state with a freshlastUpdatedAtISO timestamp;listsorts most-recent first using this field.No authentication, no network, no rate limits.
Use when:
The orchestrator has just completed a phase transition (plan approved, first parallel batch finished, module escalated) and wants to persist progress in case the session drops.
A fresh Claude Code session wants to resume an abandoned run: call
session_state({ action: "list" }), find the most recent run withcompletedCount < totalCount, thensession_state({ action: "load", runId: "..." }).A user has invoked
/forge-statusand the orchestrator is computing the summary.
Do NOT use for:
Per-module retry state — that's
iteration_state.Cross-run learned patterns — that's
memory_save.Ephemeral progress for the statusline — the server writes
/tmp/forge-status.jsonautomatically on every tool call; don't duplicate it here.
Returns:
save: { saved: true, runId, lastUpdatedAt }
load: { found: true, ...state } when the file exists,
{ found: false, runId } when it does not.
list: { sessions: [{ runId, lastUpdatedAt, currentPhase, completedCount, totalCount }, ...] } sorted by
lastUpdatedAt descending.
Example: session_state({ action: "save", runId: "2026-04-15-1", state: { currentPhase: "execute", moduleStatuses: { m1: "done", m2: "running", m3: "pending" }, completedModules: ["m1"], startedAt: "2026-04-15T10:00:00Z" } }) → { "saved": true, "runId": "2026-04-15-1", "lastUpdatedAt": "..." }
Inputs: action (required), runId, state.
validateA
Run full verification for a forge module against a specific working directory. Executes the module's verify commands in a subprocess, checks that required files exist on disk, runs AST-level syntax validation for .js/.mjs/.cjs/.py/.ts/.tsx files, and performs cross-module API contract checks (importer references matched against exporter symbols). Tracks attempts across retries, detects stagnation when the same failure set recurs, measures score velocity across attempts, and flags oscillation when the current failures match any of the last four attempts. Returns a structured pass/fail verdict with a per-check breakdown and a recommendation field (PROCEED, RETRY, ESCALATE).
Behaviour:
MUTATION. Appends an attempt entry to the module's iteration state at
.forge/iterations/<runId>/<moduleId>.jsonwhen runId is provided, or the legacy flat path otherwise. Also emits atool_calland avalidateevent to the current run's JSONL log.No authentication, no network calls, no rate limits.
Verify commands run with a 2-minute per-command timeout; AST syntax checks get 60 seconds each. Commands execute through the shell (
execSync) so plan-generated commands can use pipes and redirects — plans are human-approved before execution.The
cwdargument (v0.4.0+) redirects file existence checks, syntax checks, contract checks, and command execution to a specified directory. Precedence:args.cwd > FORGE_CWD env > process.cwd(). Workers running in isolated git worktrees MUST pass their worktree path ascwd— otherwise validation silently checks the main project root, and every worker DONE report would be meaningless.Nonexistent
cwdreturns acwd_checkfailure withrecommendation: "ESCALATE"and a clear diagnostic, rather than letting every command fail with an opaque ENOENT.
Use when:
The orchestrator has received a DONE report from a worker agent and needs to verify that the changes actually compile, run, and honor any cross-module API contracts before merge-back.
A module has just been retried by the debugger agent and you want to know whether the attempt count has crossed the stagnation threshold.
A user invokes
/forge-validate <moduleId>manually to re-run checks on a completed or in-progress module.
Do NOT use for:
Plan-level structural checks (DAG cycles, missing commands) — use
validate_planinstead.Querying past validation attempts without bumping a counter — use
forge_logsoriteration_statewithaction: "get".Running commands outside the context of a known moduleId — this tool mutates per-module iteration state.
Returns: A JSON text block with
{ passed, score, results[], attempt, stagnant, velocity, oscillating, recommendation, sameAsPrev }
where results[] is a list of per-check objects tagged with type
(file_check, syntax_check, contract_check, command,
cwd_check) and their pass/fail metadata.
Example: validate({ moduleId: "m3", runId: "2026-04-15-1", files: ["src/auth.mjs", "src/auth.test.mjs"], commands: ["node --test src/auth.test.mjs"], cwd: "/tmp/forge-worktrees/m3" }) → { "passed": true, "score": 1.0, "recommendation": "PROCEED", "results": [ ... ], "attempt": 1, "stagnant": false }
Inputs: moduleId (required), commands (required), runId, cwd, +2 more.
validate_planA
Structurally validate a forge plan JSON file before any worker spawns. Checks: required-field schema (id, title, objective, files, verify, doneWhen on every module), DAG cycle detection via Kahn's algorithm, references to unknown dependsOn modules, file-overlap warnings between modules that could run in parallel (which would cause worktree merge conflicts), and verify-command existence on PATH (commands are checked via execFileSync('which', [firstWord]) to avoid shell injection via crafted verify strings). Catches plans that would fail at runtime and reports concrete errors before any worker is spawned.
Behaviour:
READ-ONLY for the plan file. Emits a
plan_validationevent to the current run's JSONL log.No authentication, no network, no rate limits.
Never throws to the caller — every problem is returned as an entry in the
errors[]orwarnings[]arrays.planPathis optional; when omitted, the most recently modified file in.forge/plans/is used.
Use when:
Immediately after the planner agent writes a plan to disk, and before the orchestrator enters Phase 1b (plan approval).
Debugging why a plan's execution order looks wrong — file-overlap warnings usually explain "two parallel workers clobbered each other" bug reports.
A human is hand-editing a plan file and wants a pre-flight check.
Do NOT use for:
Executing a plan — this tool is dry-run only.
Validating a single module's build output — use
validateinstead.Inspecting attempt counts or retry history — use
iteration_statewithaction: "get".
Returns: { valid: bool, errors[], warnings[] }. valid is true iff
errors[] is empty. Errors halt execution (cycles, missing required
fields, commands not found on PATH). Warnings are advisory (file
overlap between parallel modules).
Example: validate_plan({ planPath: ".forge/plans/add-auth.json" }) → { "valid": true, "errors": [], "warnings": [ { "type": "file_overlap", "modules": ["m2", "m3"], "files": ["src/config.mjs"], "message": "Modules m2 and m3 both modify src/config.mjs but could run in parallel. Consider adding a dependency edge." } ] }
Inputs: planPath.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a distinct, well-defined purpose with clear boundaries. For example, forge_logs is for event stream queries, iteration_state handles retry tracking, memory_recall/save manage learned patterns, session_state handles session persistence, and validate/validate_plan handle different validation scopes. The descriptions explicitly state what each tool should and should not be used for, preventing confusion.
All tools follow a consistent snake_case naming convention with clear verb_noun patterns. Tools like forge_logs, iteration_state, memory_recall, memory_save, session_state, validate, and validate_plan maintain perfect consistency throughout the set, making them predictable and easy to understand.
With 7 tools, this server is well-scoped for its forge orchestration domain. Each tool serves a specific, necessary function in the workflow (logging, state management, memory, validation), and none feel redundant or missing. The count supports comprehensive coverage without being overwhelming.
The tool set provides complete coverage for forge orchestration workflows. It includes logging (forge_logs), state management (iteration_state, session_state), knowledge persistence (memory_recall/save), and validation at both module and plan levels (validate, validate_plan). There are no obvious gaps—agents can manage the entire lifecycle from planning through execution to learning.
Maintenance
Related MCP Connectors
Claude Code / MCP skills for the dev pipeline: discover, spec, design, build, ship, operate.
No-data MCP handoff for local Claude Code to Codex harness moves. $49 lifetime.
Source-checked CLI guides and model-aware planning for Claude Code, Codex, and Grok Build.
Campfyrr, shared team memory for Claude Code
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceTransforms Claude from a code generator into a programming partner capable of testing, debugging, and optimizing code automatically through a secure execution environment.-
- FlicenseBqualityNot gradedmaintenanceBridges Claude Code to a Cloud Orchestrator API, providing access to multi-AI consensus, web search, code execution sandboxes, long-term memory, knowledge graphs, deployment management, and 20+ integrated AI and developer tools.28-
- AlicenseNot gradedqualityBmaintenanceA flight recorder for Claude Code that captures tool calls and observations into a SQLite database, then classifies them into a distilled timeline for incident troubleshooting.MIT
- AlicenseBqualityDmaintenanceMCP bridge for using local Claude CLI as a bounded reviewer and analysis delegate for Codex.5MIT