Skip to content

v0.3.0 — real external tool stack + coordinator#1

Merged
drmahdikazempour merged 1 commit into
mainfrom
feat/external-tool-stack
May 31, 2026
Merged

v0.3.0 — real external tool stack + coordinator#1
drmahdikazempour merged 1 commit into
mainfrom
feat/external-tool-stack

Conversation

@drmahdikazempour
Copy link
Copy Markdown
Owner

What

Wires the real, permissive external tool stack into agent-stack and turns init into a multi-toolchain installer + MCP registrar + coordinator-doc generator.

Previously the "optional/opt-in" tiers were registered but orphaned — no profile routed to them, and the npm names were squatted. Now the max profile / init --all activates the real stack (detect → install-if-missing → use):

Tool License Integration
rtk Apache-2.0 PATH binary (cargo install --git)
code-review-graph MIT MCP server (uvx … serve)
graphify MIT CLI/skill (graphifyy on PyPI)
caveman MIT Claude Code plugin
claude-handoff MIT Claude Code plugin (handoff@handoff-marketplace)
gbrain MIT Bun CLI/plugin

Built-ins (compress, code map, handoff, terse) remain as the named fallback. The two unlicensed candidates (token-optimizer, intent-layer) were dropped — permissive members cover their function, so there's no consent gate.

Key pieces

  • integrations/tools.json — single source of truth; commands transcribed from each repo's own docs.
  • Ordered install strategies with fallthrough (PEP-668 pip3 → working pip), guidance when no toolchain, never auto-runs curl|sh.
  • .mcp.json merge preserves user servers; SessionStart hook refreshes the external graph backend.
  • CLAUDE.md + AGENTS.md carry a tool coordinator; Cursor mirror gets only the portable subset (rtk + MCP/CLI graph tools).

Verification

  • typecheck + build clean; 46 tests pass (added stack.test.ts).
  • End-to-end in a scratch repo: all 6 tools install for real (cargo/pip/bun/claude plugin); doctor reports them available; MCP merge + hooks correct.

🤖 Generated with Claude Code

The "optional/opt-in" tiers were registered but orphaned — no profile routed
to them, and the npm names were squatted. This wires the real, permissive
stack and makes init a multi-toolchain installer + MCP registrar + coordinator.

max profile / `init --all` now activates (detect → install-if-missing → use):
  rtk (Apache-2.0), code-review-graph, graphify, caveman, claude-handoff,
  gbrain (all MIT), over the built-in fallbacks.

- integrations/tools.json: single source of truth (repo, ordered install
  strategies, integration kind, detection, MCP server, coordinator role,
  license). Commands transcribed from each repo's own docs. Replaces the
  squatted versions.json/licenses.json.
- install.ts: ordered strategies (cargo/uv/pipx/pip/bun/claude plugin) tried
  in order with fallthrough on failure; guidance instead of failing when no
  toolchain is present; never auto-runs curl|sh.
- detect-tools.ts: path/plugin/skill/mcp detection (detect-first).
- generate/mcp.ts: merge MCP servers into .mcp.json, preserving user entries.
- generate/coordinator.ts + claude.ts/cursor.ts: CLAUDE.md & AGENTS.md route
  each job to the right tool; built-ins are the named fallback. AGENTS.md is
  always generated (Claude Code primary). Cursor mirror references only the
  portable subset (rtk + MCP/CLI graph tools).
- hooks.ts: SessionStart refreshes the external graph backend when active.
- doctor: reports each tool present/absent (absence non-fatal) with guidance.
- Dropped the two unlicensed candidates (token-optimizer, intent-layer) —
  permissive members cover their function; no consent gate.
- Sync TOOL_VERSION→0.3.0; pkg-root anchors on tools.json.
- Tests: +stack.test.ts (registry/install/MCP merge/detection/coordinator);
  updated generate/v2 suites. 46 passing.

Verified end-to-end in a scratch repo: all 6 tools install for real
(cargo/pip/bun/claude plugin) and doctor reports them available.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@drmahdikazempour drmahdikazempour merged commit 5466410 into main May 31, 2026
1 check passed
@drmahdikazempour drmahdikazempour deleted the feat/external-tool-stack branch May 31, 2026 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant