diff --git a/PLUGIN_SPEC.md b/PLUGIN_SPEC.md index 1a1bb2e..51ec40b 100644 --- a/PLUGIN_SPEC.md +++ b/PLUGIN_SPEC.md @@ -96,7 +96,7 @@ ix-opencode-plugin/ | `ix-map` | Architectural map + subsystem overview | `ix map ` CLI | | `ix-ingest` | Graph status + refresh trigger | `ix status` / `ix map` CLI | | `ix-history` | Revision/decisions/bugs | `ix history` CLI (Pro only) | -| `ix-docs-tool` | Context summaries | `ix docs ` CLI | +| `ix-docs-tool` | Context summaries | `POST /v2/ix_query` mode `"docs"` (no CLI equivalent) | ### Hooks (5 current via `ix-plugin.ts`) @@ -191,7 +191,7 @@ OpenCode's plugin system provides: | Architectural map | `ix-map` tool → `ix map` CLI | `POST /v2/ix_query` mode `"understand"` | | Ingest/refresh | `ix-ingest` tool → `ix map` CLI | `POST /v2/ingest/map` | | Pre-edit gate | `ix-pre-edit` hook → `ix-impact` tool | `POST /v2/ix_decide` | -| Context summaries | `ix-docs-tool` → `ix docs` CLI | `POST /v2/ix_query` mode `"docs"` | +| Context summaries | `ix-docs-tool` (runtime only) | `POST /v2/ix_query` mode `"docs"` | | All seven skills | `ix` CLI via commands | `POST /v2/ix_query` appropriate mode | | Text/semantic search | **Not available** (missing tool) | `POST /v2/ix_query` mode `"locate"` text search | | Architecture smells | **Not available** (missing tool) | `POST /v2/insights/derive` type `"smells"` | diff --git a/ROADMAP.md b/ROADMAP.md index 36de938..4ea5727 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -70,7 +70,7 @@ When a platform mechanism is unavailable, mark it explicitly as **Unsupported** Read all seven tool files in `tools/` and document the exact `ix` CLI commands each calls, along with the output parsing logic. **Current State Context:** -Seven tools: `ix-query.ts` (`ix locate`), `ix-neighbors.ts` (`ix callers/callees/depends/imports`), `ix-impact.ts` (`ix impact`), `ix-map.ts` (`ix map`), `ix-ingest.ts` (`ix status` + `ix map`), `ix-history.ts` (`ix history`, Pro only), `ix-docs-tool.ts` (`ix docs`). All call through `base.ts`. Tools return strings (not JSON objects — confirmed OpenCode constraint). +Seven tools: `ix-query.ts` (`ix locate`), `ix-neighbors.ts` (`ix callers/callees/depends/imports`), `ix-impact.ts` (`ix impact`), `ix-map.ts` (`ix map`), `ix-ingest.ts` (`ix status` + `ix map`), `ix-history.ts` (`ix history`, Pro only), `ix-docs-tool.ts` (runtime `/v2/ix_query` mode `"docs"` — no CLI equivalent). All call through `base.ts`. Tools return strings (not JSON objects — confirmed OpenCode constraint). **Implementation Notes:** Read each tool file. Document CLI args, output parsing, error handling, and string return format. Note which tools use `--json` flag vs raw text parsing. diff --git a/TOOL_CONTRACT.md b/TOOL_CONTRACT.md index 7e28baa..385a616 100644 --- a/TOOL_CONTRACT.md +++ b/TOOL_CONTRACT.md @@ -235,7 +235,7 @@ The Ix graph has been rebuilt. Graph data is now current. **ix CLI not found.** Install Ix to enable graph-aware features. command -v ix # check if installed -ix connect # connect to workspace +ix docker start # start the local backend ix map # build initial graph ``` diff --git a/commands/ix-architecture.md b/commands/ix-architecture.md index 260eae4..17b6688 100644 --- a/commands/ix-architecture.md +++ b/commands/ix-architecture.md @@ -11,7 +11,7 @@ Before anything else, run: command -v ix ix status ``` -If either fails, stop: *"ix graph unavailable — run `ix connect` or check your connection."* +If either fails, stop: *"ix graph unavailable — run `ix docker start` to start the backend, then `ix status` to confirm."* Then verify the graph has data: ```bash diff --git a/commands/ix-plan.md b/commands/ix-plan.md index af83911..a92fcbe 100644 --- a/commands/ix-plan.md +++ b/commands/ix-plan.md @@ -62,7 +62,7 @@ Identify if any third symbol depends on multiple targets (shared blast radius If Pro is available, check for existing plans and goals that overlap with this change: ```bash ix plans --format llm -ix goals --format llm +ix goal list --format llm ``` Cross-reference `activePlans` from the briefing to avoid duplicate work. If an existing plan covers these targets, reference it. @@ -106,7 +106,7 @@ After [target B]: verify [specific callers] - [any cross-subsystem boundary being crossed] ## Project context **[Pro]** -- Goal this serves: [from ix goals — omit if Pro unavailable] +- Goal this serves: [from `ix goal list` — omit if Pro unavailable] - Existing plan to track against: [plan ID + title, or "none — suggest creating one"] ``` diff --git a/tools/ix-health.ts b/tools/ix-health.ts index b5afa77..9b5cb69 100644 --- a/tools/ix-health.ts +++ b/tools/ix-health.ts @@ -53,9 +53,9 @@ export async function execute(_params: Params, context: Context): Promise { "", `**Status:** Could not determine graph state — ${msg}`, "", - "Ensure ix is connected: `ix connect`", + "Ensure the backend is running: `ix docker start`, then check `ix status`.", ].join("\n"); } } @@ -208,9 +208,9 @@ function unavailable(): string { "**ix CLI not found.** Install Ix to enable graph-aware features.", "", "```", - "command -v ix # check if installed", - "ix connect # connect to workspace", - "ix map # build initial graph", + "command -v ix # check if installed", + "ix docker start # start the local backend", + "ix map # build the initial graph", "```", ].join("\n"); }