@softspark/ai-toolkit 2.12.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +18 -8
  3. package/app/.claude-plugin/plugin.json +1 -1
  4. package/app/skills/hook-creator/SKILL.md +84 -8
  5. package/app/skills/skill-creator/SKILL.md +8 -4
  6. package/benchmarks/ecosystem-doctor-snapshot.json +395 -0
  7. package/kb/history/completed/deep-coverage-v3-20260423.md +160 -0
  8. package/kb/history/completed/ecosystem-deep-sweep-20260423.md +273 -0
  9. package/kb/procedures/ecosystem-sync-sop.md +255 -0
  10. package/kb/procedures/maintenance-sop.md +13 -2
  11. package/kb/procedures/release-preparation-sop.md +83 -10
  12. package/kb/reference/global-install-model.md +15 -2
  13. package/kb/reference/supported-tools-registry.md +229 -0
  14. package/llms-full.txt +1052 -14
  15. package/llms.txt +4 -0
  16. package/manifest.json +1 -1
  17. package/package.json +4 -1
  18. package/scripts/ecosystem_doctor.py +348 -0
  19. package/scripts/ecosystem_tools.json +500 -0
  20. package/scripts/generate_aider_conf.py +26 -1
  21. package/scripts/generate_antigravity.py +77 -8
  22. package/scripts/generate_augment_agents.py +161 -0
  23. package/scripts/generate_augment_commands.py +160 -0
  24. package/scripts/generate_augment_hooks.py +162 -0
  25. package/scripts/generate_augment_skills.py +98 -0
  26. package/scripts/generate_cline_rules.py +96 -9
  27. package/scripts/generate_codex_hooks.py +13 -2
  28. package/scripts/generate_codex_skills.py +195 -0
  29. package/scripts/generate_copilot.py +296 -18
  30. package/scripts/generate_cursor_agents.py +144 -0
  31. package/scripts/generate_cursor_hooks.py +155 -0
  32. package/scripts/generate_cursor_mdc.py +20 -8
  33. package/scripts/generate_gemini_commands.py +158 -0
  34. package/scripts/generate_gemini_hooks.py +159 -0
  35. package/scripts/generate_gemini_skills.py +98 -0
  36. package/scripts/generate_roo_modes.py +42 -1
  37. package/scripts/generate_windsurf_hooks.py +143 -0
  38. package/scripts/generate_windsurf_rules.py +162 -10
  39. package/scripts/install.py +11 -2
  40. package/scripts/install_steps/ai_tools.py +120 -5
  41. package/scripts/validate.py +20 -3
