Repository navigation
feat: add Devin plugin manifests and install instructions - #482
Merged
Merged
Conversation
Devin (Cognition) loads plugins from a GitHub subfolder with `devin plugins install owner/repo#path`, reading the manifest in order .devin-plugin/plugin.json > .claude-plugin/plugin.json > root plugin.json. Add first-class Devin support: - .devin-plugin/plugin.json for all five plugins. Metadata (name, version, description, author, homepage, repository, license, keywords) is copied from the Claude manifest that Devin reads today; skills point at ./skills/ and mcpServers reuses the existing ./.mcp.json. Only fields documented for the Devin manifest are used. - Devin does not load the Claude-format hooks (for example aws-core's secret-safety PreToolUse guard, or aws-startup-advisor's telemetry hooks) under either manifest: it reads only a plugin-root hooks.json, its shell tool is `exec` rather than `Bash`, and it uses a different decision format. Skills, MCP servers, and agents load the same as with the Claude fallback. Porting the hooks is a follow-up. - aws-startup-advisor: include .devin-plugin/plugin.json in the telemetry bundle version-parity check and its tests. - README: add a Devin quick-start (CLI install command and the web app Customize path) and list Devin among supported agents and plugin hosts. - tools/validate.py: validate an optional .devin-plugin/plugin.json: valid JSON, a non-empty name matching the plugin directory, and skills/mcpServers paths that stay inside the plugin and exist (Devin rejects the whole plugin when a skills path escapes its root).
harv-aws
requested review from
a team,
AhmetAhunbayAWS,
adthiru,
coffeencoke,
harshabattapady,
ljainiaz,
mitczach,
mukeshsahay,
npmajisha,
risears,
sanjolia and
shoukasg
as code owners
October 21, 2026 22:52
aws-core was bumped to 1.2.0 upstream while .devin-plugin/plugin.json was being added, so the Devin manifest still says 1.1.0. Devin reads .devin-plugin/plugin.json in preference to .claude-plugin/plugin.json, so Devin users would see the stale version (it also names Devin's plugin cache directory). Set it to 1.2.0, and make tools/validate.py require that a Devin manifest's name, version and description equal the plugin's .claude-plugin/plugin.json whenever that file exists, so the next bump that misses one manifest fails CI instead of shipping. tools/tests/test_validate.py covers matching metadata, version, description and missing-version mismatches, the no-Claude-manifest case, and asserts every plugin in the repo with a Devin manifest passes (all 5 do). It runs from mise validate as test:tools.
anasstahr
approved these changes
Oct 22, 2026
5 of 9 tasks
herosjourney
pushed a commit
to herosjourney/agent-toolkit-for-aws
that referenced
this pull request
Oct 23, 2026
…ude manifest Main (aws#482) added .devin-plugin/plugin.json with the pre-PR plugin description and a validator that requires it to match .claude-plugin/plugin.json. This PR updates the Claude description for the bedrock-migration-assessment skill, so carry the same text into the Devin manifest. `mise run validate` passes again.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Devin (Cognition) loads plugins from a GitHub subfolder with
devin plugins install owner/repo#path, reading the manifest in order .devin-plugin/plugin.json > .claude-plugin/plugin.json > root plugin.json. Add first-class Devin support:execrather thanBash, and it uses a different decision format. Skills, MCP servers, and agents load the same as with the Claude fallback. Porting the hooks is a follow-up.Type of Change
Checklist
python3 tools/validate.pyBy submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.