- plugin-template — 用于编写单个插件 (或少量插件) 的入门模板。
- team-marketplace-template — 完整的生态系统模式:一个插件 monorepo,以及一个 元插件,其清单定义了你的基线环境和策略。
.devin-plugin/plugin.json 清单的目录;除此之外,其他内容都是可选的:
AGENTS.md 简短——因为对所有安装了该插件的人来说,它都会在每次会话中占用上下文。
2. 在本地验证和测试
node scripts/validate-template.mjs) 和一个 CI 工作流程,并且会在每次提交 PR 时运行该验证器。要进行实际测试,请通过 Devin CLI 从本地文件夹安装:
.zip 上传到你的个人作用域,然后在云端会话中试用。
3. 将它们托管到同一个 代码仓库 中
plugins/<name>/) ,并分别通过各自的 git-subdir source 引用。这个 代码仓库 可以保持为 private:云端会话会通过你的 Git 集成拉取它,而 CLI 用户则会使用自己的 git 凭据拉取 (因此他们也需要拥有该 代码仓库 的访问权限) 。
如需采用这种布局,请 fork team-marketplace-template——然后把其中元插件的 git-subdir URL 更新为指向你的 fork。在该模板中,元插件位于 代码仓库 根目录,因此该 代码仓库 本身就是可安装单元:要求 your-org/your-marketplace 会安装整个基线环境。
4. 使用元插件定义你的基线环境
5. 从 Customize 分发
- 企业 清单覆盖该企业下的所有组织。
- 组织 清单覆盖该组织的云端会话,以及以该组织为主要组织的 members 的 CLI/Desktop。
6. 治理
"*" 禁止规则的限制;除此之外均不例外,且更低层级也不能扩大这一豁免范围。该豁免仅适用于直接列出的条目——必填插件的传递依赖并不享受豁免——因此在锁定模式下,请将该元插件拉入的所有内容 (此处为 engineering-baseline 和 security-guardrails) 显式列出。完整语义请参阅依赖和治理。
7. 演进
- 合并到你的插件代码仓库默认分支就等于发布:新会话会自动拉取到更新——参见更新如何逐步推出。
- 团队通过 PR 向 marketplace 代码仓库添加插件;模板的 CI 会在每个 PR 上验证布局。
- 现有 Claude 插件可直接安装 (Devin 会回退到
.claude-plugin/plugin.json) ,因此你可以在optionalPlugins中采用社区插件,而无需将它们纳入仓库。
当前限制
- 插件会在云端会话、Devin CLI 和 Devin Desktop (使用 Devin Local 时) 中加载;不适用于经典 Cascade agent。
- 子 Agent (
agents/<name>.mdoragents/<name>/AGENT.md) 仅会在本地 Devin Agent (CLI 和 Devin Desktop) 中加载,不会在云端会话中加载。 - 钩子目前采用尽力而为、失败开放的模式——钩子加载或运行失败不会停止会话——因此暂勿依赖它们来实现关键护栏。本地配置请参阅 CLI 钩子参考。
- 治理失败开放:如果在会话开始时无法获取受管清单,则该级别的插件不会被安装,其禁止规则也不会在该会话中强制执行。
- 来自私有代码仓库的插件内容仅会在 Git 集成能够访问该代码仓库的组织中显示于 Customize;否则会被保留,直到在 Settings → Repositories 中授予该代码仓库的访问权限。

