Skip to content

About

ADHDev Provider Scripts — IDE, CLI, Extension, ACP provider definitions

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ADHDev Providers

IDE, CLI, and Extension provider definitions for ADHDev.

Structure

├── ide/            — IDE providers (Cursor, Antigravity, Windsurf, Kiro, etc.)
├── cli/            — CLI agent providers (Claude Code, Codex CLI, Antigravity CLI)
├── extension/      — VS Code extension providers (Cline, Roo Code)
├── 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:

  1. Detects installed IDE version (versionCommand)
  2. Matches against compatibility array (first match wins)
  3. Loads scripts from the matched scriptDir
  4. If no match → uses defaultScriptDir + shows warning

Adding a New Provider

  1. Create provider.json in the appropriate category
  2. Set providerVersion and contractVersion in the provider metadata
  3. Create version-specific script directories
  4. Validate: node validate.js ide/my-ide/provider.json
  5. 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.md and 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:

  1. Start ADHDev with the dev flag locally: adhdev-standalone --dev
  2. Open http://127.0.0.1:19280 in your browser.
  3. DevConsole automatically enumerates active IDE CDP processes. Click any connected IDE to jump into its debugger screen.
  4. Use the script pad tool to modify scripts.js logic (e.g. testing new querySelector values) and execute it inside the IDE environment in real-time.
  5. 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:

  1. Create a new script directory:

    mkdir -p ide/my-ide/scripts/1.1
  2. 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
  3. Update provider.json:

    "compatibility": [
      { "ideVersion": ">=1.1.0", "scriptDir": "scripts/1.1" },
      { "ideVersion": ">=1.0.0", "scriptDir": "scripts/1.0" }
    ],
    "defaultScriptDir": "scripts/1.1"
  4. Submit a PR. registry.json is auto-regenerated.

License

MIT

About

ADHDev Provider Scripts — IDE, CLI, Extension, ACP provider definitions

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages