mcpField
M
modules

modules

github.com/coder云与 DevOps14107 次安装3 周前更新
代码仓库

关于 modules

用于在现有 Terraform 模板中添加或更新 Coder 模块的 Skill。它指导模块查找、安全集成代码片段、验证和部署,并以注册表文档中的版本为准。

主要功能

  1. 01在注册表中查找模块
  2. 02检查模板前置条件
  3. 03插入固定版本的 Terraform 代码
  4. 04验证 Terraform 更改
  5. 05推送模板版本

适用场景

  1. 01为 Coder 工作区添加 IDE
  2. 02集成 AI Agent 模块
  3. 03向模板添加密钥或云区域模块

MCP 相关

它可使用 `https://registry.coder.com/mcp` 上的注册表 MCP 服务及其 `search_modules` 工具查找模块。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/coder/skills --skill modules

安装后在 Claude Code 中输入/modules确认已加载。

附带文件agents/openai.yaml

详细介绍

模块

在现有的 Coder 模板中添加或更新 Coder 模块。 模块是在 registry.coder.com 上发布的 Terraform 代码片段,可为工作区扩展 IDE、AI Agent、密钥、登录流程、云区域和其他工具。

信息来源

应用任何特定主题的内容前,请先阅读最新的上游文档:

本技能仅保留集成工作流、用户交互规则,以及少数特定模块的注意事项。

用户交互

用户需要的是可用的模块集成,而不是 Terraform 教程。

  • 如果用户有多个模板,请确认要编辑哪个模板。
  • 写入前展示拟添加的代码片段,并询问用户是否同意。只询问一次是/否。
  • 绝不默默升级模块版本。版本有变更时,明确告知用户。
  • 除非用户提出要求,否则不要向用户讲解 Coder 概念。

工作流

1. 确定模块

搜索用户描述的模块。按以下顺序尝试,找到第一个匹配项后即停止:

  1. 使用 registry MCP 服务 https://registry.coder.com/mcp 中的 search_modules 工具。
  2. 访问网站 https://registry.coder.com/modules。
  3. 在 coder/registry 的本地克隆中运行 find registry/coder/modules -maxdepth 1 -type d。

如果请求含糊不清,请列出两到三个匹配选项,并各用一句话说明,然后请用户选择。

2. 找到目标模板

Coder 模块要添加到 Coder 模板中,该模板是磁盘上的 Terraform 代码。请确认:

  • 存在一个包含 main.tf 的目录。
  • 存在一个 coder_agent 资源。大多数模块需要 agent_id。
  • 存在一个 data "coder_workspace" "me" 数据源。大多数模块会根据 data.coder_workspace.me.start_count 进行条件判断。

如果不存在模板目录,请停止并推荐使用模板技能。

3. 阅读模块页面

获取规范的代码片段:

  • 从 registry.coder.com 上该模块的 README 获取。
  • 或从 coder/registry 的本地克隆中的 registry/coder/modules/<name>/README.md 获取。

始终固定为页面上显示的版本。绝不使用 latest。绝不编造未列出的版本。

4. 插入模块

将代码片段添加到 main.tf。常见规则:

  • 将 agent_id 设置为现有的 coder_agent 资源。模板通常恰好只有一个。
  • 对于仅应在工作区启动时运行的模块,保留 count = data.coder_workspace.me.start_count。
  • 遵循周围的缩进和引号风格。
  • 带有额外输入项的模块(JetBrains IDE 选择、Vault 身份验证、JFrog 实例 URL、MCP 配置)需要额外参数。请先阅读模块 README 的 Examples 部分,不要猜测。
5. 验证

在模板目录中:

terraform init
terraform fmt
terraform validate

terraform fmt 可能会重新格式化用户未修改的文件部分。如果发生这种情况,请在提交前询问用户。

6. 推送

如果用户希望将更改发布到 Coder 部署:

coder templates push "$TEMPLATE_NAME" -d "$TEMPLATE_DIR" --yes
coder templates versions list "$TEMPLATE_NAME"

versions list 的输出可确认新版本已注册。如果用户希望自动激活新版本,请在 push 中添加 --activate;否则,保留当前激活的版本。

常用模块

精选的高频类别列表。完整目录请访问 https://registry.coder.com/modules。

  • IDE:cursor、jetbrains、code-server、vscode-desktop、 vscode-web、windsurf、zed、kiro。
  • AI Agent:claude-code、aider、goose、amazon-q、agentapi。
  • 开发环境:dotfiles、git-clone、git-config、 personalize、coder-login。
  • 密钥:hcp-vault-secrets、vault-cli、vault-github、 vault-jwt、vault-token。
  • 应用:filebrowser、jupyterlab、jupyter-notebook、 rstudio-server、kasmvnc。
  • 云区域:aws-region、azure-region、gcp-region、 fly-region。

安全措施

  • 不要将模块添加到没有 coder_agent 的模板中。该模块将无法运行,工作区也会在不提示的情况下缺少此集成。
  • 添加需要管理员级配置的模块(Vault 后端、JFrog 实例、外部身份验证提供商)之前,先确认部署环境已配置相应的服务端。
  • 运行 coder templates push 前,务必告知用户他们将获得哪个模板版本。
  • 如果用户有未提交的更改,不要编辑 main.tf;先提议暂存或提交更改。
  • 不要编造模块名称或版本。如果在 registry.coder.com 上找不到模块,请如实说明。

捆绑资源

此技能不附带任何特定模块的操作指南。请参阅 registry.coder.com 上各模块的 README 和上游 Coder 文档。

评论

支持 Markdown