feat(devin): add Devin CLI as a harness

Ouverte
#81 0 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@ryzizub y travaille déjà.

Depuis le 15/10/2026.

  • #95 par @ryzizub — ouverte

Évaluation

Cette issue n'a pas encore été évaluée.

Description

feature spike

Devin CLI is a local harness we do not configure yet

Cognition's Devin CLI (devin) is a local terminal agent with user-level skills, MCP servers, hooks, rules and subagents, so the VGV plugins can reach it the way they reach Copilot and Codex.

What the docs say

Everything below comes from docs.devin.ai. Nothing has been run against the binary yet.

  • Binary devin, installed with curl -fsSL https://cli.devin.ai/install.sh | bash or brew install --cask devin-cli. devin version "is equivalent to devin --version" (commands).
  • User-level config lives in ~/.config/devin/, and "On Windows, this path is %APPDATA%\devin\ instead" (extensibility).
  • Skills: ~/.config/devin/skills/<name>/SKILL.md, the same SKILL.md format, frontmatter name, description, argument-hint, allowed-tools, triggers, model (creating skills).
  • MCP: ~/.config/devin/mcp_config.json, standard mcpServers shape. Before v3000.3 servers lived under the mcpServers key of config.json and are migrated on startup (MCP configuration).
  • Hooks: Claude Code's format, user-level under the "hooks" key of ~/.config/devin/config.json, with decision, reason, hookSpecificOutput and exit code 2 to block (hooks).
  • Rules: ~/.config/devin/AGENTS.md applies to every project (rules).
  • Subagents: ~/.config/devin/agents/<name>.md, or <name>/AGENT.md (subagents).
Two calls to make first, which is why this is a spike

1. Devin already reads Claude Code's config. With read_config_from.claude on by default it imports rules from ~/.claude/CLAUDE.md, MCP servers from ~/.claude.json, ~/.claude/settings.json and ~/.claude/settings.local.json, and hooks from those same files (configuration import). Someone who installed for Claude too would get our MCP servers and hooks twice. Skills are the real gap: Claude skills are imported from .claude/skills/** in the project only, never from ~/.claude/skills. Decide what we write for Devin and what we leave to the import.

2. Devin installs Claude plugins natively. With no .devin-plugin/plugin.json, devin plugins install <owner/repo> falls back to .claude-plugin/plugin.json and honors the root .mcp.json and ${CLAUDE_PLUGIN_ROOT} (plugins). Same question we answered for Codex: is a translator the right shape, or do we shell out to devin plugins install? Note the docs call plugin hooks "best effort and fail open".

Scope
  • Install the CLI, confirm the version banner, and check every path above against the binary before any of it is written down as fact.
  • Add devin to Harness and follow the four steps in its doc comment: enum entry, DevinTranslator registered in harnessTranslators, brick var plus a __brick__ folder, regenerate the bundle.
  • Translate skills, MCP servers, agents and rules, and override hooks(), since the Claude Code hook format carries over nearly verbatim.
  • %APPDATA%\devin does not fit Harness._config, which is home-relative with / separators. Decide whether Devin ships macOS and Linux only for now.
Acceptance criteria
  • vgv_ai install --harness devin writes the plugins' skills, MCP servers and agents where Devin reads them, without clobbering what the user already has.
  • A translated skill appears in a real devin session and the MCP servers connect.
  • The plugins' hooks run on a Dart edit, proven with /hooks and a captured payload, or the hooks surface is left out with a note saying why.
  • vgv_ai doctor and vgv_ai uninstall cover Devin.
  • No duplicated MCP server or hook when Claude Code is installed on the same machine.
Verified on

Nothing yet. Docs read 2026-10-15, the CLI is not installed on the machine this was written from.

Langage dominant
Dart
Étoiles
3
Forks
0
Merge moyen
2 j 4 h
PR mergées (30 j)
40

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de VeryGoodOpenSource/vgv_ai_cli

Toutes les issues de VeryGoodOpenSource/vgv_ai_cli

Issues similaires

Plus d'issues Dart

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.