pdlc-adopt
スター10
フォーク2
更新日2026年5月7日 16:14
旧项目接入 PDLC
インストール
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SKILL.md
readonlyメニュー
旧项目接入 PDLC
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
全自动 Bug 修复(定位→复现→修复→测试→文档)
按设计文档和已有测试用例实现代码(带前置守卫、自检、handoff)
创建 PRD 文档(自动化生成 + 自检 + handoff)
质量闸门——跑真实 check、对照质量目标、出可核对报告,由人签字放行
代码评审 + 文档评审
| name | pdlc-adopt |
| description | 旧项目接入 PDLC |
| argument-hint | ["项目目录"] |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
| layer | 3 |
| stage | lifecycle |
| produces | ["docs/**"] |
| requires | [] |
| next_step | null |
| terminal_state | null |
扫描现有项目结构,逆向生成基线文档,并进行健康检查发现潜在问题。让旧项目平滑接入 PDLC 流程。
从 $ARGUMENTS 中解析子命令:
| 子命令 | 说明 |
|---|---|
scan | 扫描项目,输出接入报告 + 健康检查报告(不写任何文件,只读分析) |
init | 根据扫描结果,逆向生成基线文档到 docs/ 目录 |
如果未提供子命令或无法识别,输出以上帮助信息后停止。
全程只读,不创建/修改任何文件,只在终端输出报告。
技术栈检测
package.json、pom.xml、build.gradle、go.mod、requirements.txt、Pipfile、Cargo.toml、mix.exs 等react、vue、next、angular(从 package.json 依赖推断)服务/应用识别
backend/services/ 或具有独立启动入口的子目录frontend/、web/、app/ 或具有前端框架特征的目录数据库识别
按技术栈扫描路由定义:
| 技术栈 | 扫描目标 |
|---|---|
| Spring Boot | @RequestMapping、@GetMapping、@PostMapping 等注解 |
| Express/NestJS | router.get/post/put/delete、@Get/@Post 装饰器 |
| FastAPI | @app.get/post/put/delete、@router.get/post |
| Go (Gin/Echo) | r.GET/POST/PUT/DELETE、e.GET/POST |
| Django | urlpatterns、path()、re_path() |
提取信息:HTTP 方法、路径、处理函数名、参数(如能识别)。
| 来源 | 提取方式 |
|---|---|
| ORM Model | 扫描实体类/模型定义,提取表名、字段名、字段类型、关联关系 |
| Migration 文件 | 扫描 migrations/、db/migrate/ 等目录,提取 DDL 变更历史 |
| SQL 文件 | 扫描 *.sql 文件,提取 CREATE TABLE 语句 |
README.md 内容丰富度docs/ 目录及子目录docs/01_requirements/、docs/02_design/ 等)对代码进行静态分析级别的检查,按严重程度分级:
📊 项目扫描报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## 一、项目结构
| 项目 | 详情 |
|------|------|
| 技术栈 | Java Spring Boot 2.7 + MySQL 8.0 |
| 后端服务 | 3 个(user-service, order-service, product-service) |
| 前端应用 | 1 个(web-admin, React 18) |
| 数据库 | MySQL(12 张表) |
| 已有文档 | README.md(简略)、无 PDLC 文档 |
## 二、可生成的基线文档
| 文档类型 | 是否可生成 | 内容预估 |
|---------|-----------|---------|
| 基线 PRD | ✅ 可生成 | 从 README + 服务结构推断,需人工补充业务目标 |
| API 设计文档 | ✅ 可生成 | 提取到 45 个接口定义 |
| DB 设计文档 | ✅ 可生成 | 提取到 12 张表结构 |
| 架构概要 | ✅ 可生成 | 3 服务 + 1 前端的依赖关系图 |
## 三、健康检查报告
### 🔴 阻断 (2)
| # | 位置 | 问题 | 风险 | 修复建议 |
|---|------|------|------|---------|
| 1 | user-service/src/.../UserDao.java:45 | SQL 字符串拼接 | SQL 注入 | 改用 PreparedStatement 参数化查询 |
| 2 | config/application.yml:12 | 数据库密码明文硬编码 | 凭证泄露 | 使用环境变量或密钥管理服务 |
### 🟠 严重 (3)
...
### 🟡 一般 (5)
...
### 🔵 建议 (4)
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
统计:🔴 2 | 🟠 3 | 🟡 5 | 🔵 4 | 总计 14 个问题
💡 建议:先修复 🔴 阻断级问题,再运行 /pdlc-adopt init 生成基线文档。
建议先运行 scan 查看报告,再运行 init 生成文档。
scan 相同的扫描逻辑(收集项目信息)docs/ 下是否已有同名基线文档,已存在则跳过(避免覆盖)docs/
├── 00_standards/
├── 01_requirements/prd/
├── 02_design/
│ ├── api/
│ ├── architecture/
│ └── database/
├── 03_development/
├── 04_testing/
├── 05_deployment/
└── 07_reviews/
所有基线文档以 ADOPTED- 前缀命名,与正常 PDLC 文档区分。
所有文档头部包含接入标记:
<!-- PDLC-TRACE -->
<!-- PDLC-ADOPTED -->
<!-- 项目名称: my-project -->
<!-- 接入日期: YYYY-MM-DD -->
<!-- 阶段: 接入基线 -->
<!-- 说明: 由 /pdlc-adopt init 自动生成,内容基于代码逆向推断,需人工审核补充 -->
docs/01_requirements/prd/ADOPTED-<项目名>-prd.md> ⚠️ 以下内容由代码逆向推断,业务目标和用户故事需人工补充docs/02_design/api/ADOPTED-<服务名>-api.md(每个服务一个)templates/api-design-template.md 的格式> ⚠️ 接口描述基于函数名推断,请核对补充docs/02_design/database/ADOPTED-<服务名>-db.md(每个服务一个)templates/db-design-template.md 的格式> ⚠️ 表结构从代码提取,请核对与实际数据库是否一致docs/02_design/architecture/ADOPTED-<项目名>-arch.md> ⚠️ 架构描述基于代码结构推断,请核对补充docs/00_standards/adopt-status.md# PDLC 接入状态
> 由 `/pdlc-adopt init` 生成于 YYYY-MM-DD
## 接入概况
| 模块 | 基线 PRD | API 设计 | DB 设计 | 架构文档 | 测试覆盖 | 状态 |
|------|---------|---------|---------|---------|---------|------|
| user-service | ✅ | ✅ | ✅ | ✅ | ⚠️ 待补充 | 基线完成 |
| order-service | ✅ | ✅ | ✅ | ✅ | ⚠️ 待补充 | 基线完成 |
## 健康检查问题跟踪
| # | 级别 | 位置 | 问题 | 状态 |
|---|------|------|------|------|
| 1 | 🔴 | UserDao.java:45 | SQL 拼接 | 待修复 |
| 2 | 🔴 | application.yml:12 | 密码硬编码 | 待修复 |
## 后续建议
1. 人工审核基线文档,补充业务目标和用户故事
2. 修复 🔴 阻断级健康问题
3. 新功能开发使用 `/pdlc-feature` 走完整 PDLC 流程
4. 旧功能改造时从 `/pdlc-design` 开始(基线 PRD 已满足守卫检查)
5. 逐步为核心模块补充单元测试(使用 `/pdlc-tdd`)
docs/ 目录下创建文档> ⚠️ 引用块明确标注.claude/templates/pdlc/adopt-report-template.md 模板作为格式参考接入操作: $ARGUMENTS
本命令的 handoff 输出:
✅ PDLC 接入基线文档 完成
📦 产出:docs/**(基线文档集)
👉 下一步:(本次流程结束,无后续)