关于 ln-700-project-bootstrap
此项目引导协调器可从零创建项目,也可将现有原型转换为面向生产的结构。它检测或收集技术栈信息,生成计划供用户确认,再委派架构、DevOps、质量、安全和验证等设置任务。
主要功能
- 01支持 CREATE 和 TRANSFORM 模式
- 02检测技术栈并制定转换计划
- 03执行前征求用户批准
- 04委派专门技能完成设置
- 05报告引导完成度
适用场景
- 01按指定技术栈搭建新项目
- 02重构现有原型的项目结构
- 03协调 Docker、CI/CD、质量和安全设置
- 04检查引导结果及待处理问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-700-project-bootstrap安装后在 Claude Code 中输入/ln-700-project-bootstrap确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/documentation_creation.mdmeta_analysis_protocol.mdresearch_methodology.mdstack_detection.mdverification_checklist.mdreferences/templates/adr_template.mdguide_template.mdmanual_template.mdresearch_template.mdtransformation_plan_template.md详细介绍
路径: 文件路径(
references/、../ln-*)相对于此技能目录。
ln-700-project-bootstrap
类型: L1 顶层编排器 类别: 7XX 项目引导
通用项目引导工具,提供两种模式:CREATE(从零开始生成可用于生产环境的项目)或 TRANSFORM(将任何平台上的现有原型迁移为生产环境项目结构)。输出:整洁架构、Docker、CI/CD、质量工具。
模式选择
| 方面 | CREATE | TRANSFORM |
|---|---|---|
| 输入 | 空目录或目标技术栈配置 | 现有项目(Replit、StackBlitz、CodeSandbox、Glitch、自定义) |
| 检测 | 未找到源文件 | 检测到源文件 + 可选的平台配置 |
| ln-820 | SKIP(无需升级依赖) | RUN(升级现有依赖) |
| ln-720 | SCAFFOLD + GENERATE | RESTRUCTURE + MIGRATE |
| ln-724 | SKIP(无构件) | CONDITIONAL(检测到平台时) |
| ln-730–780 | RUN(两种模式相同) | RUN(两种模式相同) |
概述
| 方面 | 详情 |
|---|---|
| 输入 | 空目录(CREATE)或源项目(TRANSFORM) |
| 输出 | 包含所有基础设施、可用于生产环境的项目 |
| 委派 | ln-820(有条件)-> ln-720 -> ln-730 -> ln-740 -> ln-760 -> ln-770 -> ln-780 |
工作流
Phase 0: Analyze (Tech Detection)
|
v
Phase 1: Plan (Generate Transformation Plan)
|
v
Phase 2: Confirm (User Approval)
|
v
Phase 3: Execute (Delegate to L2 Coordinators)
|
+---> ln-820: Dependency Upgrader
+---> ln-720: Structure Migrator
+---> ln-730: DevOps Setup
+---> ln-740: Quality Setup
+---> ln-760: Security Setup
+---> ln-770: Crosscutting Setup
+---> ln-780: Bootstrap Verifier
|
v
Phase 4: Report (Summary of Changes)
阶段 0:技术检测
步骤 0.0:模式检测
| 条件 | 模式 | 操作 |
|---|---|---|
| 空目录(没有源文件) | CREATE | 询问用户目标技术栈、项目名称和实体 |
| 找到源文件 | TRANSFORM | 自动检测技术栈,扫描平台构件 |
| 不明确(文件较少,情况不清晰) | ASK | 展示两个选项,由用户选择 |
步骤 0.1:CREATE 模式 — 用户输入
| 参数 | 必填 | 默认值 | 示例 |
|---|---|---|---|
| 项目名称 | 是 | — | MyApp |
| 目标后端 | 是 | — | .NET / Node.js / Python |
| 目标前端 | 是 | — | React / Vue / Angular / Svelte |
| 数据库 | 是 | — | PostgreSQL / MongoDB / MySQL |
| 主要实体 | 否 | User、Role(起始项) | User、Product、Order |
步骤 0.2:幂等性预检
如果目标目录中包含现有文件:
- 检测现有结构(package.json、.csproj 等)
- 警告用户:“目标目录不为空。现有文件可能会被覆盖。”
- 询问:覆盖(全部替换)/ 合并(保留现有内容,添加缺失内容)/ 中止
步骤 0.3:技术检测(TRANSFORM 模式)/ 技术栈配置(CREATE 模式)
在委派之前分析项目,以检测技术栈。
检测规则
Frontend:
React:
- package.json contains "react"
- Files: *.tsx, *.jsx with React imports
Vue:
- package.json contains "vue"
- Files: *.vue
Angular:
- package.json contains "@angular/core"
- Files: *.component.ts
Svelte:
- package.json contains "svelte"
- Files: *.svelte
Backend:
.NET:
- *.csproj files exist
- *.sln files exist
Node.js:
- package.json + (express|fastify|nest|koa)
- tsconfig.json or jsconfig.json
Python:
- requirements.txt OR pyproject.toml OR setup.py
- (fastapi|flask|django) in dependencies
Go:
- go.mod exists
Database:
PostgreSQL:
- DATABASE_URL contains "postgres"
- docker-compose.yml contains "postgres"
MongoDB:
- MONGODB_URI in env
- docker-compose.yml contains "mongo"
MySQL:
- DATABASE_URL contains "mysql"
ORM:
Drizzle: drizzle.config.ts exists
Prisma: prisma/schema.prisma exists
EF Core: *.csproj references Microsoft.EntityFrameworkCore
SQLAlchemy: "sqlalchemy" in requirements
检测结果
Detected Stack:
Frontend:
Framework: React
Version: 19.x
Build Tool: Vite
UI Library: shadcn/ui
State: React Query
Backend:
Current: Node.js + Express
Target: .NET 10 (user preference)
ORM: Drizzle -> EF Core
Database:
Type: PostgreSQL
Version: 17
Structure:
Type: Monolith (Prototype)
Origin: replit | stackblitz | codesandbox | glitch | custom
Target: Clean Architecture
阶段 1:生成转换计划
根据检测到的技术栈,创建详细计划:
# Bootstrap Transformation Plan
## Source Analysis
- Frontend: React 19 + Vite + TypeScript
- Backend: Express + Drizzle (to be replaced with .NET)
- Database: PostgreSQL 17
## Transformations
### 1. Dependencies (ln-820)
- Upgrade React 18 -> 19
- Upgrade Vite 5 -> 6
- Add missing peer dependencies
### 2. Structure (ln-720)
- Move frontend to src/frontend/
- Create .NET backend: MyApp.Api, MyApp.Domain, etc.
- Migrate mock data from Drizzle to MockData classes
### 3. DevOps (ln-730)
- Create Dockerfile.frontend (multi-stage)
- Create Dockerfile.backend (.NET SDK)
- Create docker-compose.yml
- Create .github/workflows/ci.yml
### 4. Quality (ln-740)
- Configure ESLint (flat config)
- Add Prettier
- Setup Husky + lint-staged
- Create test infrastructure (Vitest, xUnit)
### 5. Security (ln-760)
- Scan for hardcoded secrets
- Run npm audit
- Create SECURITY.md
### 6. Crosscutting (ln-770)
- Configure Serilog logging
- Add GlobalExceptionMiddleware
- Configure CORS policy
- Add /health endpoints
- Enable Swagger
### 7. Verification (ln-780)
- Build all projects
- Run tests
- Start Docker containers
- Verify health checks
## Estimated Changes
- Files created: ~45
- Files modified: ~12
- Files deleted: ~8 (replaced backend)
阶段 2:用户确认
展示计划并请求批准:
Bootstrap Plan Ready!
Summary:
- Frontend: React 19 (upgrade from 18)
- Backend: .NET 10 (replacing Node.js)
- Docker: Multi-container setup
- CI/CD: GitHub Actions
- Quality: ESLint, Prettier, Husky
Proceed with bootstrap? [Y/n]
如果用户拒绝,请询问需要修改哪些内容。
阶段 3:执行委派
按顺序委派给 L2 协调器:
| 顺序 | 技能 | 用途 | CREATE 模式 | TRANSFORM 模式 | 依赖项 |
|---|---|---|---|---|---|
| 1 | ln-820 | 升级依赖 | SKIP | RUN | — |
| 2 | ln-720 | 结构(SCAFFOLD/RESTRUCTURE) | RUN(SCAFFOLD) | RUN(RESTRUCTURE) | ln-820 |
| 3 | ln-730 | 设置 Docker/CI | RUN | RUN | ln-720 |
| 4 | ln-740 | 配置质量工具 | RUN | RUN | ln-720 |
| 5 | ln-760 | 安全扫描 | RUN | RUN | ln-820 |
| 6 | ln-770 | 横切关注点 | RUN | RUN | ln-720 |
| 7 | ln-780 | 构建并验证 | RUN | RUN | 以上全部 |
委派协议
对于每个 L2 协调器:
-
准备上下文:
Stack: frontend: { framework, version, buildTool } backend: { framework, version } database: { type, version } Paths: root: /project frontend: /project/src/frontend backend: /project/src/MyApp.Api Options: skipTests: false allowFailures: false -
**调用技能:**将上下文作为输入传递
Skill(skill: "ln-820-dependency-upgrader", args: "{projectPath} --mode TRANSFORM") Skill(skill: "ln-720-structure-migrator", args: "{projectPath} --mode {CREATE|TRANSFORM}") Skill(skill: "ln-730-devops-setup", args: "{projectPath}") Skill(skill: "ln-740-quality-setup", args: "{projectPath}") Skill(skill: "ln-760-security-setup", args: "{projectPath}") Skill(skill: "ln-770-crosscutting-setup", args: "{projectPath}") Skill(skill: "ln-780-bootstrap-verifier", args: "{projectPath}") -
收集结果:
Status: success | partial | failed FilesCreated: [...] FilesModified: [...] Warnings: [...] Errors: [...] -
处理错误:
- 记录错误详情
- 询问用户:继续还是中止?
- 如果中止,在可能的情况下回滚
阶段 4:生成报告
引导完整性评估
上下文: 最终验证引导过程是否生成了可正常运行的项目,而不只是生成了文件。
| # | 类别 | 检查项 | 来源 |
|---|---|---|---|
| 1 | 结构 | 是否包含整洁架构各层 | ln-720 结果 |
| 2 | 依赖项 | 是否已安装所有包,且不存在版本冲突 | ln-820 结果 |
| 3 | DevOps | Docker 是否成功构建,CI 流水线是否有效 | ln-730 结果 |
| 4 | 质量 | 是否已配置并通过代码检查工具/格式化工具 | ln-740 结果 |
| 5 | 安全性 | 是否不存在硬编码的机密信息,是否已配置扫描 | ln-760 结果 |
| 6 | 构建 | 项目能否在无错误的情况下编译/构建 | ln-780 结果 |
完整性得分 = PASS 数量 / 6
- 6/6:引导完成
- 4-5/6:引导完成,但有警告(列出未通过的类别)
- <4/6:引导未完成——列出需要用户处理的阻塞问题
摘要报告
所有委派任务完成后的最终摘要:
Bootstrap Complete!
Duration: 24 minutes 32 seconds
Changes Summary:
Files Created: 47
Files Modified: 15
Files Deleted: 9
By Category:
Dependencies:
- Upgraded 23 packages
- No breaking changes detected
Structure:
- Created 5 .NET projects
- Restructured frontend (12 components extracted)
- Migrated 8 mock data files
DevOps:
- Created Dockerfile.frontend
- Created Dockerfile.backend
- Created docker-compose.yml
- Created .github/workflows/ci.yml
Quality:
- Configured ESLint + Prettier
- Installed Husky hooks
- Created 3 test files
Security:
- Scanned 156 files
- Found 0 secrets
- 2 vulnerability warnings (low severity)
Crosscutting:
- Configured Serilog
- Added error handling
- CORS enabled for localhost
- Health checks at /health
- Swagger at /swagger
Verification:
Build: SUCCESS
Tests: 42 passed, 0 failed
Docker: 3 containers running
Health: All endpoints responding
Next Steps:
1. Open http://localhost:3000 (frontend)
2. Open http://localhost:5000/swagger (API docs)
3. Run 'git add . && git commit -m "Bootstrap complete"'
错误处理
可恢复错误
| 错误 | 操作 |
|---|---|
| 依赖冲突 | 尝试使用 --legacy-peer-deps |
| 构建失败 | 记录错误,建议修复方法,然后继续 |
| 测试失败 | 记录警告,使用 --allow-failures 继续 |
| Docker 构建失败 | 建议修复 Dockerfile |
致命错误
| 错误 | 操作 | 模式 |
|---|---|---|
| 没有 package.json (TRANSFORM) | 中止:“不是 Node.js 项目” | TRANSFORM |
| 不支持的技术栈 | 中止:“不支持的技术栈:{stack}” | 两者 |
| 权限被拒绝 | 中止:“无法写入 {path}” | 两者 |
| 未选择技术栈 | 中止:“CREATE 模式需要目标技术栈” | CREATE |
| 文件冲突 | 如果用户在预检中选择“中止”,则中止 | CREATE |
配置
技能选项
Options:
# Backend replacement
targetBackend: ".NET" | "Node" | "Python" | "keep"
# Frontend refactoring depth
frontendRefactoring: "minimal" | "moderate" | "full"
# Docker setup
dockerEnabled: true
dockerRegistry: null # Optional: ghcr.io/user
# CI/CD
cicdProvider: "github" | "azure" | "gitlab" | "none"
# Quality tools
linterConfig: "recommended" | "strict"
precommitHooks: true
# Verification
runTests: true
startContainers: true
keepContainersRunning: true
环境变量
# Optional: Override detection
BOOTSTRAP_FRONTEND=react
BOOTSTRAP_BACKEND=dotnet
BOOTSTRAP_DB=postgres
# Optional: Skip steps
SKIP_DEPENDENCIES=false
SKIP_DOCKER=false
SKIP_TESTS=false
与现有技能集成
| 技能 | 集成方式 |
|---|---|
| references/research_methodology.md | 在 ln-720 期间进行标准研究 |
| references/documentation_creation.md | 在 ln-720 期间生成指南 |
| ln-100-documents-pipeline | 引导完成后调用,以生成文档 |
| ln-310-multi-agent-validator | 验证生成的任务 |
参考资料
必须阅读: 在指定阶段加载这些文件:
references/stack_detection.md— 第 0 阶段的检测规则和模式references/templates/transformation_plan_template.md— 第 1 阶段的计划模板references/verification_checklist.md— 第 3 阶段的验证步骤
TodoWrite 格式(必需):
- Invoke ln-820-dependency-upgrader (conditional TRANSFORM) (pending)
- Invoke ln-720-structure-migrator (pending)
- Invoke ln-730-devops-setup (pending)
- Invoke ln-740-quality-setup (pending)
- Invoke ln-760-security-setup (pending)
- Invoke ln-770-crosscutting-setup (pending)
- Invoke ln-780-bootstrap-verifier (pending)
- Generate completion report (pending)
工作器调用(必需)
宿主技能调用: 必须通过 Skill(skill: "...", args: "...") 委派。
- Claude:严格按照所示调用 Skill 工具。
- Codex:如果没有 Skill 工具,则在可用技能中找到指定技能,读取其
SKILL.md,将args视为$ARGUMENTS,执行该技能的工作流,然后携带结果/产物返回此处。 - 不要内联工作器逻辑,也不要在未执行目标技能的情况下将工作器标记为完成。
| 阶段 | 工作器 | 上下文 |
|---|---|---|
| 3.1 | ln-820-dependency-upgrader | 共享(Skill 工具)——升级现有依赖项(仅限 TRANSFORM) |
| 3.2 | ln-720-structure-migrator | 共享(Skill 工具)——搭建脚手架或重构为整洁架构 |
| 3.3 | ln-730-devops-setup | 共享(Skill 工具)——Docker、CI/CD、环境配置 |
| 3.4 | ln-740-quality-setup | 共享(Skill 工具)——代码检查工具、提交前钩子、测试基础设施 |
| 3.5 | ln-760-security-setup | 共享(Skill 工具)——安全扫描和加固 |
| 3.6 | ln-770-crosscutting-setup | 共享(Skill 工具)——日志记录、错误处理、CORS、健康检查 |
| 3.7 | ln-780-bootstrap-verifier | 共享(Skill 工具)——构建、测试、Docker 验证 |
所有工作器: 通过 Skill 工具调用——工作器可查看协调器上下文。
完成定义
- 已检测技术栈(或在 CREATE 模式下由用户指定)并生成计划
- 所有 L2 协调器均已委派并完成(ln-820 至 ln-780)
- 引导完整度评分达到 4/6 或更高
- 已向用户呈现最终总结报告
阶段 5:元分析
可选参考:仅当用户要求进行运行后元分析或按协议格式进行运行反思时,才加载 references/meta_analysis_protocol.md。
技能类型:execution-orchestrator。收到请求后,在所有阶段完成后运行。使用 execution-orchestrator 格式在聊天中输出。
版本: 2.0.0 最后更新: 2026-02-07