diff --git a/skills/gitlink-project-bootstrap/SKILL.md b/skills/gitlink-project-bootstrap/SKILL.md new file mode 100644 index 0000000..8f3f7be --- /dev/null +++ b/skills/gitlink-project-bootstrap/SKILL.md @@ -0,0 +1,152 @@ +--- +name: gitlink-project-bootstrap +version: 1.0.0 +description: "项目一键初始化编排:从一句话项目描述出发,串联创建仓库 → 生成 README/LICENSE/CI 配置 → 初始化 label/milestone/member → 创建首批 Issue → 配置 webhook,实现端到端自动化。" +metadata: + requires: + bins: ["gitlink-cli"] + orchestrates: + - gitlink-repo + - gitlink-label + - gitlink-milestone + - gitlink-member + - gitlink-webhook + - gitlink-issue + - gitlink-onboarding + cliHelp: "gitlink-cli --help" +--- + +# gitlink-project-bootstrap(项目一键初始化编排) + +**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),认证/权限/API 注意事项。** +**CRITICAL — 本 Skill 几乎全是写入操作(建仓库/建文件/加成员),每一步执行前务必先确认用户意图。** +**CRITICAL — GitLink 操作只能用 gitlink-cli。禁止用 gh(GitHub CLI)操作 GitLink 资源。** +**CRITICAL — 失败后不自动 `repo +delete` 回滚,必须用户授权才清理。** + +--- + +## 工作流总览 + +```mermaid +flowchart TD + A[用户一句话需求] --> S1[Step1 🤖AI需求解析
提取项目名/语言/描述/成员] + S1 --> CONF1{用户确认初始化清单?} + CONF1 -->|否| S1 + CONF1 -->|是| S2[Step2 创建仓库骨架
repo+create + create-file×3] + S2 --> S3[Step3 初始化协作体系
label+create / milestone+create / member+batch-add] + S3 --> S4[Step4 🤖AI推荐首批Issue
issue+create ×N] + S4 --> S5[Step5 配置自动化
webhook+create + webhook+test] + S5 --> S6[Step6 🤖AI输出初始化报告
调 onboarding 生成新人文档] + S6 --> DONE[完成] +``` + +--- + +## 编排的子 Skill + +| 子 Skill | 职责 | 调用时机 | +|---|---|---| +| gitlink-repo | 创建仓库、写入 README/LICENSE/CI 文件 | Step2 | +| gitlink-label | 初始化标签体系(bug/feature/doc...) | Step3 | +| gitlink-milestone | 创建首个里程碑(Sprint 1 / MVP) | Step3 | +| gitlink-member | 批量添加初始成员 | Step3 | +| gitlink-issue | 创建首批 Issue | Step4 | +| gitlink-webhook | 配置 CI/webhook 回调 | Step5 | +| gitlink-onboarding | 生成新人引导文档 | Step6 | + +--- + +## 详细步骤 + +### Step 1: 🤖AI 需求解析(AI 判断点) + +- 🤖AI 判断点:从用户一句话提取并生成「初始化清单」: + - 项目名(name) + - 描述(description) + - 语言/技术栈(决定 README/CI 模板) + - 可见性(private 默认) + - 成员列表(user_id 或 login) + - 缺省字段需明确标注「(推断)」,不得静默补全。 +- 纯命令(核验身份/补全成员 ID): + - `gitlink-cli user +me` — 当前操作者 + - `gitlink-cli search +users -k <姓名>` — 反查用户 ID +- ⚠️强制确认:把完整清单出示给用户,确认或修改后才进入 Step2。 + +### Step 2: 创建仓库骨架(纯命令 + 🤖AI 生成内容) + +- 纯命令(建仓库): + - `gitlink-cli repo +create --name --description "" --private ` +- 🤖AI 判断点:根据语言生成 README.md / LICENSE / CI 配置内容(如 Python→pytest 模板、Go→go build 模板)。 +- ⚠️写入命令(逐个创建文件,每个都需确认): + - `gitlink-cli repo +create-file --owner --repo --filepath README.md --content "<内容>" --message "docs: add README"` + - `gitlink-cli repo +create-file --owner --repo --filepath LICENSE --content "" --message "docs: add LICENSE"` + - `gitlink-cli repo +create-file --owner --repo --filepath .gitlink-ci.yml --content "" --message "ci: add pipeline config"` + +### Step 3: 初始化协作体系(纯命令) + +- 标签体系(🤖AI 推荐配色): + - `gitlink-cli label +create --owner --repo --name bug --color "#d73a4a"` + - `gitlink-cli label +create --owner --repo --name feature --color "#a2eeef"` + - `gitlink-cli label +create --owner --repo --name documentation --color "#0075ca"` +- 里程碑: + - `gitlink-cli milestone +create --owner --repo --name "Sprint 1"` +- 成员(批量): + - `gitlink-cli member +batch-add --owner --repo --user-ids --dry-run` — 先预览 + - 确认后去掉 `--dry-run` 正式添加 + +### Step 4: 🤖AI 推荐首批 Issue(AI 判断点 + 写入命令) + +- 🤖AI 判断点:根据项目类型推荐 3-5 个初始 Issue(如"搭建项目结构""配置 CI""编写使用文档""冒烟测试")。 +- ⚠️写入命令(确认后逐条创建): + - `gitlink-cli issue +create --owner --repo --title "搭建项目结构" --body "<描述>" --label