v0.3.0 — real external tool stack + coordinator#1
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Wires the real, permissive external tool stack into agent-stack and turns
initinto 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
maxprofile /init --allactivates the real stack (detect → install-if-missing → use):cargo install --git)uvx … serve)graphifyyon PyPI)handoff@handoff-marketplace)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.curl|sh..mcp.jsonmerge preserves user servers; SessionStart hook refreshes the external graph backend.CLAUDE.md+AGENTS.mdcarry a tool coordinator; Cursor mirror gets only the portable subset (rtk + MCP/CLI graph tools).Verification
stack.test.ts).doctorreports them available; MCP merge + hooks correct.🤖 Generated with Claude Code