ADHDev Providers
April 13, 2026 · View on GitHub
IDE, CLI, Extension, and ACP provider definitions for ADHDev.
Structure
├── 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 (inventory/lifecycle metadata)
├── validate.js — Provider schema validator
├── CONTRIBUTING.md — How to add a new provider
└── COMPATIBILITY.md — OS/version compatibility matrix
Provider Format
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
provider.json
{
"type": "my-ide",
"name": "My IDE",
"category": "ide",
"providerVersion": "1.0.0",
"contractVersion": 2,
"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" }
}
Version Resolution
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
Adding a New Provider
- Create
provider.jsonin the appropriate category - Set
providerVersionandcontractVersionin the provider metadata - Create version-specific script directories
- Validate:
node validate.js ide/my-ide/provider.json - Submit a PR
Important:
- Adding a provider makes it part of the built-in inventory.
- It does not automatically make it a supported or verified provider.
- Support promotion should happen only after explicit testing is recorded in
COMPATIBILITY.mdand the docs/support catalog are updated.
See CONTRIBUTING.md for the full workflow.
How It Works
This repository is consumed by ADHDev in three ways:
| Method | When | Directory |
|---|---|---|
| Bundled | npm install -g @adhdev/daemon-standalone | _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
registry.json
Auto-generated index of all providers. It is useful for inventory and lifecycle metadata, but it is not the source of truth for public support guarantees.
Updated automatically by GitHub Actions on every push.
🛠️ Debugging & Fixing Providers (DevConsole)
When an IDE updates its UI (like changing a class name for the chat box or DOM structure), the provider scripts may break. You can fix them live using the ADHDev DevConsole:
- Start ADHDev with the dev flag locally:
adhdev-standalone --dev - Open http://127.0.0.1:19280 in your browser.
- DevConsole automatically enumerates active IDE CDP processes. Click any connected IDE to jump into its debugger screen.
- Use the script pad tool to modify
scripts.jslogic (e.g. testing newquerySelectorvalues) and execute it inside the IDE environment in real-time. - Once your JS functions successfully interact with the new UI, copy them back into your local clone of this repository.
Supporting a New IDE Version
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.
License
MIT