ln-700-project-bootstrap について
プロジェクトを新規作成するか、既存のプロトタイプを本番向けの構成へ変換するオーケストレーターです。技術スタックを検出または指定し、計画の承認後に構成、DevOps、品質、セキュリティ、検証の各スキルへ処理を委任します。
主な機能
- 01CREATE と TRANSFORM のモード
- 02技術スタック検出と変換計画
- 03実行前のユーザー承認
- 04専門スキルへのセットアップ委任
- 05ブートストラップ完了度の報告
活用シーン
- 01選択したスタックで新規プロジェクトを作成
- 02既存プロトタイプの構成を再編
- 03Docker、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 プロジェクトのブートストラップ
2 つのモードを備えた汎用プロジェクトブートストラッパーです。CREATE(ゼロから本番環境対応のプロジェクトを生成)または TRANSFORM(任意のプラットフォームの既存プロトタイプを本番向け構成に移行)を選択できます。出力には、クリーンアーキテクチャ、Docker、CI/CD、品質ツールが含まれます。
モードの選択
| 項目 | CREATE | TRANSFORM |
|---|---|---|
| 入力 | 空のディレクトリ、または対象スタックの設定 | 既存プロジェクト(Replit、StackBlitz、CodeSandbox、Glitch、カスタム) |
| 検出 | ソースファイルが見つからない | ソースファイルと、任意のプラットフォーム設定を検出 |
| ln-820 | スキップ(アップグレードする依存関係がないため) | 実行(既存の依存関係をアップグレード) |
| ln-720 | スキャフォールド+生成 | 再構成+移行 |
| ln-724 | スキップ(成果物がないため) | 条件付き(プラットフォームを検出した場合) |
| ln-730–780 | 実行(両モードで共通) | 実行(両モードで共通) |
概要
| 項目 | 詳細 |
|---|---|
| 入力 | 空のディレクトリ(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 | 依存関係のアップグレード | スキップ | 実行 | — |
| 2 | ln-720 | 構成(スキャフォールド/再構成) | 実行(スキャフォールド) | 実行(再構成) | ln-820 |
| 3 | ln-730 | Docker/CI のセットアップ | 実行 | 実行 | ln-720 |
| 4 | ln-740 | 品質ツールの設定 | 実行 | 実行 | ln-720 |
| 5 | ln-760 | セキュリティスキャン | 実行 | 実行 | ln-820 |
| 6 | ln-770 | 横断的関心事 | 実行 | 実行 | ln-720 |
| 7 | ln-780 | ビルドと検証 | 実行 | 実行 | 上記すべて |
委任プロトコル
各 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 | 構造 | Clean Architecture のレイヤーが存在する | ln-720 result |
| 2 | 依存関係 | すべてのパッケージがインストールされ、バージョンの競合がない | ln-820 result |
| 3 | DevOps | Docker がビルドでき、CI パイプラインが有効 | ln-730 result |
| 4 | 品質 | リンター/フォーマッターが設定され、チェックに合格する | ln-740 result |
| 5 | セキュリティ | ハードコードされたシークレットがなく、スキャンが設定されている | ln-760 result |
| 6 | ビルド | エラーなしでプロジェクトをコンパイル/ビルドできる | ln-780 result |
完全性スコア = 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 ツール)— Clean Architecture のスキャフォールドを作成するか、構成を再編します |
| 3.3 | ln-730-devops-setup | 共有(Skill ツール)— Docker、CI/CD、環境設定 |
| 3.4 | ln-740-quality-setup | 共有(Skill ツール)— リンター、pre-commit、テスト基盤 |
| 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