关于 factory-setup
factory-setup 是用于将仓库连接到工单跟踪器的交互式技能,供 factory 工作流配置或检查项目使用。它会生成或验证 `.adlc/issues-provider.yml`,不写入凭据,也不会擅自覆盖现有配置。
主要功能
- 01支持 GitHub、GitLab、Linear 和 Jira
- 02检测或手动选择跟踪器
- 03生成工单提供方配置文件
- 04验证已有配置而不覆盖
- 05交互式或无头模式运行
适用场景
- 01为新仓库配置工单跟踪器
- 02排查运行因缺少提供方配置而停止
- 03检查仓库当前连接的跟踪器
- 04确认后将仓库切换到另一跟踪器
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tikalk/ adlc-team-skills --skill factory-setup安装后在 Claude Code 中输入/factory-setup确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/mode-configured.mdmode-detect.mdmode-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,或已提供 --provider | references/mode-pick.md |
| 3 | 已配置 | 文件已存在——验证连接配置 | references/mode-configured.md |
模式选择流程
- 检查:读取仓库根目录(CWD;不要向上遍历)中的
.adlc/issues-provider.yml。如果存在有效的provider:,则进入模式 3。 - 询问:提供选项——从远程 URL 检测,或从四个提供方中选择。在无头运行中(已提供
--provider),跳过询问,并使用模式 2 和给定的字面值。 - 确认:显示即将写入的确切文件内容,并在写入前取得明确确认(交互式运行)。无头运行则直接写入——
--provider标志即为确认。 - 提交步骤:将发布模板(
skills/factory/factory-mission/references/issues-provider.yml)复制到.adlc/issues-provider.yml,设置provider:行,报告路径,并提醒用户提交该文件。绝不写入凭据,绝不覆盖。
提交步骤(模式 1–2 共用)
- 如果目标文件已存在,则拒绝操作(转到模式 3)——除非用户已在模式 2 中明确确认切换。
- 复制模板;取消注释并设置
provider: <literal>。 - 显示最终内容;仅在获得确认时写入(交互式运行),或在提供
--provider时写入(无头运行)。 - 报告:写入的路径、所选提供方,提醒用户提交,并说明现在运行跟踪器时将不再中断。