@@ -0,0 +1,229 @@
1
+ ---
2
+ title: "Supported Tools Registry"
3
+ category: reference
4
+ service: ai-toolkit
5
+ tags: [editors, platforms, generators, integration, ecosystem]
6
+ version: "1.1.0"
7
+ created: "2026-04-23"
8
+ last_updated: "2026-04-23"
9
+ description: "Human-readable view of scripts/ecosystem_tools.json — the canonical list of tools ai-toolkit integrates with (Claude Code + 11 editors), their documentation URLs, config paths, our generators, and tracked capability markers."
10
+ ---
11
+
12
+ # Supported Tools Registry
13
+
14
+ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed by `scripts/ecosystem_doctor.py`. This document is a derived view — when the JSON changes, update this table too.
15
+
16
+ ## Tool Count: 12
17
+
18
+ 1 primary runtime (Claude Code) + 11 editor integrations.
19
+
20
+ ---
21
+
22
+ ## Primary Runtime
23
+
24
+ ### Claude Code
25
+
26
+ | Field | Value |
27
+ |-------|-------|
28
+ | ID | `claude-code` |
29
+ | Docs | https://platform.claude.com/docs/en/claude-code |
30
+ | Release notes | https://github.com/anthropics/claude-code/releases |
31
+ | Config paths | `~/.claude/settings.json`, `.claude/settings.local.json`, `CLAUDE.md`, `.claude/agents/*.md`, `.claude/skills/*/SKILL.md`, `~/.claude/themes/*.json` (v2.1.118+) |
32
+ | Our generators | — (Claude Code is the primary target; toolkit content ships directly as `.md` files and `settings.json` merges) |
33
+ | Tracked hook events | Core: `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `Notification`. Tool: `PreToolUse`, `PostToolUse`. Turn: `Stop`, `StopFailure`. Subagent: `SubagentStart`, `SubagentStop`. Compaction: `PreCompact`, `PostCompact`. Permissions: `PermissionRequest`, `PermissionDenied`. Elicitation: `Elicitation`, `ElicitationResult`. Teams: `TaskCreated`, `TaskCompleted`, `TeammateIdle`. Worktrees/env: `WorktreeCreate`, `WorktreeRemove`, `CwdChanged`, `FileChanged`, `ConfigChange`. Setup: `Setup`, `InstructionsLoaded` |
34
+ | Tracked handler types | `command`, `prompt`, `agent`, `mcp_tool` |
35
+ | Other capabilities | slash commands, MCP server/client, sub-agent, output style, `SKILL.md` (≥500 lines warn) |
36
+ | Version probe | `claude --version` |
37
+
38
+ ---
39
+
40
+ ## Editor Integrations
41
+
42
+ ### Cursor
43
+
44
+ | Field | Value |
45
+ |-------|-------|
46
+ | ID | `cursor` |
47
+ | Docs | https://cursor.com/docs |
48
+ | Changelog | https://cursor.com/changelog |
49
+ | Stable docs mirror | https://cursor.com/llms.txt (all doc pages have .md twins) |
50
+ | Config paths | `.cursorrules`, `.cursor/rules/*.mdc`, `.cursor/rules/*.md`, `AGENTS.md`, `.cursor/mcp.json`, `~/.cursor/mcp.json`, `.cursor/skills/*/SKILL.md`, `.cursor/agents/*.md`, `.cursor/hooks.json`, `~/.cursor/hooks.json` |
51
+ | Compat read paths | `.claude/skills/`, `.claude/agents/`, `.codex/skills/`, `.codex/agents/` (Cursor cross-reads these so ai-toolkit's Claude install works automatically) |
52
+ | Our generators | `scripts/generate_cursor_rules.py`, `scripts/generate_cursor_mdc.py` |
53
+ | Tracked capabilities | `cursorrules`, `.cursor/rules`, `AGENTS.md`, `mcp.json`, Composer, Agent Mode, hooks.json, subagents, skills, plugins |
54
+
55
+ ### Windsurf
56
+
57
+ | Field | Value |
58
+ |-------|-------|
59
+ | ID | `windsurf` |
60
+ | Docs | https://docs.windsurf.com |
61
+ | Changelog | https://windsurf.com/changelog |
62
+ | Stable docs mirror | https://docs.windsurf.com/llms.txt + per-page .md twins |
63
+ | Config paths | `.windsurfrules`, `.windsurf/rules/*.md`, `.windsurf/workflows/*.md`, `AGENTS.md`, `~/.codeium/windsurf/memories/global_rules.md`, `~/.codeium/windsurf/mcp_config.json` |
64
+ | Compat read paths | `.agents/skills/`, `~/.agents/skills/`, (with Claude Code config-reading) `.claude/skills/`, `~/.claude/skills/` |
65
+ | Our generators | `scripts/generate_windsurf.py`, `scripts/generate_windsurf_rules.py` |
66
+ | Tracked capabilities | Cascade, `windsurfrules`, `AGENTS.md`, activation triggers (`always_on`/`glob`/`model_decision`), workflows, MCP, memories, hooks |
67
+ | Activation modes emitted | always_on (agents/security/quality), glob (testing + language rules), model_decision (code-style/workflow) |
68
+
69
+ ### GitHub Copilot
70
+
71
+ | Field | Value |
72
+ |-------|-------|
73
+ | ID | `github-copilot` |
74
+ | Docs | https://docs.github.com/en/copilot |
75
+ | Release notes | https://github.blog/changelog/label/copilot/ |
76
+ | Config paths | `.github/copilot-instructions.md`, `.github/instructions/*.instructions.md`, `.github/prompts/*.prompt.md`, `AGENTS.md` |
77
+ | Our generators | `scripts/generate_copilot.py` |
78
+ | Tracked capabilities | `copilot-instructions.md`, Copilot Chat, Copilot Workspace, Copilot cloud agent, `applyTo`, custom agents, prompt files, `instructions.md`, MCP |
79
+ | Tier notes | Custom agents (`.github/agents/*.agent.md`) and repo-level MCP config are Pro/Pro+/Business/Enterprise only and intentionally not integrated (class C per ecosystem-sync SOP). |
80
+
81
+ ### Gemini CLI
82
+
83
+ | Field | Value |
84
+ |-------|-------|
85
+ | ID | `gemini-cli` |
86
+ | Docs | https://github.com/google-gemini/gemini-cli/tree/main/docs |
87
+ | Release notes | https://github.com/google-gemini/gemini-cli/releases |
88
+ | Config paths | `GEMINI.md`, `.gemini/settings.json`, `~/.gemini/settings.json`, `.gemini/commands/*.toml`, `.gemini/skills/*/SKILL.md`, `.agents/skills/*/SKILL.md`, `.gemini/extensions/gemini-extension.json` |
89
+ | Our generators | `scripts/generate_gemini.py` |
90
+ | Tracked capabilities | `GEMINI.md`, `mcpServers`, tools, `settings.json`, `BeforeTool`, `AfterTool`, `BeforeAgent`, `AfterAgent`, `BeforeModel`, `SessionStart`, `SessionEnd`, `Stop`, `SKILL.md`, `activate_skill`, custom commands, `gemini-extension.json` |
91
+ | Version probe | `gemini --version` |
92
+ | Latest upstream | v0.39.0 (2026-04-23) |
93
+
94
+ ### Cline
95
+
96
+ | Field | Value |
97
+ |-------|-------|
98
+ | ID | `cline` |
99
+ | Docs | https://docs.cline.bot |
100
+ | Release notes | https://github.com/cline/cline/releases |
101
+ | Config paths | `.clinerules/*.md`, `.clinerules/workflows/*.md`, `.clinerules/hooks/`, `.cline/skills/`, `~/.cline/data/settings/cline_mcp_settings.json`, `~/Documents/Cline/Rules/` |
102
+ | Our generators | `scripts/generate_cline.py`, `scripts/generate_cline_rules.py` |
103
+ | Tracked capabilities | `clinerules`, Plan Mode, Act Mode, MCP, custom modes, workflows, hooks, skills, subagents, conditional rules |
104
+ | Notes | Conditional rules (`paths:` YAML frontmatter) are emitted for testing and language-specific rules since 2026-04. Skills (`.cline/skills/`) and hooks (`.clinerules/hooks/`) remain experimental upstream and are not yet generated. |
105
+
106
+ ### Roo Code
107
+
108
+ | Field | Value |
109
+ |-------|-------|
110
+ | ID | `roo-code` |
111
+ | Docs | https://docs.roocode.com |
112
+ | Release notes | https://github.com/RooCodeInc/Roo-Code/releases |
113
+ | Config paths | `.roomodes`, `.roo/rules/*.md`, `.roo/rules-{slug}/*.md`, `.roo/mcp.json`, `~/.roo/rules/`, `~/.roo/settings/custom_modes.yaml`, `~/.roo/settings/mcp_settings.json` |
114
+ | Our generators | `scripts/generate_roo_modes.py`, `scripts/generate_roo_rules.py` |
115
+ | Tracked capabilities | `roomodes`, custom modes, Code Actions, MCP, Orchestrator mode, `whenToUse`, `description`, `roleDefinition`, `groups` |
116
+ | Notes | `.roomodes` now includes `description` and `whenToUse` for every mode (since 2026-04). YAML `.roomodes` is upstream-preferred but not yet emitted — JSON is still accepted by Roo. |
117
+
118
+ ### Aider
119
+
120
+ | Field | Value |
121
+ |-------|-------|
122
+ | ID | `aider` |
123
+ | Docs | https://aider.chat/docs |
124
+ | Changelog | https://aider.chat/HISTORY.html |
125
+ | Config paths | `.aider.conf.yml`, `CONVENTIONS.md`, `~/.aider.conf.yml` |
126
+ | Our generators | `scripts/generate_aider_conf.py`, `scripts/generate_conventions.py` |
127
+ | Tracked capabilities | `.aider.conf.yml`, `CONVENTIONS.md`, `architect`, `auto-accept-architect`, `read`, `lint-cmd`, `test-cmd`, `commit-prompt`, `attribute-co-authored-by`, `chat-language`, `commit-language`, `watch-files`, `auto-commits` |
128
+ | Version probe | `aider --version` |
129
+ | Latest upstream | v0.86.1 (Aug 2025) |
130
+
131
+ ### Augment
132
+
133
+ | Field | Value |
134
+ |-------|-------|
135
+ | ID | `augment` |
136
+ | Docs | https://docs.augmentcode.com |
137
+ | Changelog | https://www.augmentcode.com/changelog |
138
+ | Config paths | `.augment/rules/*.md`, `.augment/guidelines.md` (legacy), `.augment/agents/*.md`, `.augment/commands/*.md`, `.augment/skills/*/SKILL.md`, `~/.augment/rules/*.md`, `~/.augment/settings.json`, `/etc/augment/settings.json` |
139
+ | Our generators | `scripts/generate_augment.py`, `scripts/generate_augment_rules.py` |
140
+ | Tracked capabilities | `.augment`, Agent mode, Next Edit, MCP, context engine, Auggie CLI, `always_apply`, `agent_requested`, subagents, custom commands, `SKILL.md`, `PreToolUse`, `PostToolUse`, `SessionStart`, `SessionEnd`, `Stop`, ACP Mode |
141
+ | SPA caveat | Mintlify Next.js SPA; use `https://docs.augmentcode.com/<path>.md` siblings (discoverable via `/llms.txt`) for machine reads |
142
+
143
+ ### Google Antigravity
144
+
145
+ | Field | Value |
146
+ |-------|-------|
147
+ | ID | `google-antigravity` |
148
+ | Docs | https://antigravity.google/docs (JavaScript SPA — use bundle strings / sitemap to verify) |
149
+ | Changelog | https://antigravity.google/changelog (SPA; changelog entries embedded in main-*.js) |
150
+ | Config paths | `.agent/rules/*.md`, `.agent/workflows/*.md`, `.agent/skills/*/SKILL.md`, `AGENTS.md`, `GEMINI.md` |
151
+ | Our generators | `scripts/generate_antigravity.py` (rules + workflows + skill pointer) |
152
+ | Tracked capabilities | Antigravity, agent manager, artifacts, MCP, workflows, rules, skills, `AGENTS.md`, `GEMINI.md`, agent permissions |
153
+ | Doc access note | Docs are JS-SPA — verify via `main-*.js` bundle strings or community skill repos. `WebFetch` returns an empty shell. |
154
+
155
+ ### Codex CLI
156
+
157
+ | Field | Value |
158
+ |-------|-------|
159
+ | ID | `codex-cli` |
160
+ | Docs | https://github.com/openai/codex (redirects from developers.openai.com/codex) |
161
+ | Release notes | https://github.com/openai/codex/releases |
162
+ | Config paths | `AGENTS.md`, `.agents/rules/*.md`, `.codex/hooks.json`, `.codex/skills/*/SKILL.md`, `~/.codex/config.toml` |
163
+ | Our generators | `scripts/generate_codex.py`, `scripts/generate_codex_rules.py`, `scripts/generate_codex_hooks.py` |
164
+ | Tracked hook events | `PreToolUse`, `PostToolUse`, `SessionStart`, `UserPromptSubmit`, `Stop`, `PermissionRequest` (6 events supported upstream in `config.toml`) |
165
+ | Tracked handler types | `command` (emitted by default); `prompt` and `agent` available upstream but authored by hand |
166
+ | Other capabilities | `AGENTS.md`, `config.toml`, `mcp_servers`, sandbox policies, `.codex/skills/*/SKILL.md` (native discovery, not auto-emitted by ai-toolkit yet) |
167
+ | Version probe | `codex --version` |
168
+
169
+ ### opencode
170
+
171
+ | Field | Value |
172
+ |-------|-------|
173
+ | ID | `opencode` |
174
+ | Docs | https://opencode.ai/docs |
175
+ | Release notes | https://github.com/sst/opencode/releases |
176
+ | Config paths | `opencode.json`, `.opencode/agents/*.md`, `.opencode/commands/*.md`, `.opencode/plugins/*`, `.opencode/skills/*/SKILL.md` (v1.14+), `AGENTS.md`, `.claude/skills/*/SKILL.md` (fallback discovery) |
177
+ | Our generators | `scripts/generate_opencode.py`, `scripts/generate_opencode_agents.py`, `scripts/generate_opencode_commands.py`, `scripts/generate_opencode_json.py`, `scripts/generate_opencode_plugin.py` |
178
+ | Tracked plugin events | `session.created`, `session.compacted`, `session.deleted`, `message.updated`, `tool.execute.before`, `tool.execute.after`, `permission.asked`, `command.executed` |
179
+ | Other capabilities | `opencode.json` config, primary + subagent modes, `@`-mention subagents, `/`-invocation commands, MCP (local + remote), plugin hooks in JS/TS, native `SKILL.md` discovery with Claude-compatible fallback, `permission.skill.*` matrix |
180
+ | Version probe | `opencode --version` |
181
+
182
+ ---
183
+
184
+ ## How the Registry is Consumed
185
+
186
+ ```
187
+ ┌─────────────────────────┐
188
+ │ ecosystem_tools.json │ ← authoritative config (this doc mirrors it)
189
+ └──────────┬──────────────┘
190
+ │ read
191
+
192
+ ┌─────────────────────────┐ ┌─────────────────────────────────┐
193
+ │ ecosystem_doctor.py │◄───►│ ecosystem-doctor-snapshot.json │ (last-seen state)
194
+ └──────────┬──────────────┘ └─────────────────────────────────┘
195
+ │ emits
196
+
197
+ Drift report (JSON or text) → human review → generator updates → commit
198
+ ```
199
+
200
+ ---
201
+
202
+ ## Adding a New Tool
203
+
204
+ 1. Append an entry to `scripts/ecosystem_tools.json` with all required fields (schema: `schema_version: 1`).
205
+ 2. Add a generator under `scripts/generate_<tool>_*.py` (or link to an existing one).
206
+ 3. Update this registry doc with a new section matching the format above.
207
+ 4. Baseline the snapshot: `python3 scripts/ecosystem_doctor.py --update --tool <id>`.
208
+ 5. Run the doctor again to confirm clean state: `python3 scripts/ecosystem_doctor.py --tool <id> --format text`.
209
+ 6. Update tool count at the top of this document.
210
+
211
+ ---
212
+
213
+ ## Removing a Tool
214
+
215
+ 1. Delete the tool's entry from `scripts/ecosystem_tools.json`.
216
+ 2. Delete its section from this document.
217
+ 3. Delete its snapshot entry from `benchmarks/ecosystem-doctor-snapshot.json` (or let the next `--update` prune it — currently not pruned automatically).
218
+ 4. Decide whether to keep the generator (`scripts/generate_<tool>_*.py`) for backwards compatibility or delete it.
219
+ 5. Remove references from `README.md`, `manifest.json` `description` field, and `kb/procedures/maintenance-sop.md` `Supported editors` line.
220
+
221
+ ---
222
+
223
+ ## Related
224
+
225
+ - [Ecosystem Sync SOP](../procedures/ecosystem-sync-sop.md) — how to use the doctor
226
+ - [MCP Editor Compatibility](./mcp-editor-compatibility.md) — MCP-specific subset
227
+ - `scripts/ecosystem_tools.json` — source of truth
228
+ - `scripts/ecosystem_doctor.py` — drift detector
229
+ - `benchmarks/ecosystem-doctor-snapshot.json` — last-seen state