ln-700-project-bootstrap
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseln-700-project-bootstrap
ln-700-project-bootstrap
Type: L1 Top Orchestrator
Category: 7XX Project Bootstrap
Universal project bootstrapper with two modes: CREATE (generate production-ready project from scratch) or TRANSFORM (migrate existing prototype from any platform to production structure). Output: Clean Architecture, Docker, CI/CD, quality tooling.
类型: L1顶级编排器
分类: 7XX项目初始化
通用项目初始化工具,支持两种模式:CREATE(从零生成可投入生产的项目)或TRANSFORM(将任意平台的现有原型迁移为生产级结构)。输出内容:Clean Architecture、Docker、CI/CD、质量工具链。
Mode Selection
模式选择
| Aspect | CREATE | TRANSFORM |
|---|---|---|
| Input | Empty directory or target stack config | Existing project (Replit, StackBlitz, CodeSandbox, Glitch, custom) |
| Detection | No source files found | Source files + optional platform config detected |
| ln-710 | SKIP (no deps to upgrade) | RUN (upgrade existing deps) |
| ln-720 | SCAFFOLD + GENERATE | RESTRUCTURE + MIGRATE |
| ln-724 | SKIP (no artifacts) | CONDITIONAL (if platform detected) |
| ln-730–780 | RUN (same for both modes) | RUN (same for both modes) |
| 维度 | CREATE模式 | TRANSFORM模式 |
|---|---|---|
| 输入 | 空目录或目标技术栈配置 | 现有项目(Replit、StackBlitz、CodeSandbox、Glitch、自定义项目) |
| 检测逻辑 | 未发现源码文件 | 检测到源码文件 + 可选平台配置 |
| ln-710执行逻辑 | 跳过(无依赖需要升级) | 执行(升级现有依赖) |
| ln-720执行逻辑 | 搭建骨架 + 生成代码 | 重构结构 + 迁移代码 |
| ln-724执行逻辑 | 跳过(无遗留产物) | 条件执行(若检测到特定平台则执行) |
| ln-730–780执行逻辑 | 执行(与TRANSFORM模式逻辑一致) | 执行(与CREATE模式逻辑一致) |
Overview
整体概览
| Aspect | Details |
|---|---|
| Input | Empty directory (CREATE) or source project (TRANSFORM) |
| Output | Production-ready project with all infrastructure |
| Delegations | ln-710 (conditional) -> ln-720 -> ln-730 -> ln-740 -> ln-750 -> ln-760 -> ln-770 -> ln-780 |
| 维度 | 详情 |
|---|---|
| 输入 | 空目录(CREATE模式)或现有源码项目(TRANSFORM模式) |
| 输出 | 包含完整基础设施的可生产级项目 |
| 任务委托流程 | ln-710(条件触发)-> ln-720 -> ln-730 -> ln-740 -> ln-750 -> ln-760 -> ln-770 -> ln-780 |
Workflow
工作流
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-710: Dependency Upgrader
+---> ln-720: Structure Migrator
+---> ln-730: DevOps Setup
+---> ln-740: Quality Setup
+---> ln-750: Commands Generator
+---> ln-760: Security Setup
+---> ln-770: Crosscutting Setup
+---> ln-780: Bootstrap Verifier
|
v
Phase 4: Report (Summary of Changes)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-710: Dependency Upgrader
+---> ln-720: Structure Migrator
+---> ln-730: DevOps Setup
+---> ln-740: Quality Setup
+---> ln-750: Commands Generator
+---> ln-760: Security Setup
+---> ln-770: Crosscutting Setup
+---> ln-780: Bootstrap Verifier
|
v
Phase 4: Report (Summary of Changes)Phase 0: Technology Detection
阶段0:技术检测
Step 0.0: Mode Detection
步骤0.0:模式检测
| Condition | Mode | Action |
|---|---|---|
| Empty directory (no source files) | CREATE | Ask user for target stack, project name, entities |
| Source files found | TRANSFORM | Auto-detect stack, scan for platform artifacts |
| Ambiguous (few files, unclear) | ASK | Present both options, let user choose |
| 条件 | 模式 | 操作 |
|---|---|---|
| 空目录(无源码文件) | CREATE | 询问用户目标技术栈、项目名称、核心实体 |
| 检测到源码文件 | TRANSFORM | 自动检测技术栈,扫描平台遗留产物 |
| 模糊状态(文件极少,无法明确判断) | 询问 | 向用户展示两种模式选项,由用户选择 |
Step 0.1: CREATE Mode — User Input
步骤0.1:CREATE模式 — 用户输入
| Parameter | Required | Default | Example |
|---|---|---|---|
| Project name | Yes | — | MyApp |
| Target backend | Yes | — | .NET / Node.js / Python |
| Target frontend | Yes | — | React / Vue / Angular / Svelte |
| Database | Yes | — | PostgreSQL / MongoDB / MySQL |
| Main entities | No | User, Role (starter) | User, Product, Order |
| 参数 | 是否必填 | 默认值 | 示例 |
|---|---|---|---|
| 项目名称 | 是 | — | MyApp |
| 目标后端技术栈 | 是 | — | .NET / Node.js / Python |
| 目标前端技术栈 | 是 | — | React / Vue / Angular / Svelte |
| 数据库 | 是 | — | PostgreSQL / MongoDB / MySQL |
| 核心实体 | 否 | User、Role(初始模板) | User、Product、Order |
Step 0.2: Idempotency Pre-flight
步骤0.2:幂等性预检查
If target directory contains existing files:
- Detect existing structure (package.json, .csproj, etc.)
- Warn user: "Target directory is not empty. Existing files may be overwritten."
- Ask: Overwrite (replace all) / Merge (keep existing, add missing) / Abort
若目标目录已存在文件:
- 检测现有项目结构(package.json、.csproj等)
- 向用户发出警告: "目标目录非空,现有文件可能被覆盖。"
- 询问用户:覆盖(替换所有文件) / 合并(保留现有文件,补充缺失内容) / 终止
Step 0.3: Technology Detection (TRANSFORM mode) / Stack Config (CREATE mode)
步骤0.3:技术栈检测(TRANSFORM模式)/ 技术栈配置(CREATE模式)
Analyze project to detect tech stack before delegations.
在委托子任务前,先分析项目以检测技术栈。
Detection Rules
检测规则
yaml
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 requirementsyaml
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 requirementsDetection Output
检测输出
yaml
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 Architectureyaml
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 ArchitecturePhase 1: Generate Transformation Plan
阶段1:生成转换计划
Based on detected stack, create detailed plan:
markdown
undefined基于检测到的技术栈,创建详细转换计划:
markdown
undefinedBootstrap Transformation Plan
初始化转换计划
Source Analysis
源项目分析
- Frontend: React 19 + Vite + TypeScript
- Backend: Express + Drizzle (to be replaced with .NET)
- Database: PostgreSQL 17
- 前端:React 19 + Vite + TypeScript
- 后端:Express + Drizzle(将替换为.NET)
- 数据库:PostgreSQL 17
Transformations
转换内容
1. Dependencies (ln-710)
1. 依赖管理(ln-710)
- Upgrade React 18 -> 19
- Upgrade Vite 5 -> 6
- Add missing peer dependencies
- 将React 18升级至19
- 将Vite 5升级至6
- 补充缺失的peer依赖
2. Structure (ln-720)
2. 项目结构(ln-720)
- Move frontend to src/frontend/
- Create .NET backend: MyApp.Api, MyApp.Domain, etc.
- Migrate mock data from Drizzle to MockData classes
- 将前端代码迁移至src/frontend/目录
- 创建.NET后端项目:MyApp.Api、MyApp.Domain等
- 将Drizzle中的模拟数据迁移至MockData类
3. DevOps (ln-730)
3. DevOps配置(ln-730)
- Create Dockerfile.frontend (multi-stage)
- Create Dockerfile.backend (.NET SDK)
- Create docker-compose.yml
- Create .github/workflows/ci.yml
- 创建Dockerfile.frontend(多阶段构建)
- 创建Dockerfile.backend(基于.NET SDK)
- 创建docker-compose.yml
- 创建.github/workflows/ci.yml
4. Quality (ln-740)
4. 质量工具配置(ln-740)
- Configure ESLint (flat config)
- Add Prettier
- Setup Husky + lint-staged
- Create test infrastructure (Vitest, xUnit)
- 配置ESLint(扁平配置)
- 集成Prettier
- 配置Husky + lint-staged
- 创建测试基础设施(Vitest、xUnit)
5. Commands (ln-750)
5. 命令生成(ln-750)
- Generate refresh_context.md
- Generate refresh_infrastructure.md
- Generate build-and-test.md
- 生成refresh_context.md
- 生成refresh_infrastructure.md
- 生成build-and-test.md
6. Security (ln-760)
6. 安全配置(ln-760)
- Scan for hardcoded secrets
- Run npm audit
- Create SECURITY.md
- 扫描硬编码密钥
- 执行npm audit
- 创建SECURITY.md
7. Crosscutting (ln-770)
7. 横切关注点配置(ln-770)
- Configure Serilog logging
- Add GlobalExceptionMiddleware
- Configure CORS policy
- Add /health endpoints
- Enable Swagger
- 配置Serilog日志
- 添加GlobalExceptionMiddleware
- 配置CORS策略
- 添加/health检查端点
- 启用Swagger
8. Verification (ln-780)
8. 验证(ln-780)
- Build all projects
- Run tests
- Start Docker containers
- Verify health checks
- 构建所有项目
- 运行测试
- 启动Docker容器
- 验证健康检查状态
Estimated Changes
预计变更
- Files created: ~45
- Files modified: ~12
- Files deleted: ~8 (replaced backend)
---- 新增文件:约45个
- 修改文件:约12个
- 删除文件:约8个(替换后端代码)
---Phase 2: User Confirmation
阶段2:用户确认
Present plan and ask for approval:
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]If user declines, ask for modifications.
向用户展示转换计划并请求确认:
初始化计划已准备完成!
摘要:
- 前端:React 19(从18升级)
- 后端:.NET 10(替换Node.js)
- Docker:多容器部署配置
- CI/CD:GitHub Actions
- 质量工具:ESLint、Prettier、Husky
是否继续执行初始化?[Y/n]若用户拒绝,询问用户需修改的内容。
Phase 3: Execute Delegations
阶段3:执行子任务委托
Sequential delegation to L2 coordinators:
| Order | Skill | Purpose | CREATE mode | TRANSFORM mode | Depends On |
|---|---|---|---|---|---|
| 1 | ln-710 | Upgrade dependencies | SKIP | RUN | — |
| 2 | ln-720 | Structure (SCAFFOLD/RESTRUCTURE) | RUN (SCAFFOLD) | RUN (RESTRUCTURE) | ln-710 |
| 3 | ln-730 | Setup Docker/CI | RUN | RUN | ln-720 |
| 4 | ln-740 | Configure quality tools | RUN | RUN | ln-720 |
| 5 | ln-750 | Generate .claude/commands | RUN | RUN | ln-720 |
| 6 | ln-760 | Security scanning | RUN | RUN | ln-710 |
| 7 | ln-770 | Crosscutting concerns | RUN | RUN | ln-720 |
| 8 | ln-780 | Build and verify | RUN | RUN | All above |
按顺序将任务委托给L2协调器:
| 顺序 | 技能ID | 目标 | CREATE模式 | TRANSFORM模式 | 依赖项 |
|---|---|---|---|---|---|
| 1 | ln-710 | 升级依赖 | 跳过 | 执行 | — |
| 2 | ln-720 | 项目结构(搭建/重构) | 执行(搭建骨架) | 执行(重构结构) | ln-710 |
| 3 | ln-730 | Docker/CI配置 | 执行 | 执行 | ln-720 |
| 4 | ln-740 | 质量工具配置 | 执行 | 执行 | ln-720 |
| 5 | ln-750 | 生成.claude/命令 | 执行 | 执行 | ln-720 |
| 6 | ln-760 | 安全扫描 | 执行 | 执行 | ln-710 |
| 7 | ln-770 | 横切关注点配置 | 执行 | 执行 | ln-720 |
| 8 | ln-780 | 构建与验证 | 执行 | 执行 | 以上所有任务 |
Delegation Protocol
委托协议
For each L2 coordinator:
-
Prepare context:yaml
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 -
Invoke skill: Pass context as input
-
Collect result:yaml
Status: success | partial | failed FilesCreated: [...] FilesModified: [...] Warnings: [...] Errors: [...] -
Handle errors:
- Log error details
- Ask user: continue or abort?
- If abort, rollback if possible
针对每个L2协调器:
-
准备上下文:yaml
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 -
调用技能: 将上下文作为输入传入
-
收集结果:yaml
Status: success | partial | failed FilesCreated: [...] FilesModified: [...] Warnings: [...] Errors: [...] -
错误处理:
- 记录错误详情
- 询问用户:继续执行或终止?
- 若用户选择终止,尽可能回滚变更
Phase 4: Generate Report
阶段4:生成报告
Final summary after all delegations:
yaml
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
Commands:
- Generated 3 .claude/commands
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. Review generated .claude/commands
4. Run 'git add . && git commit -m "Bootstrap complete"'所有子任务完成后生成最终摘要:
yaml
初始化执行完成!
耗时:24分32秒
变更摘要:
新增文件:47个
修改文件:15个
删除文件:9个
按分类统计:
依赖管理:
- 升级23个包
- 未检测到破坏性变更
项目结构:
- 创建5个.NET项目
- 重构前端代码(提取12个组件)
- 迁移8个模拟数据文件
DevOps配置:
- 创建Dockerfile.frontend
- 创建Dockerfile.backend
- 创建docker-compose.yml
- 创建.github/workflows/ci.yml
质量工具:
- 配置ESLint + Prettier
- 安装Husky钩子
- 创建3个测试文件
命令生成:
- 生成3个.claude/命令
安全检测:
- 扫描156个文件
- 未发现硬编码密钥
- 2个低危漏洞警告
横切关注点:
- 配置Serilog日志
- 添加错误处理中间件
- 为localhost启用CORS
- 配置/health健康检查端点
- 启用Swagger文档
验证结果:
构建:成功
测试:42个通过,0个失败
Docker:3个容器运行中
健康检查:所有端点正常响应
下一步操作:
1. 打开http://localhost:3000(前端页面)
2. 打开http://localhost:5000/swagger(API文档)
3. 查看生成的.claude/命令
4. 执行'git add . && git commit -m "Bootstrap complete"'Error Handling
错误处理
Recoverable Errors
可恢复错误
| Error | Action |
|---|---|
| Dependency conflict | Try with --legacy-peer-deps |
| Build failure | Log error, suggest fix, continue |
| Test failure | Log warning, continue with --allow-failures |
| Docker build fail | Suggest Dockerfile fixes |
| 错误类型 | 处理操作 |
|---|---|
| 依赖冲突 | 尝试添加--legacy-peer-deps参数重新执行 |
| 构建失败 | 记录错误,给出修复建议,继续执行后续任务 |
| 测试失败 | 记录警告,使用--allow-failures参数继续执行 |
| Docker构建失败 | 给出Dockerfile修复建议 |
Fatal Errors
致命错误
| Error | Action | Mode |
|---|---|---|
| No package.json (TRANSFORM) | Abort: "Not a Node.js project" | TRANSFORM |
| Unsupported stack | Abort: "Stack not supported: {stack}" | Both |
| Permission denied | Abort: "Cannot write to {path}" | Both |
| No stack selected | Abort: "Target stack required for CREATE mode" | CREATE |
| Conflicting files | Abort if user chose "Abort" in pre-flight | CREATE |
| 错误类型 | 处理操作 | 适用模式 |
|---|---|---|
| 未找到package.json(TRANSFORM模式) | 终止:"非Node.js项目" | TRANSFORM |
| 不支持的技术栈 | 终止:"不支持的技术栈:{stack}" | 两种模式 |
| 权限不足 | 终止:"无法写入路径:{path}" | 两种模式 |
| 未选择技术栈(CREATE模式) | 终止:"CREATE模式必须指定目标技术栈" | CREATE |
| 文件冲突 | 若用户在预检查中选择"终止"则终止流程 | CREATE |
Configuration
配置
Skill Options
技能选项
yaml
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
# Commands to generate
commands: ["refresh_context", "refresh_infrastructure", "build-and-test"]
# Verification
runTests: true
startContainers: true
keepContainersRunning: trueyaml
Options:
# 后端技术栈替换
targetBackend: ".NET" | "Node" | "Python" | "keep"
# 前端重构深度
frontendRefactoring: "minimal" | "moderate" | "full"
# Docker配置
dockerEnabled: true
dockerRegistry: null # 可选:ghcr.io/user
# CI/CD提供商
cicdProvider: "github" | "azure" | "gitlab" | "none"
# 质量工具配置
linterConfig: "recommended" | "strict"
precommitHooks: true
# 要生成的命令
commands: ["refresh_context", "refresh_infrastructure", "build-and-test"]
# 验证选项
runTests: true
startContainers: true
keepContainersRunning: trueEnvironment Variables
环境变量
bash
undefinedbash
undefinedOptional: Override detection
可选:覆盖自动检测结果
BOOTSTRAP_FRONTEND=react
BOOTSTRAP_BACKEND=dotnet
BOOTSTRAP_DB=postgres
BOOTSTRAP_FRONTEND=react
BOOTSTRAP_BACKEND=dotnet
BOOTSTRAP_DB=postgres
Optional: Skip steps
可选:跳过指定步骤
SKIP_DEPENDENCIES=false
SKIP_DOCKER=false
SKIP_TESTS=false
---SKIP_DEPENDENCIES=false
SKIP_DOCKER=false
SKIP_TESTS=false
---Integration with Existing Skills
与现有技能的集成
| Skill | Integration |
|---|---|
| ln-001-standards-researcher | Query for best practices during ln-720 |
| ln-002-best-practices-researcher | Generate guides during ln-720 |
| ln-100-documents-pipeline | Call after bootstrap for docs |
| ln-310-story-validator | Validate generated tasks |
| 技能ID | 集成方式 |
|---|---|
| ln-001-standards-researcher | 在ln-720执行期间查询最佳实践 |
| ln-002-best-practices-researcher | 在ln-720执行期间生成指南 |
| ln-100-documents-pipeline | 初始化完成后调用以生成文档 |
| ln-310-story-validator | 验证生成的任务 |
版本: 2.0.0
最后更新时间: 2026-02-07
References
—
- stack_detection.md - Detection rules and patterns
- transformation_plan_template.md - Plan template
- verification_checklist.md - Verification steps
Version: 2.0.0
Last Updated: 2026-02-07
—