feat(devin): add Devin CLI as a harness

Đang mở
#81 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@ryzizub đang làm issue này rồi.

Từ ngày 15/10/2026.

  • #95 của @ryzizub — đang mở

Đánh giá

Issue này chưa được đánh giá.

Mô tả

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.

Ngôn ngữ chính
Dart
Star
3
Fork
0
Merge trung bình
2 ngày 4 giờ
Pull request đã merge (30 ngày)
40

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của VeryGoodOpenSource/vgv_ai_cli

Tất cả issue của VeryGoodOpenSource/vgv_ai_cli

Issue tương tự

Thêm issue về Dart

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.