mcpField
F
factory-setup

factory-setup

github.com/tikalkAgent 工作流14388 次安装今天更新
代码仓库

关于 factory-setup

factory-setup 是用于将仓库连接到工单跟踪器的交互式技能,供 factory 工作流配置或检查项目使用。它会生成或验证 `.adlc/issues-provider.yml`,不写入凭据,也不会擅自覆盖现有配置。

主要功能

  1. 01支持 GitHub、GitLab、Linear 和 Jira
  2. 02检测或手动选择跟踪器
  3. 03生成工单提供方配置文件
  4. 04验证已有配置而不覆盖
  5. 05交互式或无头模式运行

适用场景

  1. 01为新仓库配置工单跟踪器
  2. 02排查运行因缺少提供方配置而停止
  3. 03检查仓库当前连接的跟踪器
  4. 04确认后将仓库切换到另一跟踪器

安装

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

$npx skills add https://github.com/tikalk/adlc-team-skills --skill factory-setup

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
mode-configured.md
mode-detect.md
mode-pick.md

详细介绍

factory-setup

概述

factory-setup 是一项交互式技能,可将代码仓库连接到其问题跟踪器,供 factory(factory-mission、factory-queue、factory-review)使用。它会询问代码仓库使用哪个跟踪器,然后根据发布模板写入 .adlc/issues-provider.yml——仅包含服务提供方和字段映射,不包含凭据。可通过以下三种方式调用:

  • 由用户调用(/factory-setup)——随时用于配置或检查项目。
  • 由模型通过 team-boot 调用——安装了 factory 技能但未找到可用的服务提供方配置时,会建议调用此技能(自安装提示,类似 team-setup)。
  • 通过 adlc-cli factory setup 无头运行——用于脚本化运行;--provider 会预先指定选项,因此不会提问。

此技能不会造成破坏:绝不会覆盖现有的 .adlc/issues-provider.yml。如果文件已存在,则改为验证连接配置(模式 3)。

适用场景

  • 跟踪器运行因“no provider resolves”而停止,并指出了此技能。
  • 为 factory 运行设置新的代码仓库(GitHub、GitLab、Linear 或 Jira)。
  • 不确定代码仓库连接的是哪个跟踪器,想快速检查。
  • 将代码仓库从一个跟踪器切换到另一个(重新选择;仅在明确确认后才重写文件)。
  • team-boot 建议使用此技能,因为已安装 factory 技能,但未找到可用的服务提供方配置。

拒绝处理(由 team-boot 调用时)

用户可能选择暂时不配置跟踪器。请明确处理拒绝,以避免反复提示:

  • 如果用户拒绝,不要写入任何内容。正常退出;拒绝仅对当前会话有效。
  • 刻意不设持久化的退出选择标记:该标记会存放在 .adlc/init-options.json 中,其架构与 adlc-cli 共享——为会话偏好添加跟踪器专用键会造成架构变更。team-boot 会在下个会话再次询问。
  • 绝不强制选择模式;每一步都必须征得用户同意。无头运行时无法询问用户,因此必须提供 --provider,否则停止。

核心流程

目标

为代码仓库生成一份可提交的 .adlc/issues-provider.yml,其中包含正确的 provider:,或验证现有连接配置。

安全性:输入验证

此技能写入的唯一自由格式值是服务提供方字面值,且必须严格为 github、gitlab、linear、jira 之一——任何其他值都会在写入前被拒绝。只有在用户确认渲染后的文件内容后,才会将字段映射值(项目 ID、键)原样写入 YAML 注释或值中;绝不将用户输入插入 shell——写入过程仅操作文件(cp 模板,编辑 provider: 行)。如果用户粘贴了任何类似令牌的内容(glpat-、ghp_、xoxb-、sk-),拒绝写入,并提醒用户凭据只能通过环境变量提供。

**快速路径:**如果 .adlc/issues-provider.yml 已存在且包含有效的 provider:,则跳转到模式 3(已配置)——不要重新检测、重新选择或重写。

模式一览
#模式适用场景详情见
1根据 git 远程地址检测需要快速启发式判断(始终需要确认)references/mode-detect.md
2明确选择启发式判断错误、远程地址非 git,或已提供 --providerreferences/mode-pick.md
3已配置文件已存在——验证连接配置references/mode-configured.md
模式选择流程
  1. 检查:读取仓库根目录(CWD;不要向上遍历)中的 .adlc/issues-provider.yml。如果存在有效的 provider:,则进入模式 3。
  2. 询问:提供选项——从远程 URL 检测,或从四个提供方中选择。在无头运行中(已提供 --provider),跳过询问,并使用模式 2 和给定的字面值。
  3. 确认:显示即将写入的确切文件内容,并在写入前取得明确确认(交互式运行)。无头运行则直接写入——--provider 标志即为确认。
  4. 提交步骤:将发布模板(skills/factory/factory-mission/references/issues-provider.yml)复制到 .adlc/issues-provider.yml,设置 provider: 行,报告路径,并提醒用户提交该文件。绝不写入凭据,绝不覆盖。
提交步骤(模式 1–2 共用)
  1. 如果目标文件已存在,则拒绝操作(转到模式 3)——除非用户已在模式 2 中明确确认切换。
  2. 复制模板;取消注释并设置 provider: <literal>。
  3. 显示最终内容;仅在获得确认时写入(交互式运行),或在提供 --provider 时写入(无头运行)。
  4. 报告:写入的路径、所选提供方,提醒用户提交,并说明现在运行跟踪器时将不再中断。

评论

支持 Markdown