@softspark/ai-toolkit 2.11.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.
- package/AGENTS.md +21 -21
- package/CHANGELOG.md +62 -0
- package/README.md +16 -9
- package/app/.claude-plugin/plugin.json +1 -1
- package/app/agents/meta-architect.md +44 -0
- package/app/skills/agent-creator/SKILL.md +22 -6
- package/app/skills/analyze/SKILL.md +21 -1
- package/app/skills/api-patterns/SKILL.md +27 -0
- package/app/skills/app-builder/SKILL.md +24 -0
- package/app/skills/architecture-audit/SKILL.md +24 -0
- package/app/skills/architecture-decision/SKILL.md +24 -0
- package/app/skills/biz-scan/SKILL.md +24 -0
- package/app/skills/brand-voice/SKILL.md +36 -0
- package/app/skills/briefing/SKILL.md +41 -1
- package/app/skills/build/SKILL.md +24 -1
- package/app/skills/chaos/SKILL.md +22 -1
- package/app/skills/ci/SKILL.md +22 -1
- package/app/skills/ci-cd-patterns/SKILL.md +25 -0
- package/app/skills/command-creator/SKILL.md +31 -2
- package/app/skills/content-moderation-patterns/SKILL.md +25 -0
- package/app/skills/database-patterns/SKILL.md +25 -0
- package/app/skills/debug/SKILL.md +23 -1
- package/app/skills/design-engineering/SKILL.md +25 -0
- package/app/skills/docker-devops/SKILL.md +26 -0
- package/app/skills/ecommerce-patterns/SKILL.md +26 -0
- package/app/skills/evaluate/SKILL.md +22 -1
- package/app/skills/evolve/SKILL.md +25 -0
- package/app/skills/explain/SKILL.md +26 -1
- package/app/skills/explore/SKILL.md +25 -0
- package/app/skills/fix/SKILL.md +26 -1
- package/app/skills/git-mastery/SKILL.md +26 -0
- package/app/skills/grill-me/SKILL.md +22 -7
- package/app/skills/health/SKILL.md +22 -1
- package/app/skills/hipaa-validate/SKILL.md +25 -8
- package/app/skills/hook-creator/SKILL.md +107 -14
- package/app/skills/index/SKILL.md +22 -1
- package/app/skills/instinct-review/SKILL.md +25 -1
- package/app/skills/introspect/SKILL.md +26 -1
- package/app/skills/lint/SKILL.md +27 -1
- package/app/skills/mcp-builder/SKILL.md +27 -0
- package/app/skills/mem-search/SKILL.md +40 -0
- package/app/skills/migrate/SKILL.md +27 -1
- package/app/skills/migration-patterns/SKILL.md +26 -0
- package/app/skills/night-watch/SKILL.md +22 -1
- package/app/skills/observability-patterns/SKILL.md +26 -0
- package/app/skills/onboard/SKILL.md +22 -1
- package/app/skills/panic/SKILL.md +21 -1
- package/app/skills/performance-profiling/SKILL.md +34 -0
- package/app/skills/persona/SKILL.md +21 -4
- package/app/skills/plan/SKILL.md +26 -0
- package/app/skills/plan-writing/SKILL.md +26 -0
- package/app/skills/plugin-creator/SKILL.md +23 -6
- package/app/skills/pr/SKILL.md +24 -1
- package/app/skills/prd-to-issues/SKILL.md +22 -6
- package/app/skills/prd-to-plan/SKILL.md +22 -4
- package/app/skills/predict/SKILL.md +25 -0
- package/app/skills/qa-session/SKILL.md +23 -7
- package/app/skills/rag-patterns/SKILL.md +26 -0
- package/app/skills/refactor/SKILL.md +26 -0
- package/app/skills/refactor-plan/SKILL.md +23 -6
- package/app/skills/rollback/SKILL.md +27 -1
- package/app/skills/security-patterns/SKILL.md +27 -0
- package/app/skills/skill-audit/SKILL.md +22 -5
- package/app/skills/skill-creator/SKILL.md +58 -13
- package/app/skills/swift-patterns/SKILL.md +27 -107
- package/app/skills/swift-patterns/reference/frameworks.md +111 -0
- package/app/skills/test/SKILL.md +23 -1
- package/app/skills/testing-patterns/SKILL.md +26 -0
- package/app/skills/triage-issue/SKILL.md +22 -4
- package/app/skills/ubiquitous-language/SKILL.md +23 -8
- package/benchmarks/ecosystem-doctor-snapshot.json +395 -0
- package/kb/history/completed/deep-coverage-v3-20260423.md +160 -0
- package/kb/history/completed/ecosystem-deep-sweep-20260423.md +273 -0
- package/kb/procedures/ecosystem-sync-sop.md +255 -0
- package/kb/procedures/maintenance-sop.md +13 -2
- package/kb/procedures/release-preparation-sop.md +91 -12
- package/kb/procedures/release-verification-sop.md +24 -6
- package/kb/reference/global-install-model.md +15 -2
- package/kb/reference/supported-tools-registry.md +229 -0
- package/llms-full.txt +1105 -43
- package/llms.txt +4 -0
- package/manifest.json +1 -1
- package/package.json +4 -1
- package/scripts/ecosystem_doctor.py +348 -0
- package/scripts/ecosystem_tools.json +500 -0
- package/scripts/evaluate_skills.py +84 -0
- package/scripts/generate_aider_conf.py +26 -1
- package/scripts/generate_antigravity.py +77 -8
- package/scripts/generate_augment_agents.py +161 -0
- package/scripts/generate_augment_commands.py +160 -0
- package/scripts/generate_augment_hooks.py +162 -0
- package/scripts/generate_augment_skills.py +98 -0
- package/scripts/generate_cline_rules.py +96 -9
- package/scripts/generate_codex_hooks.py +13 -2
- package/scripts/generate_codex_skills.py +195 -0
- package/scripts/generate_copilot.py +296 -18
- package/scripts/generate_cursor_agents.py +144 -0
- package/scripts/generate_cursor_hooks.py +155 -0
- package/scripts/generate_cursor_mdc.py +20 -8
- package/scripts/generate_gemini_commands.py +158 -0
- package/scripts/generate_gemini_hooks.py +159 -0
- package/scripts/generate_gemini_skills.py +98 -0
- package/scripts/generate_roo_modes.py +42 -1
- package/scripts/generate_windsurf_hooks.py +143 -0
- package/scripts/generate_windsurf_rules.py +162 -10
- package/scripts/install.py +11 -2
- package/scripts/install_steps/ai_tools.py +120 -5
- package/scripts/validate.py +20 -3
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
title: "SOP: Release Preparation"
|
|
3
3
|
category: procedures
|
|
4
4
|
service: ai-toolkit
|
|
5
|
-
tags: [sop, release, version, publish, changelog, semver, provenance, sarif]
|
|
6
|
-
version: "1.
|
|
5
|
+
tags: [sop, release, version, publish, changelog, semver, provenance, sarif, ecosystem]
|
|
6
|
+
version: "1.9.0"
|
|
7
7
|
created: "2026-04-10"
|
|
8
|
-
last_updated: "2026-04-
|
|
9
|
-
description: "Step-by-step checklist for preparing a new ai-toolkit release — version sync, changelog, artifact regeneration, validation, and tagging. Run BEFORE every git tag. Includes mandatory Provenance, SARIF, and checksum-pin checks added in v2.8.0."
|
|
8
|
+
last_updated: "2026-04-23"
|
|
9
|
+
description: "Step-by-step checklist for preparing a new ai-toolkit release — ecosystem-sync drift check, version sync, changelog, artifact regeneration, validation, and tagging. Run BEFORE every git tag. Includes mandatory Provenance, SARIF, and checksum-pin checks added in v2.8.0, the single-run npm test discipline added in v1.8.0, and the ecosystem-sync gate added in v1.9.0."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# SOP: Release Preparation
|
|
@@ -17,20 +17,33 @@ Run this **before** tagging. After tagging and publishing, run the
|
|
|
17
17
|
|
|
18
18
|
**Pipeline:**
|
|
19
19
|
```
|
|
20
|
-
|
|
20
|
+
Ecosystem Sync SOP (drift check + generator updates)
|
|
21
|
+
↓
|
|
22
|
+
Release Preparation (this SOP)
|
|
23
|
+
↓
|
|
24
|
+
git tag → CI publish → Release Verification SOP
|
|
21
25
|
```
|
|
22
26
|
|
|
23
|
-
**Time:**
|
|
27
|
+
**Time:** 10-20 minutes (includes ecosystem sync review)
|
|
24
28
|
|
|
25
29
|
---
|
|
26
30
|
|
|
27
31
|
## Quick Checklist (TL;DR)
|
|
28
32
|
|
|
29
33
|
```bash
|
|
34
|
+
# 0. Ecosystem sync (mandatory for minor/major releases; optional for patch)
|
|
35
|
+
# Full procedure: kb/procedures/ecosystem-sync-sop.md
|
|
36
|
+
python3 scripts/ecosystem_doctor.py --format text > /tmp/eco-report.txt
|
|
37
|
+
cat /tmp/eco-report.txt
|
|
38
|
+
# If drift detected: stop here, follow ecosystem-sync-sop.md Phase 2-4 to
|
|
39
|
+
# classify each drift (A-F), update generators as needed, refresh snapshot,
|
|
40
|
+
# THEN resume this SOP.
|
|
41
|
+
python3 scripts/ecosystem_doctor.py --update # after all drift resolved
|
|
42
|
+
|
|
30
43
|
# 1. Decide version bump
|
|
31
44
|
# patch (1.4.2 → 1.4.3): bugfix, typo, doc fix
|
|
32
|
-
# minor (1.4.2 → 1.5.0): new feature, new skill, new flag
|
|
33
|
-
# major (1.4.2 → 2.0.0): breaking change
|
|
45
|
+
# minor (1.4.2 → 1.5.0): new feature, new skill, new flag, any ecosystem-class-B/F change
|
|
46
|
+
# major (1.4.2 → 2.0.0): breaking change, any ecosystem-class-D removed path
|
|
34
47
|
|
|
35
48
|
# 2. Sync version across all files
|
|
36
49
|
python3 scripts/sync_version.py X.Y.Z # if script exists, else manual
|
|
@@ -42,7 +55,7 @@ python3 scripts/generate_codex_rules.py .
|
|
|
42
55
|
python3 scripts/generate_llms_txt.py > llms.txt
|
|
43
56
|
python3 scripts/generate_llms_txt.py --full > llms-full.txt
|
|
44
57
|
|
|
45
|
-
# 5. Validate + audit + SARIF + test
|
|
58
|
+
# 5. Validate + audit + SARIF + test + ecosystem check
|
|
46
59
|
python3 scripts/validate.py --strict && python3 scripts/audit_skills.py --ci && python3 scripts/audit_skills.py --sarif > /tmp/audit.sarif && npm test
|
|
47
60
|
|
|
48
61
|
# 5a. Supply-chain standard (v2.8.0+) — non-negotiable
|
|
@@ -50,6 +63,9 @@ grep -q -- '--provenance' .github/workflows/publish.yml || { echo "MISSING --pro
|
|
|
50
63
|
grep -q 'id-token: write' .github/workflows/publish.yml || { echo "MISSING id-token: write"; exit 1; }
|
|
51
64
|
python3 scripts/audit_skills.py --permissions # review Bash/Write/Edit footprint
|
|
52
65
|
|
|
66
|
+
# 5b. Ecosystem gate — snapshot must be current before tag
|
|
67
|
+
python3 scripts/ecosystem_doctor.py --offline --check || { echo "STALE ecosystem snapshot — re-run doctor"; exit 1; }
|
|
68
|
+
|
|
53
69
|
# 6. Commit + tag + push
|
|
54
70
|
git add -A && git commit -m "chore: release vX.Y.Z"
|
|
55
71
|
git tag vX.Y.Z
|
|
@@ -58,6 +74,60 @@ git push origin main --tags
|
|
|
58
74
|
|
|
59
75
|
---
|
|
60
76
|
|
|
77
|
+
## Phase 0: Ecosystem Sync (MANDATORY for minor/major)
|
|
78
|
+
|
|
79
|
+
Before touching version numbers, confirm the toolkit is aligned with the current state of every editor / platform it integrates with. Skipping this phase ships a release whose generators may lag a month-old CLI refactor, a rename of `.cursorrules` to `.cursor/rules/`, or a new hook event we do not yet emit.
|
|
80
|
+
|
|
81
|
+
**When this phase is mandatory:**
|
|
82
|
+
- Minor release (X.Y.0) — always
|
|
83
|
+
- Major release (X.0.0) — always
|
|
84
|
+
- Patch release (X.Y.Z) — only if the patch touches a generator or install flow
|
|
85
|
+
|
|
86
|
+
**When to skip:** pure doc-only patches, SOP edits, internal refactors that do not touch `scripts/generate_*` or `app/skills/*/SKILL.md`.
|
|
87
|
+
|
|
88
|
+
### 0.1 Run the doctor
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
python3 scripts/ecosystem_doctor.py --format text | tee /tmp/eco-report.txt
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Output classifies every registered tool as **Clean**, **Drift**, or **Errored**.
|
|
95
|
+
|
|
96
|
+
### 0.2 Act on drift
|
|
97
|
+
|
|
98
|
+
For each drifting tool, follow [ecosystem-sync-sop.md](ecosystem-sync-sop.md) Phase 2-4:
|
|
99
|
+
|
|
100
|
+
| Drift class | Release impact |
|
|
101
|
+
|-------------|----------------|
|
|
102
|
+
| A (cosmetic reword) | No version impact — refresh snapshot, continue |
|
|
103
|
+
| B (new feature — integrate) | **Minor** version bump at minimum; new generator or extended generator |
|
|
104
|
+
| C (new feature — not adopted) | No impact — note in registry |
|
|
105
|
+
| D (deprecation) | **Minor** or **major** depending on user impact; add migration warning |
|
|
106
|
+
| E (feature promoted to default) | **Minor**; simplify generator, keep fallback comment |
|
|
107
|
+
| F (feature newly globally available) | **Minor**; may require new generator or new config path |
|
|
108
|
+
|
|
109
|
+
If any B/D/E/F changes land in this preparation pass, mention them explicitly in the CHANGELOG entry (Phase 3) under a `Ecosystem` subsection.
|
|
110
|
+
|
|
111
|
+
### 0.3 Refresh snapshot
|
|
112
|
+
|
|
113
|
+
Once every drift is resolved (either by code change or by re-classifying as acceptable):
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
python3 scripts/ecosystem_doctor.py --update
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
This writes the new baseline to `benchmarks/ecosystem-doctor-snapshot.json`. Commit it as part of the release commit.
|
|
120
|
+
|
|
121
|
+
### 0.4 Gate
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
python3 scripts/ecosystem_doctor.py --offline --check
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Must exit `0`. If it exits `1`, the snapshot is stale — rerun Phase 0.3 or review the remaining drift.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
61
131
|
## Phase 1: Determine Version Bump
|
|
62
132
|
|
|
63
133
|
Follow [Semantic Versioning](https://semver.org/):
|
|
@@ -207,7 +277,13 @@ python3 scripts/validate.py --strict
|
|
|
207
277
|
python3 scripts/audit_skills.py --ci
|
|
208
278
|
python3 scripts/audit_skills.py --sarif > audit.sarif # MANDATORY — GHAS ingest
|
|
209
279
|
python3 scripts/audit_skills.py --permissions # review Bash/Write/Edit footprint
|
|
210
|
-
|
|
280
|
+
|
|
281
|
+
# Run npm test ONCE, cache output, parse from file. The suite is 669+ bats
|
|
282
|
+
# cases — rerunning it per check wastes minutes. Do not pipe npm test into
|
|
283
|
+
# tail/grep multiple times in the same session.
|
|
284
|
+
npm test > /tmp/npm-test.log 2>&1
|
|
285
|
+
tail -3 /tmp/npm-test.log
|
|
286
|
+
echo "ok: $(grep -c '^ok ' /tmp/npm-test.log) | not ok: $(grep -c '^not ok' /tmp/npm-test.log)"
|
|
211
287
|
```
|
|
212
288
|
|
|
213
289
|
**Expected results:**
|
|
@@ -215,7 +291,7 @@ npm test
|
|
|
215
291
|
- `audit_skills.py --ci`: `HIGH: 0 | WARN: 0` (INFO is acceptable)
|
|
216
292
|
- `audit_skills.py --sarif`: valid JSON, non-empty `runs[0].tool.driver.rules`
|
|
217
293
|
- `audit_skills.py --permissions`: review `Skills with Bash + Write + Edit` list — any newly-added skill with broad access MUST be justified in the CHANGELOG entry
|
|
218
|
-
- `npm test`: `1..N` with zero `not ok`
|
|
294
|
+
- `npm test`: `1..N` with zero `not ok` (read from the cached `/tmp/npm-test.log`, do not rerun)
|
|
219
295
|
|
|
220
296
|
**One-liner:**
|
|
221
297
|
```bash
|
|
@@ -332,13 +408,16 @@ git push origin --delete vX.Y.Z
|
|
|
332
408
|
|
|
333
409
|
| # | Step | Command / Action | Pass Criteria |
|
|
334
410
|
|---|------|-----------------|---------------|
|
|
411
|
+
| 0a | Ecosystem drift check | `ecosystem_doctor.py --format text` | All tools Clean, or drift classified and resolved |
|
|
412
|
+
| 0b | Ecosystem snapshot refresh | `ecosystem_doctor.py --update` | `benchmarks/ecosystem-doctor-snapshot.json` updated |
|
|
413
|
+
| 0c | Ecosystem gate | `ecosystem_doctor.py --offline --check` | Exit 0 |
|
|
335
414
|
| 1 | Version bump type | Decide patch/minor/major | — |
|
|
336
415
|
| 2 | `package.json` version | Edit `"version"` | Matches target |
|
|
337
416
|
| 3 | `manifest.json` version | Edit `"version"` | Matches target |
|
|
338
417
|
| 4 | `plugin.json` version | Edit `"version"` | Matches target |
|
|
339
418
|
| 5 | `package-lock.json` | `npm install --package-lock-only` | Matches target |
|
|
340
419
|
| 6 | Count sync | Check `package.json` description, README | `validate.py` passes |
|
|
341
|
-
| 7 | CHANGELOG.md | Add release entry | Entry exists for vX.Y.Z |
|
|
420
|
+
| 7 | CHANGELOG.md | Add release entry (incl. `Ecosystem` subsection if any B/D/E/F drift) | Entry exists for vX.Y.Z |
|
|
342
421
|
| 8 | Regenerate artifacts | `generate_agents_md.py`, `generate_codex_rules.py`, `generate_llms_txt.py` | No unexpected diff |
|
|
343
422
|
| 9 | Validate | `validate.py --strict` | 0 errors, 0 warnings |
|
|
344
423
|
| 10 | Security audit (CI mode) | `audit_skills.py --ci` | 0 HIGH |
|
|
@@ -3,10 +3,10 @@ title: "SOP: Release Verification"
|
|
|
3
3
|
category: procedures
|
|
4
4
|
service: ai-toolkit
|
|
5
5
|
tags: [sop, verification, release, smoke-test, install, update, qa, provenance, sarif]
|
|
6
|
-
version: "1.
|
|
6
|
+
version: "1.3.0"
|
|
7
7
|
created: "2026-04-08"
|
|
8
|
-
last_updated: "2026-04-
|
|
9
|
-
description: "End-to-end smoke test after installing or updating @softspark/ai-toolkit — verifies CLI, install, doctor, validation, tests, eject, npm provenance attestation, SARIF audit, and per-skill permissions. Reflects the v2.8.0 supply-chain standard."
|
|
8
|
+
last_updated: "2026-04-21"
|
|
9
|
+
description: "End-to-end smoke test after installing or updating @softspark/ai-toolkit — verifies CLI, install, doctor, validation, tests, eject, npm provenance attestation, SARIF audit, and per-skill permissions. Reflects the v2.8.0 supply-chain standard. v1.3.0 adds the single-run npm test discipline (cache to file, parse ok/not-ok once)."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# SOP: Release Verification
|
|
@@ -39,7 +39,7 @@ python3 scripts/generate_agents_md.py > AGENTS.md # 1. Regenerate AGEN
|
|
|
39
39
|
python3 scripts/generate_codex_rules.py . # 2. Refresh standard Codex rules
|
|
40
40
|
python3 scripts/generate_llms_txt.py > llms.txt # 3. Regenerate llms.txt
|
|
41
41
|
python3 scripts/validate.py --strict # 4. Validation passed?
|
|
42
|
-
npm test
|
|
42
|
+
npm test > /tmp/npm-test.log 2>&1 && grep -c '^ok ' /tmp/npm-test.log && ! grep -q '^not ok' /tmp/npm-test.log # 5. All tests passed? (single run, cached)
|
|
43
43
|
|
|
44
44
|
# Post-install verification (Phases 1-7)
|
|
45
45
|
ai-toolkit --version # 6. Version OK?
|
|
@@ -204,15 +204,33 @@ python3 scripts/audit_skills.py --ci
|
|
|
204
204
|
## Phase 6: Tests (3-5 min)
|
|
205
205
|
|
|
206
206
|
```bash
|
|
207
|
-
|
|
207
|
+
# Run ONCE, capture to file, then parse. Full suite is 669+ bats cases —
|
|
208
|
+
# re-running it per check (tail / grep ok / grep not ok piped separately)
|
|
209
|
+
# wastes minutes every release. Always cache the output.
|
|
210
|
+
npm test > /tmp/npm-test.log 2>&1
|
|
211
|
+
exit=$?
|
|
212
|
+
tail -3 /tmp/npm-test.log
|
|
213
|
+
echo "ok: $(grep -c '^ok ' /tmp/npm-test.log)"
|
|
214
|
+
echo "not ok: $(grep -c '^not ok' /tmp/npm-test.log)"
|
|
215
|
+
echo "exit: $exit"
|
|
208
216
|
```
|
|
209
217
|
|
|
210
218
|
**Verify:**
|
|
219
|
+
- [ ] `exit == 0`
|
|
220
|
+
- [ ] `ok == expected test count` (e.g., 669)
|
|
221
|
+
- [ ] `not ok == 0`
|
|
211
222
|
- [ ] Bats runs tests in parallel (4 jobs)
|
|
212
|
-
- [ ] All `ok` — zero `not ok`
|
|
213
223
|
- [ ] Groups: agents, autodetect, cli, generators, guards, hooks, inject,
|
|
214
224
|
install, kb, mcp, readme, profiles, uninstall, validate
|
|
215
225
|
|
|
226
|
+
**Anti-pattern — do NOT do this:**
|
|
227
|
+
```bash
|
|
228
|
+
# Runs the full suite THREE times. Adds 1-3 min and pressures CI capacity.
|
|
229
|
+
npm test 2>&1 | tail -3
|
|
230
|
+
npm test 2>&1 | grep -c '^ok '
|
|
231
|
+
npm test 2>&1 | grep -c '^not ok'
|
|
232
|
+
```
|
|
233
|
+
|
|
216
234
|
**Key test areas:**
|
|
217
235
|
- Guards: rm -rf, DROP TABLE, git push --force blocked
|
|
218
236
|
- Install: idempotent, profiles, --only/--skip, orphan cleanup
|
|
@@ -3,9 +3,9 @@ title: "Global Install Model"
|
|
|
3
3
|
category: reference
|
|
4
4
|
service: ai-toolkit
|
|
5
5
|
tags: [install, global, claude, codex, plugins, local-setup]
|
|
6
|
-
version: "
|
|
6
|
+
version: "3.0.0"
|
|
7
7
|
created: "2026-03-26"
|
|
8
|
-
last_updated: "2026-04-
|
|
8
|
+
last_updated: "2026-04-23"
|
|
9
9
|
description: "Reference description of the global install target, project-local editor setup, global Codex plugin layering, and command responsibilities in ai-toolkit."
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -39,6 +39,19 @@ installed with `ai-toolkit plugin install --editor codex`.
|
|
|
39
39
|
| `ai-toolkit plugin update --editor claude|codex|all <name>` | runtime-native config | re-apply plugin pack after toolkit updates |
|
|
40
40
|
| `ai-toolkit plugin remove --editor claude|codex|all <name>` | runtime-native config | remove plugin pack from selected runtime(s) |
|
|
41
41
|
|
|
42
|
+
## Install Profiles (v3.0.0)
|
|
43
|
+
|
|
44
|
+
The `--profile` flag controls how much of each editor's native surface is activated.
|
|
45
|
+
|
|
46
|
+
| Profile | What runs | Use when |
|
|
47
|
+
|---------|-----------|----------|
|
|
48
|
+
| `minimal` | Agents and skills only. No editor generators beyond pointer skills for editors that require them. | You want the smallest possible footprint, or you manage editor configs by hand. |
|
|
49
|
+
| `standard` (default) | Claude Code + editor rule files. Includes **Gemini hooks** and the **Copilot directory layout** (v3.0.0 change from prior `standard`). | Day-to-day installs. Most users. |
|
|
50
|
+
| `strict` | Everything in `standard` plus git-hook wiring for commit-time safety checks. | Solo dev or tight team with zero tolerance for drift. |
|
|
51
|
+
| `full` | Every native surface across every editor: hooks, sub-agents, custom commands, skill pointers for Cursor / Windsurf / Gemini / Augment / Antigravity. | You want maximum coverage and understand that each editor will carry generated files under its own layout. |
|
|
52
|
+
|
|
53
|
+
`--codex-skills` is an independent opt-in flag (not part of profile) that materializes the full `.claude/skills/` catalog under `.agents/skills/` for Codex. Other editors stay on compat-read or the per-editor pointer skill.
|
|
54
|
+
|
|
42
55
|
## Why global install is the default
|
|
43
56
|
|
|
44
57
|
- less setup friction,
|
|
@@ -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
|