← ClaudeAtlas

pdlc-adoptlisted

旧项目接入 PDLC
kanfu-panda/pdlc-skills · ★ 7 · AI & Automation · score 79
Install: claude install-skill kanfu-panda/pdlc-skills
# 旧项目接入 PDLC <!-- @include templates/prompts/iron-law.md --> 扫描现有项目结构,逆向生成基线文档,并进行健康检查发现潜在问题。让旧项目平滑接入 PDLC 流程。 ## 核心原则 - **只生文档,不动代码**:不修改任何现有代码,仅生成基线文档 - **增量接入**:旧代码标记为"已接入基线",只有新功能走完整 PDLC - **守卫畅通**:生成的基线文档满足守卫检查,后续命令不再被阻断 ## 子命令解析 从 `$ARGUMENTS` 中解析子命令: | 子命令 | 说明 | |--------|------| | `scan` | 扫描项目,输出接入报告 + 健康检查报告(不写任何文件,只读分析) | | `init` | 根据扫描结果,逆向生成基线文档到 docs/ 目录 | 如果未提供子命令或无法识别,输出以上帮助信息后停止。 --- ## scan 子命令 **全程只读,不创建/修改任何文件,只在终端输出报告。** ### 第一步:项目结构识别 1. **技术栈检测** - 检查特征文件:`package.json`、`pom.xml`、`build.gradle`、`go.mod`、`requirements.txt`、`Pipfile`、`Cargo.toml`、`mix.exs` 等 - 识别框架:Spring Boot、Express、NestJS、FastAPI、Gin、Echo、Django、Rails 等 - 检查前端框架:`react`、`vue`、`next`、`angular`(从 package.json 依赖推断) 2. **服务/应用识别** - 微服务:扫描 `backend/services/` 或具有独立启动入口的子目录 - 单体服务:根目录即为服务 - 前端应用:扫描 `frontend/`、`web/`、`app/` 或具有前端框架特征的目录 - 记录每个服务/应用的名称、技术栈、入口文件 3. **数据库识别** - 从配置文件推断数据库类型(MySQL/PostgreSQL/MongoDB/Redis 等) - 扫描 ORM 配置(TypeORM/Sequelize/GORM/SQLAlchemy/MyBatis/JPA 等) - 检查已有 migration 目录 ### 第二步:API 接口提取 按技术栈扫描路由定义: | 技术栈 | 扫描目标 | |--------|---------| | 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 方法、路径、处理函数名、参数(如能识别)。 ### 第三步:数据库结构提取 | 来源 | 提取方式 | |------|--------