@softspark/ai-toolkit 4.5.1 → 4.7.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 +50 -0
- package/CHANGELOG.md +46 -0
- package/README.md +13 -13
- package/app/.claude-plugin/plugin.json +1 -1
- package/benchmarks/ecosystem-doctor-snapshot.json +76 -54
- package/bin/ai-toolkit.js +2 -5
- package/kb/procedures/maintenance-sop.md +9 -8
- package/kb/procedures/release-preparation-sop.md +24 -16
- package/kb/procedures/release-verification-sop.md +4 -6
- package/kb/reference/architecture-overview.md +5 -6
- package/kb/reference/cli-reference.md +2 -3
- package/kb/reference/global-install-model.md +3 -3
- package/kb/reference/opencode-compatibility.md +2 -2
- package/kb/reference/supported-tools-registry.md +40 -33
- package/llms-full.txt +89 -77
- package/manifest.json +1 -1
- package/package.json +2 -3
- package/scripts/ecosystem_tools.json +74 -20
- package/scripts/generate_antigravity.py +32 -21
- package/scripts/generate_augment_agents.py +9 -10
- package/scripts/generate_augment_commands.py +4 -17
- package/scripts/generate_augment_hooks.py +7 -5
- package/scripts/generate_codex.py +28 -0
- package/scripts/generate_codex_hooks.py +23 -1
- package/scripts/generate_cursor_agents.py +13 -29
- package/scripts/generate_cursor_mdc.py +4 -3
- package/scripts/generate_opencode_commands.py +9 -9
- package/scripts/generate_windsurf_hooks.py +6 -0
- package/scripts/generate_windsurf_rules.py +39 -24
- package/scripts/generate_windsurf_skills.py +14 -4
- package/scripts/install.py +1 -1
- package/scripts/install_steps/ai_tools.py +68 -30
- package/scripts/plugin.py +2 -2
- package/scripts/validate.py +1 -0
- package/scripts/generate_codex_rules.py +0 -52
package/llms-full.txt
CHANGED
|
@@ -4404,9 +4404,9 @@ title: "SOP: Claude Toolkit Maintenance"
|
|
|
4404
4404
|
category: procedures
|
|
4405
4405
|
service: ai-toolkit
|
|
4406
4406
|
tags: [sop, maintenance, agents, skills, install]
|
|
4407
|
-
version: "3.0
|
|
4407
|
+
version: "3.1.0"
|
|
4408
4408
|
created: "2026-03-23"
|
|
4409
|
-
last_updated: "2026-
|
|
4409
|
+
last_updated: "2026-06-10"
|
|
4410
4410
|
description: "Standard operating procedures for installing, maintaining, and evolving the ai-toolkit."
|
|
4411
4411
|
---
|
|
4412
4412
|
|
|
@@ -4612,18 +4612,19 @@ Use this when Claude appears to ignore `CLAUDE.md`, `.claude/rules/*.md`, output
|
|
|
4612
4612
|
- `https://code.claude.com/docs/en/settings`
|
|
4613
4613
|
- `https://code.claude.com/docs/en/output-styles`
|
|
4614
4614
|
- `https://code.claude.com/docs/en/hooks`
|
|
4615
|
-
2. **
|
|
4616
|
-
3. **Verify the
|
|
4617
|
-
4. **
|
|
4618
|
-
5. **
|
|
4615
|
+
2. **Isolate with safe mode (v2.1.169+).** Start a session with `claude --safe-mode` (or `CLAUDE_CODE_SAFE_MODE=1`) — it disables hooks, skills, agents, and CLAUDE.md. If the problem persists in safe mode, the cause is upstream, not toolkit customization; if it disappears, bisect toolkit components with `ai-toolkit update --only <component>`.
|
|
4616
|
+
3. **Verify instruction loading.** Run `/memory` in Claude Code and confirm the expected `CLAUDE.md`, `CLAUDE.local.md`, and `.claude/rules/*.md` files are listed. Remember that Claude Code reads `CLAUDE.md`, not `AGENTS.md`, unless `CLAUDE.md` imports it.
|
|
4617
|
+
4. **Verify the active output style.** Check `.claude/settings.local.json` or `/config`. Output style changes apply after `/clear` or a new session.
|
|
4618
|
+
5. **Inspect installed hooks.** Ensure `~/.claude/settings.json` contains the ai-toolkit `UserPromptSubmit` and `Stop` entries. The governance hook must run with `AI_TOOLKIT_HOOK_QUIET=1 AI_TOOLKIT_HOOK_FORMAT=json` so it injects `additionalContext` without noisy transcript output.
|
|
4619
|
+
6. **Reproduce the hook path directly.**
|
|
4619
4620
|
```bash
|
|
4620
4621
|
printf '{"session_id":"debug","prompt":"debug this technical rule issue"}' \
|
|
4621
4622
|
| AI_TOOLKIT_SEARCH_FIRST=strict AI_TOOLKIT_HOOK_QUIET=1 AI_TOOLKIT_HOOK_FORMAT=json \
|
|
4622
4623
|
~/.softspark/ai-toolkit/hooks/user-prompt-submit.sh
|
|
4623
4624
|
```
|
|
4624
4625
|
The output must be valid JSON with `hookSpecificOutput.additionalContext`.
|
|
4625
|
-
|
|
4626
|
-
|
|
4626
|
+
7. **Check corrective enforcement.** If the assistant still skips required research, `stop-search-check.sh` should block Stop with the search-first message. If it does not, inspect `~/.softspark/ai-toolkit/state/search-required-*.flag` and the Codex/Claude transcript logs.
|
|
4627
|
+
8. **Repair drift.** Run:
|
|
4627
4628
|
```bash
|
|
4628
4629
|
ai-toolkit update --only hooks
|
|
4629
4630
|
python3 scripts/ecosystem_doctor.py --tool claude-code --format text
|
|
@@ -4841,11 +4842,11 @@ What `uninstall` does:
|
|
|
4841
4842
|
title: "SOP: Release Preparation"
|
|
4842
4843
|
category: procedures
|
|
4843
4844
|
service: ai-toolkit
|
|
4844
|
-
tags: [sop, release, version, publish, changelog, semver, provenance, sarif, ecosystem]
|
|
4845
|
-
version: "1.
|
|
4845
|
+
tags: [sop, release, version, publish, changelog, semver, provenance, sarif, ecosystem, shellcheck]
|
|
4846
|
+
version: "1.11.0"
|
|
4846
4847
|
created: "2026-04-10"
|
|
4847
|
-
last_updated: "2026-
|
|
4848
|
-
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, the ecosystem-sync gate added in v1.9.0,
|
|
4848
|
+
last_updated: "2026-06-02"
|
|
4849
|
+
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, the ecosystem-sync gate added in v1.9.0, the registry-vs-generators drift gate added in v1.10.0, and the mandatory pre-tag ShellCheck gate added in v1.11.0 (publish.yml does not run ShellCheck, so a hook lint failure can publish while reddening main CI — see the v4.5.1 postmortem in Phase 5)."
|
|
4849
4850
|
---
|
|
4850
4851
|
|
|
4851
4852
|
# SOP: Release Preparation
|
|
@@ -4890,12 +4891,11 @@ python3 scripts/sync_version.py X.Y.Z # if script exists, else manual
|
|
|
4890
4891
|
# 3. Write CHANGELOG.md entry
|
|
4891
4892
|
# 4. Regenerate artifacts
|
|
4892
4893
|
python3 scripts/generate_agents_md.py > AGENTS.md
|
|
4893
|
-
python3 scripts/generate_codex_rules.py .
|
|
4894
4894
|
python3 scripts/generate_llms_txt.py > llms.txt
|
|
4895
4895
|
python3 scripts/generate_llms_txt.py --full > llms-full.txt
|
|
4896
4896
|
|
|
4897
|
-
# 5. Validate + audit + SARIF + test + ecosystem check
|
|
4898
|
-
python3 scripts/validate.py --strict && python3 scripts/audit_skills.py --ci && python3 scripts/audit_skills.py --sarif > /tmp/audit.sarif && npm test
|
|
4897
|
+
# 5. Validate + audit + SARIF + shellcheck + test + ecosystem check
|
|
4898
|
+
python3 scripts/validate.py --strict && python3 scripts/audit_skills.py --ci && python3 scripts/audit_skills.py --sarif > /tmp/audit.sarif && shellcheck --severity=warning app/hooks/*.sh && npm test
|
|
4899
4899
|
|
|
4900
4900
|
# 5a. Supply-chain standard (v2.8.0+) — non-negotiable
|
|
4901
4901
|
grep -q -- '--provenance' .github/workflows/publish.yml || { echo "MISSING --provenance"; exit 1; }
|
|
@@ -5092,7 +5092,6 @@ Add entry at the top of `CHANGELOG.md` (after the header, before previous releas
|
|
|
5092
5092
|
|
|
5093
5093
|
```bash
|
|
5094
5094
|
python3 scripts/generate_agents_md.py > AGENTS.md
|
|
5095
|
-
python3 scripts/generate_codex_rules.py .
|
|
5096
5095
|
python3 scripts/generate_llms_txt.py > llms.txt
|
|
5097
5096
|
python3 scripts/generate_llms_txt.py --full > llms-full.txt
|
|
5098
5097
|
```
|
|
@@ -5117,6 +5116,12 @@ python3 scripts/audit_skills.py --ci
|
|
|
5117
5116
|
python3 scripts/audit_skills.py --sarif > audit.sarif # MANDATORY — GHAS ingest
|
|
5118
5117
|
python3 scripts/audit_skills.py --permissions # review Bash/Write/Edit footprint
|
|
5119
5118
|
|
|
5119
|
+
# ShellCheck on hooks (added in 1.11.0). Mirrors the ci.yml "ShellCheck hooks"
|
|
5120
|
+
# job. NOT run by validate.py, npm test, OR publish.yml — so a hook with a
|
|
5121
|
+
# ShellCheck warning passes every other gate AND still publishes on tag while
|
|
5122
|
+
# turning main CI red. Run it here, before tagging.
|
|
5123
|
+
shellcheck --severity=warning app/hooks/*.sh && echo "OK: shellcheck clean"
|
|
5124
|
+
|
|
5120
5125
|
# Registry / generator drift (added in 1.10.0). Meta-generators excluded.
|
|
5121
5126
|
META="generate_agents_md.py|generate_llms_txt.py|generate_language_rules_skills.py"
|
|
5122
5127
|
diff \
|
|
@@ -5138,12 +5143,15 @@ echo "ok: $(grep -c '^ok ' /tmp/npm-test.log) | not ok: $(grep -c '^not ok' /tmp
|
|
|
5138
5143
|
- `audit_skills.py --ci`: `HIGH: 0 | WARN: 0` (INFO is acceptable)
|
|
5139
5144
|
- `audit_skills.py --sarif`: valid JSON, non-empty `runs[0].tool.driver.rules`
|
|
5140
5145
|
- `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
|
|
5146
|
+
- `shellcheck --severity=warning app/hooks/*.sh`: no output, exit 0. A common false positive is `SC2034` on `INPUT` or env vars (e.g. `AI_TOOLKIT_HOOK_FORMAT`) that a *sourced* helper (`_hook-io.sh`) consumes — ShellCheck cannot see cross-file use. Fix with a `# shellcheck disable=SC2034` directive or `export`, matching `guard-destructive.sh`. Never tag with a red ShellCheck.
|
|
5141
5147
|
- Registry drift: `OK: registry matches filesystem`. If `DRIFT:` appears, add the missing `scripts/generate_*.py` rows to `kb/reference/supported-tools-registry.md` before tagging.
|
|
5142
5148
|
- `npm test`: `1..N` with zero `not ok` (read from the cached `/tmp/npm-test.log`, do not rerun)
|
|
5143
5149
|
|
|
5150
|
+
> **Why this matters (v4.5.1 postmortem):** `publish.yml` runs only `validate.py` + `npm test`, so it published v4.5.0 even though the `main` CI `ShellCheck hooks` job was red on two `SC2034` warnings in a new hook. The publish workflow does **not** depend on the CI workflow. Until that is fixed, ShellCheck is a manual pre-tag gate — run it here every time.
|
|
5151
|
+
|
|
5144
5152
|
**One-liner:**
|
|
5145
5153
|
```bash
|
|
5146
|
-
python3 scripts/validate.py --strict && python3 scripts/audit_skills.py --ci && python3 scripts/audit_skills.py --sarif > audit.sarif && diff <(grep -oE 'scripts/generate_[a-z_]+\.py' kb/reference/supported-tools-registry.md | sort -u) <(ls scripts/generate_*.py | grep -vE 'generate_agents_md\.py|generate_llms_txt\.py|generate_language_rules_skills\.py' | sort -u) && npm test
|
|
5154
|
+
python3 scripts/validate.py --strict && python3 scripts/audit_skills.py --ci && python3 scripts/audit_skills.py --sarif > audit.sarif && shellcheck --severity=warning app/hooks/*.sh && diff <(grep -oE 'scripts/generate_[a-z_]+\.py' kb/reference/supported-tools-registry.md | sort -u) <(ls scripts/generate_*.py | grep -vE 'generate_agents_md\.py|generate_llms_txt\.py|generate_language_rules_skills\.py' | sort -u) && npm test
|
|
5147
5155
|
```
|
|
5148
5156
|
|
|
5149
5157
|
**If tests fail:** Fix the issue, do NOT skip. Common failures:
|
|
@@ -5266,17 +5274,18 @@ git push origin --delete vX.Y.Z
|
|
|
5266
5274
|
| 5 | `package-lock.json` | `npm install --package-lock-only` | Matches target |
|
|
5267
5275
|
| 6 | Count sync | Check `package.json` description, README | `validate.py` passes |
|
|
5268
5276
|
| 7 | CHANGELOG.md | Add release entry (incl. `Ecosystem` subsection if any B/D/E/F drift) | Entry exists for vX.Y.Z |
|
|
5269
|
-
| 8 | Regenerate artifacts | `generate_agents_md.py`, `
|
|
5277
|
+
| 8 | Regenerate artifacts | `generate_agents_md.py`, `generate_llms_txt.py` | No unexpected diff |
|
|
5270
5278
|
| 9 | Validate | `validate.py --strict` | 0 errors, 0 warnings |
|
|
5271
5279
|
| 10 | Security audit (CI mode) | `audit_skills.py --ci` | 0 HIGH |
|
|
5272
5280
|
| 11 | Security audit (SARIF) | `audit_skills.py --sarif` | Valid SARIF 2.1.0 JSON |
|
|
5273
5281
|
| 12 | Per-skill permissions | `audit_skills.py --permissions` | New broad-access skills justified in CHANGELOG |
|
|
5274
|
-
| 13 |
|
|
5275
|
-
| 14 |
|
|
5276
|
-
| 15 |
|
|
5277
|
-
| 16 |
|
|
5278
|
-
| 17 |
|
|
5279
|
-
| 18 |
|
|
5282
|
+
| 13 | ShellCheck hooks | `shellcheck --severity=warning app/hooks/*.sh` | Exit 0, no output (mirrors ci.yml; publish.yml does NOT run it) |
|
|
5283
|
+
| 14 | Provenance flag check | `grep -- '--provenance' .github/workflows/publish.yml` | Present |
|
|
5284
|
+
| 15 | Checksum-pin backfill | `sources.json` entries all have `sha256` | No unpinned URL sources |
|
|
5285
|
+
| 16 | Tests | `npm test` | All pass |
|
|
5286
|
+
| 17 | Commit | `git commit` | Clean working tree |
|
|
5287
|
+
| 18 | Tag | `git tag vX.Y.Z` | Tag exists |
|
|
5288
|
+
| 19 | Push | `git push origin main --tags` | CI triggered with `id-token: write` |
|
|
5280
5289
|
|
|
5281
5290
|
---
|
|
5282
5291
|
|
|
@@ -5320,9 +5329,8 @@ Verifies all critical paths from the user's perspective.
|
|
|
5320
5329
|
```bash
|
|
5321
5330
|
# Pre-commit (Phase 0)
|
|
5322
5331
|
python3 scripts/generate_agents_md.py > AGENTS.md # 1. Regenerate AGENTS.md
|
|
5323
|
-
python3 scripts/
|
|
5324
|
-
python3 scripts/
|
|
5325
|
-
python3 scripts/validate.py --strict # 4. Validation passed?
|
|
5332
|
+
python3 scripts/generate_llms_txt.py > llms.txt # 2. Regenerate llms.txt
|
|
5333
|
+
python3 scripts/validate.py --strict # 3. Validation passed?
|
|
5326
5334
|
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)
|
|
5327
5335
|
|
|
5328
5336
|
# Post-install verification (Phases 1-7)
|
|
@@ -5352,7 +5360,6 @@ counts but does NOT auto-regenerate — you must do it locally.
|
|
|
5352
5360
|
```bash
|
|
5353
5361
|
# 1. Regenerate generated artifacts
|
|
5354
5362
|
python3 scripts/generate_agents_md.py > AGENTS.md
|
|
5355
|
-
python3 scripts/generate_codex_rules.py .
|
|
5356
5363
|
python3 scripts/generate_llms_txt.py > llms.txt
|
|
5357
5364
|
python3 scripts/generate_llms_txt.py --full > llms-full.txt
|
|
5358
5365
|
|
|
@@ -5366,7 +5373,7 @@ python3 scripts/audit_skills.py --ci
|
|
|
5366
5373
|
npm test
|
|
5367
5374
|
|
|
5368
5375
|
# 5. Stage and commit
|
|
5369
|
-
git add AGENTS.md
|
|
5376
|
+
git add AGENTS.md llms.txt llms-full.txt
|
|
5370
5377
|
git add -p # stage your other changes
|
|
5371
5378
|
git commit -m "feat: your change description"
|
|
5372
5379
|
```
|
|
@@ -5377,7 +5384,7 @@ by the developer as part of their PR.
|
|
|
5377
5384
|
|
|
5378
5385
|
**One-liner (copy-paste):**
|
|
5379
5386
|
```bash
|
|
5380
|
-
python3 scripts/generate_agents_md.py > AGENTS.md && python3 scripts/
|
|
5387
|
+
python3 scripts/generate_agents_md.py > AGENTS.md && python3 scripts/generate_llms_txt.py > llms.txt && python3 scripts/generate_llms_txt.py --full > llms-full.txt && python3 scripts/validate.py --strict && python3 scripts/audit_skills.py --ci && npm test
|
|
5381
5388
|
```
|
|
5382
5389
|
|
|
5383
5390
|
---
|
|
@@ -6130,9 +6137,9 @@ title: "AI Toolkit - Architecture Overview"
|
|
|
6130
6137
|
category: reference
|
|
6131
6138
|
service: ai-toolkit
|
|
6132
6139
|
tags: [architecture, overview, design, structure]
|
|
6133
|
-
version: "1.4.
|
|
6140
|
+
version: "1.4.6"
|
|
6134
6141
|
created: "2026-03-23"
|
|
6135
|
-
last_updated: "2026-
|
|
6142
|
+
last_updated: "2026-06-10"
|
|
6136
6143
|
description: "Architecture of ai-toolkit: directory layout, global install model, editor-aware MCP install, Codex translation layer, skill tiers, and integration with projects."
|
|
6137
6144
|
---
|
|
6138
6145
|
|
|
@@ -6236,7 +6243,7 @@ Machine (global) Project (local)
|
|
|
6236
6243
|
- `--editors cursor,aider` — install only selected editors
|
|
6237
6244
|
- (no flag) — auto-detect from existing project files; `update --local` picks up whatever editors already have configs
|
|
6238
6245
|
|
|
6239
|
-
Each editor gets directory-based format (`.cursor/rules/*.mdc`, `.windsurf/rules/*.md
|
|
6246
|
+
Each editor gets directory-based format (`.cursor/rules/*.mdc`, `.devin/rules/*.md` + `.windsurf/rules/*.md` (dual-emit since the Devin Desktop rebrand), `.clinerules/*.md`, `.roo/rules/*.md`, `.augment/rules/ai-toolkit-*.md`, `.agents/rules/*.md`, `CONVENTIONS.md`). Full-profile installs also emit native skill pointer catalogues for Cursor, Windsurf, and Cline. Codex local install additionally generates `AGENTS.md` (universal coding rules inlined — Codex reads only AGENTS.md, not `.agents/rules/`), `.agents/skills/*`, and `.codex/hooks.json`. Hooks are global-only — not merged into project settings except for editor-native local hook files such as Codex `.codex/hooks.json`. Experimental plugin packs can also layer a global Codex target in `HOME` (`~/AGENTS.md`, `~/.agents/`, `~/.codex/hooks.json`) when installed with `ai-toolkit plugin install --editor codex`.
|
|
6240
6247
|
|
|
6241
6248
|
If a project already has `.mcp.json`, local install mirrors its `mcpServers` entries into `.claude/settings.local.json` plus any selected editors with project-scoped native MCP files (`.cursor/mcp.json`, `.github/mcp.json`).
|
|
6242
6249
|
|
|
@@ -6260,7 +6267,7 @@ If a project already has `.mcp.json`, local install mirrors its `mcpServers` ent
|
|
|
6260
6267
|
| `cursor-rules` | `./` | Generates `.cursorrules` (legacy) |
|
|
6261
6268
|
| `cursor-mdc` | `./` | Generates `.cursor/rules/*.mdc` (recommended) |
|
|
6262
6269
|
| `windsurf-rules` | `./` | Generates `.windsurfrules` (legacy) |
|
|
6263
|
-
| `windsurf-dir-rules` | `./` | Generates `.windsurf/rules/*.md` |
|
|
6270
|
+
| `windsurf-dir-rules` | `./` | Generates `.devin/rules/*.md` + `.windsurf/rules/*.md` (dual-emit) |
|
|
6264
6271
|
| `copilot-instructions` | `./` | Generates `.github/copilot-instructions.md` |
|
|
6265
6272
|
| `gemini-md` | `./` | Generates `GEMINI.md` |
|
|
6266
6273
|
| `cline-rules` | `./` | Generates `.clinerules` (legacy) |
|
|
@@ -6270,9 +6277,8 @@ If a project already has `.mcp.json`, local install mirrors its `mcpServers` ent
|
|
|
6270
6277
|
| `aider-conf` | `./` | Generates `.aider.conf.yml` |
|
|
6271
6278
|
| `conventions-md` | `./` | Generates `CONVENTIONS.md` (Aider auto-loaded) |
|
|
6272
6279
|
| `augment-dir-rules` | `./` | Generates `.augment/rules/ai-toolkit-*.md` |
|
|
6273
|
-
| `antigravity-rules` | `./` | Generates `.
|
|
6280
|
+
| `antigravity-rules` | `./` | Generates `.agents/rules/` + `.agents/workflows/` |
|
|
6274
6281
|
| `codex-md` | `./` | Generates Codex-facing `AGENTS.md` |
|
|
6275
|
-
| `codex-rules` | `./` | Generates `.agents/rules/*.md` |
|
|
6276
6282
|
| `codex-hooks` | `./` | Generates `.codex/hooks.json` |
|
|
6277
6283
|
| `agents-md` | toolkit | Regenerates `AGENTS.md` |
|
|
6278
6284
|
| `llms-txt` | `./` | Generates `llms.txt` |
|
|
@@ -6898,8 +6904,7 @@ Usage: ai-toolkit <command> [options]
|
|
|
6898
6904
|
|---------|-------------|
|
|
6899
6905
|
| `generate-all` | Generate all platform configs at once |
|
|
6900
6906
|
| `agents-md` | Regenerate `AGENTS.md` from agent definitions |
|
|
6901
|
-
| `codex-md` | Generate `AGENTS.md` with marker injection for Codex CLI |
|
|
6902
|
-
| `codex-rules` | Generate `.agents/rules/*.md` for Codex CLI |
|
|
6907
|
+
| `codex-md` | Generate `AGENTS.md` (coding rules inlined) with marker injection for Codex CLI |
|
|
6903
6908
|
| `codex-hooks` | Generate `.codex/hooks.json` for Codex CLI |
|
|
6904
6909
|
| `cursor-rules` | Generate `.cursorrules` (legacy single file) |
|
|
6905
6910
|
| `cursor-mdc` | Generate `.cursor/rules/*.mdc` (recommended) |
|
|
@@ -6915,7 +6920,7 @@ Usage: ai-toolkit <command> [options]
|
|
|
6915
6920
|
| `conventions-md` | Generate `CONVENTIONS.md` for Aider |
|
|
6916
6921
|
| `augment-rules` | Generate `.augment/rules/ai-toolkit.md` (legacy) |
|
|
6917
6922
|
| `augment-dir-rules` | Generate `.augment/rules/ai-toolkit-*.md` (recommended) |
|
|
6918
|
-
| `antigravity-rules` | Generate `.
|
|
6923
|
+
| `antigravity-rules` | Generate `.agents/rules/` and `.agents/workflows/` |
|
|
6919
6924
|
| `llms-txt` | Generate `llms.txt` and `llms-full.txt` |
|
|
6920
6925
|
|
|
6921
6926
|
## Other Commands
|
|
@@ -8592,10 +8597,10 @@ with documented, file-based config surfaces:
|
|
|
8592
8597
|
- `windsurf`: `~/.codeium/windsurf/memories/global_rules.md` plus `~/.codeium/windsurf/skills/ai-toolkit-skill-catalogue/SKILL.md`
|
|
8593
8598
|
- `gemini`: `~/.gemini/GEMINI.md`
|
|
8594
8599
|
- `augment`: `~/.augment/rules/ai-toolkit.md`
|
|
8595
|
-
- `cline`:
|
|
8600
|
+
- `cline`: `~/Documents/Cline/Rules/ai-toolkit-*.md` plus `~/.cline/skills/ai-toolkit-skill-catalogue/SKILL.md`
|
|
8596
8601
|
- `roo`: `~/.roo/rules/ai-toolkit-*.md`
|
|
8597
8602
|
- `aider`: `~/.aider.conf.yml` plus `~/.aider-ai-toolkit-CONVENTIONS.md` when the YAML file does not already exist
|
|
8598
|
-
- `codex`: `~/AGENTS.md
|
|
8603
|
+
- `codex`: `~/AGENTS.md` (coding rules inlined), `~/.agents/skills/*`, `~/.codex/hooks.json`
|
|
8599
8604
|
- `opencode`: `~/.config/opencode/*`
|
|
8600
8605
|
|
|
8601
8606
|
Cursor, GitHub Copilot, and Google Antigravity rule installs stay project-local.
|
|
@@ -8628,7 +8633,7 @@ These files still stay local to a repository as part of the core install model:
|
|
|
8628
8633
|
- `.roomodes`
|
|
8629
8634
|
- `.aider.conf.yml`
|
|
8630
8635
|
- `.augment/rules/ai-toolkit-*.md`
|
|
8631
|
-
- `.
|
|
8636
|
+
- `.agents/rules/*.md` and `.agents/workflows/*.md` (Google Antigravity; singular `.agent/` still read as fallback)
|
|
8632
8637
|
- `.git/hooks/pre-commit` (fallback)
|
|
8633
8638
|
- project-specific documentation or safety overlays
|
|
8634
8639
|
|
|
@@ -10872,7 +10877,7 @@ opencode also reads `CLAUDE.md` as a fallback, so a user without the native inte
|
|
|
10872
10877
|
|
|
10873
10878
|
- `AGENTS.md` (shared with Codex CLI via distinct marker sections)
|
|
10874
10879
|
- `.opencode/agents/ai-toolkit-*.md` (one per ai-toolkit agent, `mode: subagent`)
|
|
10875
|
-
- `.opencode/commands/ai-toolkit-*.md` (one per user-invocable skill
|
|
10880
|
+
- `.opencode/commands/ai-toolkit-*.md` (one per user-invocable skill; the prompt lives in the markdown body)
|
|
10876
10881
|
- `.opencode/plugins/ai-toolkit-hooks.js` (JS plugin bridging Bash hooks)
|
|
10877
10882
|
- `opencode.json` (MCP key merged from `.mcp.json`, user keys preserved)
|
|
10878
10883
|
|
|
@@ -10920,7 +10925,7 @@ Opencode treats these files as auto-completable with `@` and can delegate to the
|
|
|
10920
10925
|
|
|
10921
10926
|
Only user-invocable skills (`user-invocable: true` or no `disable-model-invocation`) emit to `.opencode/commands/`. Knowledge skills (`user-invocable: false`) are intentionally skipped — they are not intended as commands.
|
|
10922
10927
|
|
|
10923
|
-
Each command file carries
|
|
10928
|
+
Each command file carries the prompt in its markdown body (built from the SKILL.md body). opencode reads the body as the prompt; the `template` field is JSON-config-only and is ignored in `.md` command files.
|
|
10924
10929
|
|
|
10925
10930
|
## Hook Bridge (JS Plugin)
|
|
10926
10931
|
|
|
@@ -11765,9 +11770,9 @@ title: "Supported Tools Registry"
|
|
|
11765
11770
|
category: reference
|
|
11766
11771
|
service: ai-toolkit
|
|
11767
11772
|
tags: [editors, platforms, generators, integration, ecosystem]
|
|
11768
|
-
version: "1.
|
|
11773
|
+
version: "1.5.0"
|
|
11769
11774
|
created: "2026-04-23"
|
|
11770
|
-
last_updated: "2026-
|
|
11775
|
+
last_updated: "2026-06-09"
|
|
11771
11776
|
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."
|
|
11772
11777
|
---
|
|
11773
11778
|
|
|
@@ -11788,14 +11793,16 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11788
11793
|
| Field | Value |
|
|
11789
11794
|
|-------|-------|
|
|
11790
11795
|
| ID | `claude-code` |
|
|
11791
|
-
| Docs | https://platform.claude.com/docs
|
|
11796
|
+
| Docs | https://code.claude.com/docs (platform.claude.com/docs 307-redirects here) |
|
|
11792
11797
|
| Release notes | https://github.com/anthropics/claude-code/releases |
|
|
11793
|
-
|
|
|
11798
|
+
| Changelog | https://code.claude.com/docs/en/changelog (lists current 2.1.170) |
|
|
11799
|
+
| Config paths | `~/.claude/settings.json`, `.claude/settings.json` (project, committed), `.claude/settings.local.json`, `CLAUDE.md`, `.claude/rules/*.md`, `.claude/agents/*.md`, `.claude/skills/*/SKILL.md`, `~/.claude/themes/*.json` (v2.1.118+) |
|
|
11794
11800
|
| Our generators | — (Claude Code is the primary target; toolkit content ships directly as `.md` files and `settings.json` merges) |
|
|
11795
11801
|
| Tracked hook events | Core: `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `Notification`, `MessageDisplay`. Tool: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PostToolBatch`. Turn: `Stop`, `StopFailure`, `UserPromptExpansion`. 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` |
|
|
11796
|
-
| Tracked handler types | `command`, `prompt`, `agent`, `mcp_tool` |
|
|
11802
|
+
| Tracked handler types | `command`, `prompt`, `agent`, `mcp_tool`, `http` (POST event JSON to allowlisted URLs via `allowedHttpHookUrls`) |
|
|
11797
11803
|
| Other capabilities | slash commands, MCP server/client, sub-agent, output style, `SKILL.md` (≥500 lines warn) |
|
|
11798
11804
|
| Version probe | `claude --version` |
|
|
11805
|
+
| Notes | v2.1.169 added `disableBundledSkills` setting + `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` env var (hides bundled skills/built-in slash commands from the model; toolkit skills in `.claude/skills/` are unaffected — useful when toolkit skills overlap built-ins) and `claude --safe-mode` / `CLAUDE_CODE_SAFE_MODE` (starts with hooks, skills, agents, and CLAUDE.md disabled — first isolation step when debugging toolkit rule enforcement). `fallbackModel` settings key (v2.1.166) noted as not-adopted (class C, no toolkit surface writes model settings). |
|
|
11799
11806
|
|
|
11800
11807
|
---
|
|
11801
11808
|
|
|
@@ -11809,8 +11816,8 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11809
11816
|
| Docs | https://cursor.com/docs |
|
|
11810
11817
|
| Changelog | https://cursor.com/changelog |
|
|
11811
11818
|
| Stable docs mirror | https://cursor.com/llms.txt (all doc pages have .md twins) |
|
|
11812
|
-
| Config paths | `.cursorrules`, `.cursor/rules/*.mdc
|
|
11813
|
-
| Compat read paths | `.agents/skills/`, `~/.agents/skills/`, `.claude/skills/`, `~/.claude/skills/`, `.codex/skills/`, `~/.codex/skills/` |
|
|
11819
|
+
| Config paths | `.cursorrules`, `.cursor/rules/*.mdc` (plain `.md` files in `.cursor/rules/` are **ignored** by the rules system), `AGENTS.md`, `.cursor/mcp.json`, `~/.cursor/mcp.json`, `.cursor/skills/*/SKILL.md`, `~/.cursor/skills/*/SKILL.md`, `.cursor/agents/*.md`, `~/.cursor/agents/*.md`, `.cursor/hooks.json` |
|
|
11820
|
+
| Compat read paths | skills: `.agents/skills/`, `~/.agents/skills/`, `.claude/skills/`, `~/.claude/skills/`, `.codex/skills/`, `~/.codex/skills/`; subagents: `.claude/agents/`, `~/.claude/agents/`, `.codex/agents/`, `~/.codex/agents/` (`.cursor/` wins on name conflicts) |
|
|
11814
11821
|
| Our generators | `scripts/generate_cursor_rules.py`, `scripts/generate_cursor_mdc.py`, `scripts/generate_cursor_hooks.py` (profile=full), `scripts/generate_cursor_agents.py` (profile=full), `scripts/generate_cursor_skills.py` (profile=full pointer) |
|
|
11815
11822
|
| Tracked capabilities | `cursorrules`, `.cursor/rules`, `AGENTS.md`, `mcp.json`, Composer, Agent Mode, hooks.json, subagents, skills, plugins |
|
|
11816
11823
|
|
|
@@ -11819,14 +11826,15 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11819
11826
|
| Field | Value |
|
|
11820
11827
|
|-------|-------|
|
|
11821
11828
|
| ID | `windsurf` |
|
|
11822
|
-
| Docs | https://docs.windsurf.com |
|
|
11823
|
-
| Changelog | https://windsurf.com/changelog |
|
|
11824
|
-
| Stable docs mirror | https://docs.
|
|
11825
|
-
| Config paths | `.windsurfrules`, `.windsurf/rules/*.md`, `.windsurf/workflows/*.md`, `.windsurf/skills/*/SKILL.md`,
|
|
11829
|
+
| Docs | https://docs.devin.ai/desktop (Windsurf rebranded to Devin Desktop ~2026-06-02; docs.windsurf.com resolves here) |
|
|
11830
|
+
| Changelog | https://docs.devin.ai/desktop/changelog (windsurf.com/changelog 308-permanent-redirects here) |
|
|
11831
|
+
| Stable docs mirror | https://docs.devin.ai/desktop/... per-page .md twins; legacy `.windsurf/`, `.windsurfrules`, `~/.codeium/windsurf/` paths still read as fallback (new canonical: `.devin/`) |
|
|
11832
|
+
| Config paths | **Primary (Devin Desktop):** `.devin/rules/*.md`, `.devin/workflows/*.md`, `.devin/skills/*/SKILL.md`, `.devin/config.json`, `.devin/config.local.json`, `~/.config/devin/config.json` (Devin Local MCP/permissions). **Legacy fallback:** `.windsurfrules`, `.windsurf/rules/*.md`, `.windsurf/workflows/*.md`, `.windsurf/skills/*/SKILL.md`, `~/.codeium/windsurf/memories/global_rules.md`, `~/.codeium/windsurf/skills/*/SKILL.md`, `~/.codeium/windsurf/mcp_config.json`. Plus `AGENTS.md`. |
|
|
11826
11833
|
| Compat read paths | `.agents/skills/`, `~/.agents/skills/`, (with Claude Code config-reading) `.claude/skills/`, `~/.claude/skills/` |
|
|
11827
|
-
| Our generators | `scripts/generate_windsurf.py`, `scripts/generate_windsurf_rules.py
|
|
11834
|
+
| Our generators | `scripts/generate_windsurf.py`, `scripts/generate_windsurf_rules.py` (dual-emits `.devin/` + `.windsurf/`), `scripts/generate_windsurf_hooks.py` (profile=full; **Cascade-scoped, deprecated**), `scripts/generate_windsurf_skills.py` (global + profile=full pointer, dual-emits) |
|
|
11828
11835
|
| Tracked capabilities | Cascade, `windsurfrules`, `AGENTS.md`, activation triggers (`always_on`/`glob`/`model_decision`), workflows, skills, MCP, memories, hooks |
|
|
11829
11836
|
| Activation modes emitted | always_on (agents/security/quality), glob (testing + language rules), model_decision (code-style/workflow) |
|
|
11837
|
+
| Sunset notes | Cascade agent is available only through **2026-07-01**; Devin Local is the default agent since 2026-06-02. The `.windsurf/hooks.json` surface dies with Cascade — migrate to Devin CLI lifecycle hooks (docs.devin.ai/cli/extensibility/hooks/\*) before that date. Devin CLI ("Devin for Terminal") shares the Devin Local harness, reads `AGENTS.md` and the standard `SKILL.md` format; not yet a separate registry entry. |
|
|
11830
11838
|
|
|
11831
11839
|
### GitHub Copilot
|
|
11832
11840
|
|
|
@@ -11847,11 +11855,11 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11847
11855
|
| ID | `gemini-cli` |
|
|
11848
11856
|
| Docs | https://github.com/google-gemini/gemini-cli/tree/main/docs |
|
|
11849
11857
|
| Release notes | https://github.com/google-gemini/gemini-cli/releases |
|
|
11850
|
-
| 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` |
|
|
11858
|
+
| Config paths | `GEMINI.md`, `.gemini/settings.json`, `~/.gemini/settings.json`, `.gemini/commands/*.toml`, `.gemini/skills/*/SKILL.md`, `.agents/skills/*/SKILL.md`, `~/.gemini/skills/*/SKILL.md`, `~/.agents/skills/*/SKILL.md` (the `.agents/skills` alias wins over `.gemini/skills` within the same tier), `.gemini/extensions/gemini-extension.json` |
|
|
11851
11859
|
| Our generators | `scripts/generate_gemini.py`, `scripts/generate_gemini_hooks.py` (profile>=standard), `scripts/generate_gemini_commands.py` (profile=full), `scripts/generate_gemini_skills.py` (profile=full) |
|
|
11852
|
-
| Tracked capabilities | `GEMINI.md`, `mcpServers`, tools, `settings.json`, `BeforeTool`, `AfterTool`, `BeforeAgent`, `AfterAgent`, `BeforeModel`, `
|
|
11860
|
+
| Tracked capabilities | `GEMINI.md`, `mcpServers`, tools, `settings.json`, `BeforeTool`, `AfterTool`, `BeforeToolSelection`, `BeforeAgent`, `AfterAgent`, `BeforeModel`, `AfterModel`, `Notification`, `PreCompress`, `SessionStart`, `SessionEnd`, `SKILL.md`, `activate_skill`, custom commands, `gemini-extension.json` (no native `Stop` event — generator maps Stop-equivalent to `AfterAgent`; 11 documented hook events total) |
|
|
11853
11861
|
| Version probe | `gemini --version` |
|
|
11854
|
-
| Latest upstream | v0.
|
|
11862
|
+
| Latest upstream | v0.45.2 (2026-06-05). NOTE: Gemini CLI drops free/paid tiers 2026-06-18 in favor of Antigravity CLI (we ship `generate_antigravity.py`); enterprise Code Assist keeps Gemini CLI. |
|
|
11855
11863
|
|
|
11856
11864
|
### Cline
|
|
11857
11865
|
|
|
@@ -11860,19 +11868,20 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11860
11868
|
| ID | `cline` |
|
|
11861
11869
|
| Docs | https://docs.cline.bot |
|
|
11862
11870
|
| Release notes | https://github.com/cline/cline/releases |
|
|
11863
|
-
| Config paths | `.clinerules/*.md
|
|
11871
|
+
| Config paths | **Extension:** `.clinerules/*.md`, `.clinerules/workflows/*.md`, `.clinerules/skills/*/SKILL.md`, `.clinerules/hooks/` (project), `~/Documents/Cline/Rules/Hooks/` (global hooks), `~/.cline/data/settings/cline_mcp_settings.json`. **CLI/SDK unified layout** (docs.cline.bot/getting-started/config; `.clinerules` is deprecated there): `.cline/{rules,hooks,plugins,skills}/`, `~/.cline/{rules,hooks,plugins,skills}/`, `CLINE_HOOKS_DIR` env var. **Cross-tool:** `AGENTS.md` + `~/.agents/AGENTS.md` (first-class rules sources), `.claude/skills/*/SKILL.md` (native discovery, always-on since v3.57.0). |
|
|
11864
11872
|
| Our generators | `scripts/generate_cline.py`, `scripts/generate_cline_rules.py`, `scripts/generate_cline_skills.py` |
|
|
11865
|
-
| Tracked capabilities | `clinerules`, Plan Mode, Act Mode, MCP, custom modes, workflows, hooks, skills, subagents, conditional rules |
|
|
11866
|
-
|
|
|
11867
|
-
|
|
|
11873
|
+
| Tracked capabilities | `clinerules`, Plan Mode, Act Mode, MCP, custom modes, workflows, hooks, skills, subagents, conditional rules, `AGENTS.md`, plugins |
|
|
11874
|
+
| Plugins | `.cline/plugins/` + `~/.cline/plugins/` (JS/TS), `package.json` `cline.plugins` manifest; plugins can bundle skills. Not adopted as a distribution channel yet — candidate for shipping toolkit skills to CLI/SDK users. |
|
|
11875
|
+
| Notes | Conditional rules (`paths:` YAML frontmatter) are emitted for testing and language-specific rules since 2026-04. Project rules still use `.clinerules/` for compatibility; global rules are written to `~/Documents/Cline/Rules/` (the documented Cline global rules dir — `~/.cline/rules/` is not a Cline-read path). Skills are emitted as a pointer catalogue in `profile=full` and global installs. |
|
|
11876
|
+
| Global install | `ai-toolkit install --editors cline` writes documented global rules under `~/Documents/Cline/Rules/` and a skill pointer under `~/.cline/skills/`; MCP remains managed by `ai-toolkit mcp install --editor cline`. |
|
|
11868
11877
|
|
|
11869
11878
|
### Roo Code
|
|
11870
11879
|
|
|
11871
11880
|
| Field | Value |
|
|
11872
11881
|
|-------|-------|
|
|
11873
11882
|
| ID | `roo-code` |
|
|
11874
|
-
| Docs | https://docs.roocode.com |
|
|
11875
|
-
| Release notes | https://github.com/RooCodeInc/Roo-Code/releases |
|
|
11883
|
+
| Docs | https://roocodeinc.github.io/Roo-Code (docs.roocode.com 301-redirects here) |
|
|
11884
|
+
| Release notes | https://github.com/RooCodeInc/Roo-Code/releases (**ARCHIVED** — repo read-only since 2026-05-15, frozen at v3.54.0; community fork reportedly continues) |
|
|
11876
11885
|
| Config paths | `.roomodes`, `.roo/rules/*.md`, `.roo/rules-{slug}/*.md`, `.roo/mcp.json`, `~/.roo/rules/`, `~/.roo/custom_modes.yaml`, `mcp_settings.json` (global via Roo settings UI) |
|
|
11877
11886
|
| Our generators | `scripts/generate_roo_modes.py`, `scripts/generate_roo_rules.py` |
|
|
11878
11887
|
| Tracked capabilities | `roomodes`, custom modes, Code Actions, MCP, Orchestrator mode, `whenToUse`, `description`, `roleDefinition`, `groups` |
|
|
@@ -11899,9 +11908,9 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11899
11908
|
| ID | `augment` |
|
|
11900
11909
|
| Docs | https://docs.augmentcode.com |
|
|
11901
11910
|
| Changelog | https://www.augmentcode.com/changelog |
|
|
11902
|
-
| Config paths | `.augment/rules/*.md`, `.augment
|
|
11911
|
+
| Config paths | `.augment/rules/*.md`, `.augment-guidelines` (workspace root, legacy single-file), `~/.augment/user-guidelines.md`, `.augment/agents/*.md`, `.augment/commands/*.md`, `.augment/skills/*/SKILL.md`, `.augment/settings.json`, `.augment/settings.local.json`, `~/.augment/rules/*.md`, `~/.augment/settings.json`, `/etc/augment/settings.json`. Auggie CLI also discovers skills/commands from `.claude/` and `.agents/` (`.augment/` wins on precedence). |
|
|
11903
11912
|
| Our generators | `scripts/generate_augment.py`, `scripts/generate_augment_rules.py`, `scripts/generate_augment_agents.py` (profile=full), `scripts/generate_augment_commands.py` (profile=full), `scripts/generate_augment_hooks.py` (profile=full, HOME-scoped), `scripts/generate_augment_skills.py` (profile=full) |
|
|
11904
|
-
| 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 |
|
|
11913
|
+
| 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`, `Notification`, ACP Mode |
|
|
11905
11914
|
| SPA caveat | Mintlify Next.js SPA; use `https://docs.augmentcode.com/<path>.md` siblings (discoverable via `/llms.txt`) for machine reads |
|
|
11906
11915
|
|
|
11907
11916
|
### Google Antigravity
|
|
@@ -11911,21 +11920,23 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11911
11920
|
| ID | `google-antigravity` |
|
|
11912
11921
|
| Docs | https://antigravity.google/docs (JavaScript SPA — use bundle strings / sitemap to verify) |
|
|
11913
11922
|
| Changelog | https://antigravity.google/changelog (SPA; changelog entries embedded in main-*.js) |
|
|
11914
|
-
| Config paths | `.
|
|
11915
|
-
| Our generators | `scripts/generate_antigravity.py` (rules + workflows + skill pointer) |
|
|
11916
|
-
| Tracked capabilities | Antigravity, agent manager, artifacts, MCP, workflows, rules, skills, `AGENTS.md`, `GEMINI.md`, agent permissions |
|
|
11917
|
-
|
|
|
11923
|
+
| Config paths | `.agents/rules/*.md`, `.agents/workflows/*.md` (plural is the Antigravity 2.0 default; singular `.agent/rules`, `.agent/workflows` still read as fallback), `.agent/skills/*/SKILL.md` (IDE), `.agents/skills/*/SKILL.md` (CLI), `.agents/hooks.json` (CLI hooks), `.agents/mcp_config.json` (CLI MCP), `AGENTS.md`, `GEMINI.md` |
|
|
11924
|
+
| Our generators | `scripts/generate_antigravity.py` (rules + workflows + skill pointer dual-emitted to `.agent/skills/` and `.agents/skills/`) |
|
|
11925
|
+
| Tracked capabilities | Antigravity, agent manager, artifacts, MCP, workflows, rules, skills, hooks, `AGENTS.md`, `GEMINI.md`, agent permissions |
|
|
11926
|
+
| CLI notes | Antigravity CLI (GA 2026-05-19): hooks in `.agents/hooks.json` use Claude-style event names (`PreToolUse`, not Gemini's `BeforeTool`) with a JSON stdin/stdout decision contract; MCP config `.agents/mcp_config.json` requires `serverUrl` (legacy `url`/`httpUrl` fail silently). Global MCP config path is inconsistently reported across sources (`~/.gemini/antigravity-cli/` vs `~/.gemini/config/`) — only the workspace path is registered until verified via `agy inspect`. |
|
|
11927
|
+
| Doc access note | Docs are JS-SPA — verify via `main-*.js` bundle strings or community skill repos. `WebFetch` returns an empty shell. The sitemap.xml is stale (omits the `cli-*` doc pages), so sitemap-based monitoring misses CLI doc additions. |
|
|
11918
11928
|
|
|
11919
11929
|
### Codex CLI
|
|
11920
11930
|
|
|
11921
11931
|
| Field | Value |
|
|
11922
11932
|
|-------|-------|
|
|
11923
11933
|
| ID | `codex-cli` |
|
|
11924
|
-
| Docs | https://
|
|
11934
|
+
| Docs | https://developers.openai.com/codex (live docs site; config pages split into `/codex/config-basic`, `/codex/config-reference`, `/codex/config-advanced` plus `/codex/hooks`, `/codex/skills`; latest stable codex-cli 0.138.0, 2026-06) |
|
|
11925
11935
|
| Release notes | https://github.com/openai/codex/releases |
|
|
11926
|
-
| Config paths | `AGENTS.md`, `.agents/
|
|
11927
|
-
| Our generators | `scripts/generate_codex.py`, `scripts/
|
|
11928
|
-
|
|
|
11936
|
+
| Config paths | `AGENTS.md`, `.agents/skills/*/SKILL.md`, `.codex/hooks.json`, `.codex/config.toml` (project layers, root→cwd, closest wins, trusted projects only), `~/.codex/config.toml` |
|
|
11937
|
+
| Our generators | `scripts/generate_codex.py`, `scripts/generate_codex_hooks.py`, `scripts/generate_codex_skills.py` (opt-in via `--codex-skills`) |
|
|
11938
|
+
| Rules delivery | Universal coding rules are inlined into `AGENTS.md` (Codex reads instructions only from AGENTS.md, not `.agents/rules/`); language rules ship as `<lang>-rules` skills under `.agents/skills/`. |
|
|
11939
|
+
| Tracked hook events | Upstream canonical (codex-rs `HookEventName` enum): `PreToolUse`, `PostToolUse`, `PermissionRequest`, `PreCompact`, `PostCompact`, `SessionStart`, `UserPromptSubmit`, `SubagentStart`, `SubagentStop`, `Stop` (10 events). We wire all 10 to shared toolkit hook scripts, mirroring the Claude Code mapping in `app/hooks.json`. |
|
|
11929
11940
|
| Tracked handler types | `command` (emitted by default); `prompt` and `agent` available upstream but authored by hand |
|
|
11930
11941
|
| Other capabilities | `AGENTS.md`, `config.toml`, `mcp_servers`, sandbox policies, `.agents/skills/*/SKILL.md` (native Codex skill discovery path) |
|
|
11931
11942
|
| Version probe | `codex --version` |
|
|
@@ -11936,12 +11947,13 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11936
11947
|
|-------|-------|
|
|
11937
11948
|
| ID | `opencode` |
|
|
11938
11949
|
| Docs | https://opencode.ai/docs |
|
|
11939
|
-
| Release notes | https://github.com/sst/opencode/releases |
|
|
11940
|
-
| Config paths | `opencode.json`, `.opencode/agents/*.md`, `.opencode/commands/*.md`, `.opencode/plugins/*`, `.opencode/skills/*/SKILL.md` (v1.14+), `AGENTS.md
|
|
11950
|
+
| Release notes | https://github.com/sst/opencode/releases (redirects to anomalyco/opencode) |
|
|
11951
|
+
| Config paths | `opencode.json`, `.opencode/agents/*.md`, `.opencode/commands/*.md`, `.opencode/plugins/*`, `.opencode/skills/*/SKILL.md` (v1.14+), `AGENTS.md`; skill fallback discovery: `.claude/skills/`, `.agents/skills/`, `~/.config/opencode/skills/`, `~/.claude/skills/`, `~/.agents/skills/` |
|
|
11941
11952
|
| 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` |
|
|
11942
11953
|
| Tracked plugin events | `session.created`, `session.compacted`, `session.deleted`, `message.updated`, `tool.execute.before`, `tool.execute.after`, `permission.asked`, `command.executed` |
|
|
11943
11954
|
| 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 |
|
|
11944
11955
|
| Version probe | `opencode --version` |
|
|
11956
|
+
| Watch item | v1.16.0 (2026-06-05) ships an experimental v2 skill registry (flat-file skills, `slash` frontmatter key) — undocumented as of 2026-06-09; re-check next sync before touching `generate_opencode*.py`. |
|
|
11945
11957
|
|
|
11946
11958
|
---
|
|
11947
11959
|
|
package/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softspark/ai-toolkit",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.7.0",
|
|
4
4
|
"description": "AI coding toolkit: 107 skills, 44 agents, 12-editor write-through (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo, Aider, Augment, Antigravity, Codex, opencode), machine-enforced safety constitution, SARIF audit, signed npm provenance.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
|
@@ -59,7 +59,6 @@
|
|
|
59
59
|
"generate:cline": "python3 scripts/generate_cline_rules.py .",
|
|
60
60
|
"generate:roo": "python3 scripts/generate_roo_modes.py > .roomodes",
|
|
61
61
|
"generate:aider": "python3 scripts/generate_aider_conf.py > .aider.conf.yml",
|
|
62
|
-
"generate:codex-rules": "python3 scripts/generate_codex_rules.py .",
|
|
63
62
|
"generate:language-rules": "python3 scripts/generate_language_rules_skills.py",
|
|
64
63
|
"generate:opencode-agents": "python3 scripts/generate_opencode_agents.py .",
|
|
65
64
|
"generate:opencode-commands": "python3 scripts/generate_opencode_commands.py .",
|
|
@@ -67,7 +66,7 @@
|
|
|
67
66
|
"generate:windsurf-rules": "python3 scripts/generate_windsurf_rules.py .",
|
|
68
67
|
"generate:roo-rules": "python3 scripts/generate_roo_rules.py .",
|
|
69
68
|
"generate:augment-rules": "python3 scripts/generate_augment_rules.py .",
|
|
70
|
-
"generate:all": "npm run generate:language-rules && npm run generate:agents && npm run generate:
|
|
69
|
+
"generate:all": "npm run generate:language-rules && npm run generate:agents && npm run generate:opencode-agents && npm run generate:opencode-commands && npm run generate:cursor && npm run generate:cursor-mdc && npm run generate:windsurf && npm run generate:windsurf-rules && npm run generate:copilot && npm run generate:gemini && npm run generate:cline && npm run generate:roo && npm run generate:roo-rules && npm run generate:aider && npm run generate:augment-rules && npm run generate:llms"
|
|
71
70
|
},
|
|
72
71
|
"files": [
|
|
73
72
|
"bin/",
|