IDE, CLI, Extension, and ACP provider definitions for ADHDev.
├── ide/ — IDE providers (Cursor, Antigravity, Windsurf, Kiro, etc.)
├── cli/ — CLI agent providers (Gemini CLI, Claude Code, Codex CLI)
├── extension/ — VS Code extension providers (Cline, Roo Code)
├── acp/ — ACP agent providers (35 agents)
├── registry.json — Auto-generated provider index (used by daemon)
├── validate.js — Provider schema validator
├── CONTRIBUTING.md — How to add a new provider
└── COMPATIBILITY.md — OS/version compatibility matrix
Each provider consists of:
ide/my-ide/
provider.json ← Metadata + version compatibility
scripts/
1.0/ ← Scripts for IDE version 1.0.x
scripts.js ← Main scripts entry point
set_model.js ← Individual script files
set_mode.js
0.9/ ← Scripts for IDE version 0.9.x
scripts.js
{
"type": "my-ide",
"name": "My IDE",
"category": "ide",
"providerVersion": "1.0.0",
"versionCommand": "my-ide --version",
"compatibility": [
{ "ideVersion": ">=1.0.0", "scriptDir": "scripts/1.0" },
{ "ideVersion": ">=0.9.0", "scriptDir": "scripts/0.9" }
],
"defaultScriptDir": "scripts/1.0",
"cdpPorts": [9357, 9358],
"processNames": { "darwin": "My IDE" }
}When the daemon starts:
- Detects installed IDE version (
versionCommand) - Matches against
compatibilityarray (first match wins) - Loads scripts from the matched
scriptDir - If no match → uses
defaultScriptDir+ shows warning
- Create
provider.jsonin the appropriate category - Create version-specific script directories
- Validate:
node validate.js ide/my-ide/provider.json - Submit a PR
See CONTRIBUTING.md for the full workflow.
This repository is consumed by ADHDev in three ways:
| Method | When | Directory |
|---|---|---|
| Bundled | npm install -g adhdev |
_builtin/ (offline fallback) |
| Auto-updated | Every daemon start | ~/.adhdev/providers/.upstream/ |
| User custom | Manual | ~/.adhdev/providers/ (never overwritten) |
Loading priority: User custom > Auto-updated > Bundled
Auto-generated index of all providers. Contains:
- Provider type, name, category
providerVersion(for incremental update checks)compatibilitymatrix (which IDE versions → which scripts)
Updated automatically by GitHub Actions on every push.
When an IDE releases a new version with DOM changes:
-
Create a new script directory:
mkdir -p ide/my-ide/scripts/1.1
-
Copy from the previous version and modify:
cp -r ide/my-ide/scripts/1.0/* ide/my-ide/scripts/1.1/ # Edit scripts to match new DOM structure
-
Update
provider.json:"compatibility": [ { "ideVersion": ">=1.1.0", "scriptDir": "scripts/1.1" }, { "ideVersion": ">=1.0.0", "scriptDir": "scripts/1.0" } ], "defaultScriptDir": "scripts/1.1"
-
Submit a PR.
registry.jsonis auto-regenerated.
MIT