refactor: hard-fork GSD -> MSD (Make Software Done)
Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD across contents and paths, upstream package/repo coordinates -> @golem15/msd-core and golem15com/msd-core. Deep links into upstream history, sibling upstream packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is. Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line, package/plugin identity, regenerated lockfile, install-tree fixtures, derived registries and benchmark baseline; migration checksum baseline re-locked (MSD keeps its own install state, so no install had applied the old sums); sort-order and regex-escaped expectations in tests adjusted.
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
# 将现有代码库纳入工作流
|
||||
|
||||
在本教程中,您将把 GSD Core 引入一个已有代码的仓库。您将对代码库进行映射,创建一个描述您所*新增*内容的项目,并针对一个小型聚焦变更运行首次讨论与规划循环。完成后,GSD Core 的规划流水线将了解您的技术栈、规范和关注点——并在每次规划时运用这些知识。
|
||||
在本教程中,您将把 MSD Core 引入一个已有代码的仓库。您将对代码库进行映射,创建一个描述您所*新增*内容的项目,并针对一个小型聚焦变更运行首次讨论与规划循环。完成后,MSD Core 的规划流水线将了解您的技术栈、规范和关注点——并在每次规划时运用这些知识。
|
||||
|
||||
---
|
||||
|
||||
## 您将构建的内容
|
||||
|
||||
我们将向一个现有的 Express 应用程序添加一个 `GET /health` 端点。该变更足够小,不会分散您对真正核心内容的注意力:GSD Core 在规划任何内容之前如何学习您的代码库。
|
||||
我们将向一个现有的 Express 应用程序添加一个 `GET /health` 端点。该变更足够小,不会分散您对真正核心内容的注意力:MSD Core 在规划任何内容之前如何学习您的代码库。
|
||||
|
||||
---
|
||||
|
||||
@@ -18,12 +18,12 @@
|
||||
|
||||
---
|
||||
|
||||
## 第 1 步 — 安装 GSD Core
|
||||
## 第 1 步 — 安装 MSD Core
|
||||
|
||||
在您的仓库根目录执行:
|
||||
|
||||
```bash
|
||||
npx @opengsd/gsd-core@latest
|
||||
npx @golem15/msd-core@latest
|
||||
```
|
||||
|
||||
在提示时选择 **Claude Code** 和 **local**。您将看到:
|
||||
@@ -31,7 +31,7 @@ npx @opengsd/gsd-core@latest
|
||||
```text
|
||||
✓ Installed 86 skills to .claude/commands/
|
||||
✓ Installed agents to .claude/agents/
|
||||
✓ GSD Core ready — run /gsd-new-project to start
|
||||
✓ MSD Core ready — run /msd-new-project to start
|
||||
```
|
||||
|
||||
---
|
||||
@@ -44,7 +44,7 @@ claude --dangerously-skip-permissions
|
||||
|
||||
> [!CAUTION]
|
||||
> **The permissions flag is optional.** It skips per-file confirmation while
|
||||
> GSD's sub-agents read and write files. Use it only in low-stakes or
|
||||
> MSD's sub-agents read and write files. Use it only in low-stakes or
|
||||
> throwaway contexts. To keep confirmations enabled, start with `claude` instead.
|
||||
> For real work, read the [security model](../explanation/security-model.md) first.
|
||||
|
||||
@@ -53,13 +53,13 @@ claude --dangerously-skip-permissions
|
||||
|
||||
## 第 3 步 — 开始 brownfield onboarding
|
||||
|
||||
在创建项目之前,让 GSD Core 检查仓库状态并告诉您安全的下一个顶层命令。这一步可避免跳过代码库上下文或覆盖现有 planning 文件。
|
||||
在创建项目之前,让 MSD Core 检查仓库状态并告诉您安全的下一个顶层命令。这一步可避免跳过代码库上下文或覆盖现有 planning 文件。
|
||||
|
||||
```text
|
||||
/gsd-onboard
|
||||
/msd-onboard
|
||||
```
|
||||
|
||||
如果 onboarding 报告缺少代码库映射,请选择推荐选项并运行打印出的 `/gsd-map-codebase` 交接命令,然后重新运行 `/gsd-onboard`。`/gsd-onboard --fast` 只适合轻量首次通过;在 `/gsd-new-project` 前仍需要完整映射。`/gsd-map-codebase` 会派生四个并行映射子代理(您将看到"Spawning 4 parallel codebase mapper agents…"——这需要 1–5 分钟;请勿中断)。每个代理专注于不同的关注点:
|
||||
如果 onboarding 报告缺少代码库映射,请选择推荐选项并运行打印出的 `/msd-map-codebase` 交接命令,然后重新运行 `/msd-onboard`。`/msd-onboard --fast` 只适合轻量首次通过;在 `/msd-new-project` 前仍需要完整映射。`/msd-map-codebase` 会派生四个并行映射子代理(您将看到"Spawning 4 parallel codebase mapper agents…"——这需要 1–5 分钟;请勿中断)。每个代理专注于不同的关注点:
|
||||
|
||||
| 代理 | 关注点 |
|
||||
|-------|-------|
|
||||
@@ -83,9 +83,9 @@ Created .planning/codebase/:
|
||||
- CONCERNS.md (33 lines) - Technical debt and issues
|
||||
```
|
||||
|
||||
打开 `.planning/codebase/STACK.md`。您将看到 GSD Core 检测到的语言、运行时、框架版本和关键依赖项——这些内容基于实际读取的文件,而非猜测。
|
||||
打开 `.planning/codebase/STACK.md`。您将看到 MSD Core 检测到的语言、运行时、框架版本和关键依赖项——这些内容基于实际读取的文件,而非猜测。
|
||||
|
||||
打开 `.planning/codebase/CONVENTIONS.md`。您将看到它从您的源代码中观察到的命名规范、错误处理模式和代码风格规则。GSD Core 为该仓库生成的每个计划都将自动遵循这些规范。
|
||||
打开 `.planning/codebase/CONVENTIONS.md`。您将看到它从您的源代码中观察到的命名规范、错误处理模式和代码风格规则。MSD Core 为该仓库生成的每个计划都将自动遵循这些规范。
|
||||
|
||||
打开 `.planning/codebase/CONCERNS.md`。在进行任何新功能开发之前,这是最值得阅读的文件——它会展现可能影响您计划的技术债务和脆弱区域。
|
||||
|
||||
@@ -99,15 +99,15 @@ Created .planning/codebase/:
|
||||
/clear
|
||||
```
|
||||
|
||||
现在再次运行 `/gsd-onboard`。如果 GSD Core 检测到 ADR、PRD、spec、RFC 或根级需求文档,请先接受推荐的 `/gsd-ingest-docs` 交接,然后再运行 `/gsd-onboard`。上下文准备好后,onboarding 会打印项目初始化交接命令:
|
||||
现在再次运行 `/msd-onboard`。如果 MSD Core 检测到 ADR、PRD、spec、RFC 或根级需求文档,请先接受推荐的 `/msd-ingest-docs` 交接,然后再运行 `/msd-onboard`。上下文准备好后,onboarding 会打印项目初始化交接命令:
|
||||
|
||||
```text
|
||||
/gsd-new-project
|
||||
/msd-new-project
|
||||
```
|
||||
|
||||
由于 GSD Core 在上一步中发现了现有代码,`/gsd-new-project` 知道这是一个棕地项目。问题将聚焦于您所*新增*的内容,而非重新描述已有的内容:
|
||||
由于 MSD Core 在上一步中发现了现有代码,`/msd-new-project` 知道这是一个棕地项目。问题将聚焦于您所*新增*的内容,而非重新描述已有的内容:
|
||||
|
||||
GSD Core 会询问您想构建什么。请用您正在添加的功能来回答,而不是描述整个代码库:
|
||||
MSD Core 会询问您想构建什么。请用您正在添加的功能来回答,而不是描述整个代码库:
|
||||
|
||||
```text
|
||||
Add a GET /health endpoint to the Express app. It should return
|
||||
@@ -115,7 +115,7 @@ Add a GET /health endpoint to the Express app. It should return
|
||||
health checks.
|
||||
```
|
||||
|
||||
GSD Core 会进一步提出少量澄清问题,然后继续创建需求和路线图。由于它已读取 `ARCHITECTURE.md` 和 `STACK.md`,它会自动将现有能力映射到 `PROJECT.md` 的 **Validated** 部分——您无需描述现有的 API 接口。
|
||||
MSD Core 会进一步提出少量澄清问题,然后继续创建需求和路线图。由于它已读取 `ARCHITECTURE.md` 和 `STACK.md`,它会自动将现有能力映射到 `PROJECT.md` 的 **Validated** 部分——您无需描述现有的 API 接口。
|
||||
|
||||
对所有工作流设置选择推荐默认值。
|
||||
|
||||
@@ -133,7 +133,7 @@ Proposed Roadmap
|
||||
|
||||
批准路线图。
|
||||
|
||||
项目设置完成后,再运行一次 `/gsd-onboard`。现在 `PROJECT.md`、`REQUIREMENTS.md`、`ROADMAP.md` 和 `STATE.md` 都已存在,onboarding 会创建或确认 `.planning/onboarding/SUMMARY.md`。
|
||||
项目设置完成后,再运行一次 `/msd-onboard`。现在 `PROJECT.md`、`REQUIREMENTS.md`、`ROADMAP.md` 和 `STATE.md` 都已存在,onboarding 会创建或确认 `.planning/onboarding/SUMMARY.md`。
|
||||
|
||||
**在 `.planning/` 中创建的内容:**
|
||||
|
||||
@@ -148,7 +148,7 @@ Proposed Roadmap
|
||||
codebase/ ← 第 3 步生成的七个映射文件
|
||||
```
|
||||
|
||||
注意 `.planning/codebase/` 已经从第 3 步存在。GSD Core 在编写 `PROJECT.md` 时读取了这些文件,这就是为什么它无需您描述即可填充已验证的需求。
|
||||
注意 `.planning/codebase/` 已经从第 3 步存在。MSD Core 在编写 `PROJECT.md` 时读取了这些文件,这就是为什么它无需您描述即可填充已验证的需求。
|
||||
|
||||
---
|
||||
|
||||
@@ -159,10 +159,10 @@ Proposed Roadmap
|
||||
```
|
||||
|
||||
```text
|
||||
/gsd-discuss-phase 1
|
||||
/msd-discuss-phase 1
|
||||
```
|
||||
|
||||
由于 GSD Core 已读取您的 `CONVENTIONS.md` 和 `ARCHITECTURE.md`,其问题基于您的实际代码库——而非通用建议。您可能会看到:
|
||||
由于 MSD Core 已读取您的 `CONVENTIONS.md` 和 `ARCHITECTURE.md`,其问题基于您的实际代码库——而非通用建议。您可能会看到:
|
||||
|
||||
```text
|
||||
> Your routes are registered in src/routes/index.js. Should the health
|
||||
@@ -177,7 +177,7 @@ Proposed Roadmap
|
||||
process.uptime() is fine.
|
||||
```
|
||||
|
||||
讨论结束后,GSD Core 将写入:
|
||||
讨论结束后,MSD Core 将写入:
|
||||
|
||||
```text
|
||||
.planning/phases/01-health-endpoint/CONTEXT.md
|
||||
@@ -190,7 +190,7 @@ Proposed Roadmap
|
||||
## 第 6 步 — 规划第 1 阶段
|
||||
|
||||
```text
|
||||
/gsd-plan-phase 1
|
||||
/msd-plan-phase 1
|
||||
```
|
||||
|
||||
四个研究子代理并行运行(1–5 分钟)。当它们返回后,规划器读取 `CONTEXT.md`、研究结果和您的代码库映射,创建符合您规范的任务计划。
|
||||
@@ -204,7 +204,7 @@ Proposed Roadmap
|
||||
01-02-PLAN.md ← Task: register health route in src/routes/index.js
|
||||
```
|
||||
|
||||
打开 `01-01-PLAN.md`。注意 `<files>` 标签引用了 `src/routes/health.js`——正是您在讨论中指定的路径,与 GSD Core 在代码库映射中观察到的路由模式一致。这正是代码库映射发挥作用的体现。
|
||||
打开 `01-01-PLAN.md`。注意 `<files>` 标签引用了 `src/routes/health.js`——正是您在讨论中指定的路径,与 MSD Core 在代码库映射中观察到的路由模式一致。这正是代码库映射发挥作用的体现。
|
||||
|
||||
---
|
||||
|
||||
@@ -213,21 +213,21 @@ Proposed Roadmap
|
||||
您现在拥有一个带有代码库映射、讨论决策记录和经过验证的任务计划的项目——所有内容均基于您的实际代码。从这里开始,工作流与绿地项目完全相同:
|
||||
|
||||
```text
|
||||
/gsd-execute-phase 1
|
||||
/gsd-verify-work 1
|
||||
/gsd-ship 1
|
||||
/msd-execute-phase 1
|
||||
/msd-verify-work 1
|
||||
/msd-ship 1
|
||||
```
|
||||
|
||||
对于每个未来的功能,当结构发生重大变化时,再次运行 `/gsd-map-codebase`,以保持代码库映射的时效性。
|
||||
对于每个未来的功能,当结构发生重大变化时,再次运行 `/msd-map-codebase`,以保持代码库映射的时效性。
|
||||
|
||||
---
|
||||
|
||||
## 您学到了什么
|
||||
|
||||
- `/gsd-onboard` 如何安全编排 brownfield 设置,不嵌套交互式命令,也不覆盖现有 planning 文件。
|
||||
- `/gsd-map-codebase` 如何运行四个并行代理,在 `.planning/codebase/` 中生成 `STACK.md`、`ARCHITECTURE.md`、`CONVENTIONS.md`、`CONCERNS.md`、`STRUCTURE.md`、`TESTING.md` 和 `INTEGRATIONS.md`。
|
||||
- 在棕地仓库中运行 `/gsd-new-project` 如何将问题聚焦于您所*新增*的内容,并从现有代码中填充已验证的需求。
|
||||
- 代码库映射如何塑造 `/gsd-discuss-phase` 中的每个问题——文件路径、模式和规范均来自您的实际代码。
|
||||
- `/msd-onboard` 如何安全编排 brownfield 设置,不嵌套交互式命令,也不覆盖现有 planning 文件。
|
||||
- `/msd-map-codebase` 如何运行四个并行代理,在 `.planning/codebase/` 中生成 `STACK.md`、`ARCHITECTURE.md`、`CONVENTIONS.md`、`CONCERNS.md`、`STRUCTURE.md`、`TESTING.md` 和 `INTEGRATIONS.md`。
|
||||
- 在棕地仓库中运行 `/msd-new-project` 如何将问题聚焦于您所*新增*的内容,并从现有代码中填充已验证的需求。
|
||||
- 代码库映射如何塑造 `/msd-discuss-phase` 中的每个问题——文件路径、模式和规范均来自您的实际代码。
|
||||
- 规划器如何读取 `CONTEXT.md` 和 `CONVENTIONS.md` 来生成符合您仓库风格的计划。
|
||||
|
||||
---
|
||||
@@ -235,5 +235,5 @@ Proposed Roadmap
|
||||
## 相关内容
|
||||
|
||||
- [您的第一个项目](your-first-project.md) — 从安装到 PR 的完整绿地循环
|
||||
- [通过命令使用映射代码库](../COMMANDS.md) — 所有 `/gsd-map-codebase` 标志和子命令
|
||||
- [通过命令使用映射代码库](../COMMANDS.md) — 所有 `/msd-map-codebase` 标志和子命令
|
||||
- [文档索引](../README.md)
|
||||
|
||||
Reference in New Issue
Block a user