Removes kilo, kimi, kimi-code, copilot, windsurf, augment, trae, qwen, hermes, cline, codebuddy and pi end to end: capability descriptors, installer branches and converters (bin/install.js 14.9k -> 11.2k lines), TypeScript converters, hook surfaces and runtime homes, review lanes qwen/kimi-code, the two pi migrations, Kimi payload normalization in the hook guards, dead hostBehaviors vocabulary, launcher home probes, fixtures, runtime-specific tests and the prose that presented them as supported. Installer output for the six kept runtimes is byte-identical to before the prune. The Kimi tool-vocabulary tests in workflow-guard, read-guard and read-injection-scanner are left in place pending a decision.
49 lines
3.9 KiB
Markdown
49 lines
3.9 KiB
Markdown
---
|
|
id: 36
|
|
title: Multi-Runtime Support
|
|
group: Infrastructure Features
|
|
---
|
|
|
|
**Purpose:** Run MSD across multiple AI coding agent runtimes.
|
|
|
|
**Requirements:**
|
|
- REQ-RUNTIME-01: System MUST support Claude Code, OpenCode, Codex, Antigravity, Cursor
|
|
- REQ-RUNTIME-02: Installer MUST transform content per runtime (tool names, paths, frontmatter)
|
|
- REQ-RUNTIME-03: Installer MUST support interactive and non-interactive (`--claude --global`) modes
|
|
- REQ-RUNTIME-04: Installer MUST support both global and local installation
|
|
- REQ-RUNTIME-05: Uninstall MUST cleanly remove all MSD files without affecting other configurations
|
|
- REQ-RUNTIME-06: Installer MUST handle platform differences (Windows, macOS, Linux, WSL, Docker)
|
|
- REQ-RUNTIME-07: Runtimes with lifecycle hook support MUST register per-turn context-headroom tracking events at install time
|
|
- REQ-RUNTIME-08: Native packaging manifests MUST be version-stamped and enable runtime-native install/update/uninstall flows
|
|
|
|
**Runtime Transformations:**
|
|
|
|
| Aspect | Claude Code | OpenCode | Codex | Antigravity | Cursor |
|
|
|--------|------------|----------|-------|-------------|--------|
|
|
| Commands | Slash commands | Slash commands | Skills (TOML) | Skills | Skills + Slash commands |
|
|
| Agent format | Claude native | `mode: subagent` | Skills | Skills | Skills |
|
|
| Skills emission | N/A | On-demand SKILL.md (1.4.0) | `/skills` picker (1.4.0) | N/A | SKILL.md |
|
|
| Hook events | `SessionStart`, `PreToolUse`, `PostToolUse`, `SubagentStop`, `Stop`, `PreCompact`, `FileChanged` | N/A | `SessionStart`, `SubagentStart`, `Stop`, `PostToolUse` | N/A | `sessionStart`, `postToolUse` |
|
|
| Config | `settings.json` | `opencode.json(c)` | TOML | Config | Config |
|
|
|
|
**Cursor artifact surfaces:** `msd install --cursor` writes two artifact kinds:
|
|
- `~/.cursor/skills/msd-<name>/SKILL.md` — rich skills with YAML frontmatter, Cursor tool-name mapping, and adapter context header (existing surface)
|
|
- `~/.cursor/commands/msd-<name>.md` — plain markdown slash commands (no frontmatter) invocable via `/` in the Agent input (Cursor 1.6+)
|
|
|
|
**Native skills emission (1.4.0):** One runtime now emits MSD as on-demand native skills (`skills/<name>/SKILL.md`) at install time, in addition to their existing command and agent surfaces. Skills respect the active install profile and are removed on uninstall.
|
|
- **OpenCode** — emits skills alongside its existing surfaces
|
|
|
|
**New slash-command surfaces (1.4.0):**
|
|
- **Cursor** (Cursor >= 1.6) — `.cursor/commands/msd-<name>.md` so MSD appears in the `/` command menu
|
|
|
|
**Cross-runtime lifecycle hooks (1.4.0):** Each supported runtime registers lifecycle hook events for per-turn context-headroom tracking and workflow state management. Notable registrations:
|
|
- **Claude Code:** `SubagentStop`, `Stop`, `PreCompact` (context-headroom warnings), `FileChanged` (hot-reloads `.planning/config.json` mid-session)
|
|
- **Codex:** `SubagentStart`, `Stop`, `PostToolUse` (new in 1.4.0); on Windows the `SessionStart` hook entry gains a `commandWindows` field so the `.cmd` shim is used for native execution
|
|
- **Cursor:** `sessionStart` (injects workflow state), `postToolUse` (nudges `.planning` updates)
|
|
|
|
**Runtime-specific enrichments (1.4.0):**
|
|
- Codex emits `service_tier: flex` for light-tier agents; MSD skills appear in the Codex `/skills` picker via `SKILL.md` (no `agents/openai.yaml` sidecar is emitted — doing so caused duplicate autocomplete entries, #1326)
|
|
|
|
**Native packaging:**
|
|
- **Claude Code:** MSD Core ships a `.claude-plugin/plugin.json` manifest, enabling installation and lifecycle management via `claude plugin install|enable|disable|update msd-core`. Commands load under the `/msd-core:` namespace (e.g. `/msd-core:plan-phase`), avoiding slash-command collisions with the classic npm installer which uses `/msd:`. Always-on guard and update hooks are wired automatically via `hooks/hooks.json`. The plugin path is additive — the npm installer (`npx @golem15/msd-core`) remains fully supported.
|