mcpField
L
ln-700-project-bootstrap

ln-700-project-bootstrap

github.com/levnikolaevich开发584384 次安装2 天前更新
代码仓库

关于 ln-700-project-bootstrap

此项目引导协调器可从零创建项目,也可将现有原型转换为面向生产的结构。它检测或收集技术栈信息,生成计划供用户确认,再委派架构、DevOps、质量、安全和验证等设置任务。

主要功能

  1. 01支持 CREATE 和 TRANSFORM 模式
  2. 02检测技术栈并制定转换计划
  3. 03执行前征求用户批准
  4. 04委派专门技能完成设置
  5. 05报告引导完成度

适用场景

  1. 01按指定技术栈搭建新项目
  2. 02重构现有原型的项目结构
  3. 03协调 Docker、CI/CD、质量和安全设置
  4. 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.md
meta_analysis_protocol.md
research_methodology.md
stack_detection.md
verification_checklist.md
references/templates/
adr_template.md
guide_template.md
manual_template.md
research_template.md
transformation_plan_template.md

详细介绍

路径: 文件路径(references/、../ln-*)相对于此技能目录。

ln-700-project-bootstrap

类型: L1 顶层编排器 类别: 7XX 项目引导

通用项目引导工具,提供两种模式:CREATE(从零开始生成可用于生产环境的项目)或 TRANSFORM(将任何平台上的现有原型迁移为生产环境项目结构)。输出:整洁架构、Docker、CI/CD、质量工具。


模式选择

方面CREATETRANSFORM
输入空目录或目标技术栈配置现有项目(Replit、StackBlitz、CodeSandbox、Glitch、自定义)
检测未找到源文件检测到源文件 + 可选的平台配置
ln-820SKIP(无需升级依赖)RUN(升级现有依赖)
ln-720SCAFFOLD + GENERATERESTRUCTURE + MIGRATE
ln-724SKIP(无构件)CONDITIONAL(检测到平台时)
ln-730–780RUN(两种模式相同)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:幂等性预检

如果目标目录中包含现有文件:

  1. 检测现有结构(package.json、.csproj 等)
  2. 警告用户:“目标目录不为空。现有文件可能会被覆盖。”
  3. 询问:覆盖(全部替换)/ 合并(保留现有内容,添加缺失内容)/ 中止
步骤 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 模式依赖项
1ln-820升级依赖SKIPRUN—
2ln-720结构(SCAFFOLD/RESTRUCTURE)RUN(SCAFFOLD)RUN(RESTRUCTURE)ln-820
3ln-730设置 Docker/CIRUNRUNln-720
4ln-740配置质量工具RUNRUNln-720
5ln-760安全扫描RUNRUNln-820
6ln-770横切关注点RUNRUNln-720
7ln-780构建并验证RUNRUN以上全部
委派协议

对于每个 L2 协调器:

  1. 准备上下文:

    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
    
  2. **调用技能:**将上下文作为输入传递

    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}")
    
  3. 收集结果:

    Status: success | partial | failed
    FilesCreated: [...]
    FilesModified: [...]
    Warnings: [...]
    Errors: [...]
    
  4. 处理错误:

    • 记录错误详情
    • 询问用户:继续还是中止?
    • 如果中止,在可能的情况下回滚

阶段 4:生成报告

引导完整性评估

上下文: 最终验证引导过程是否生成了可正常运行的项目,而不只是生成了文件。

#类别检查项来源
1结构是否包含整洁架构各层ln-720 结果
2依赖项是否已安装所有包,且不存在版本冲突ln-820 结果
3DevOpsDocker 是否成功构建,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.1ln-820-dependency-upgrader共享(Skill 工具)——升级现有依赖项(仅限 TRANSFORM)
3.2ln-720-structure-migrator共享(Skill 工具)——搭建脚手架或重构为整洁架构
3.3ln-730-devops-setup共享(Skill 工具)——Docker、CI/CD、环境配置
3.4ln-740-quality-setup共享(Skill 工具)——代码检查工具、提交前钩子、测试基础设施
3.5ln-760-security-setup共享(Skill 工具)——安全扫描和加固
3.6ln-770-crosscutting-setup共享(Skill 工具)——日志记录、错误处理、CORS、健康检查
3.7ln-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

评论

支持 Markdown