project-bootstrapper について
コードを書く前に開発ルールを整えるメタスキルです。要件を集め、技術スタックとスキル構成を計画し、プロジェクト固有のガードレールや品質基準を生成・検証します。
主な機能
- 01プロジェクト要件と制約の収集
- 02技術スタックとスキル構成の計画
- 03依存順に沿ったスキル生成
- 04コードのガードレールと品質基準の定義
- 05生成スキルの検証
活用シーン
- 01新規プロジェクトの開発基準策定
- 02既存コードベース向けスキル群の生成
- 03実装開始前のスキル計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ersinkoc/ project-bootstrap --skill project-bootstrapperインストール後、Claude Code で/project-bootstrapperを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignoreREADME.mdpackage.jsonLICENSE.claude/skills/project-manager/references/checklist.mdpatterns.mdanti-patterns.mdexamples/README.mdexamples/minimal-project/README.mdexamples/python-fastapi/README.mdexamples/typescript-nextjs/README.mdreferences/quality-standards.mdcross-cutting-concerns.mdgeneration-guide.mdbootstrap-prompt.mdskill-template.mdskill-catalog.mdscripts/check_skill_compliance.pygenerate_compliance_report.jsanalyze_skill_coverage.jsvalidate_bootstrap.pyversion_checker.pyvalidate_bootstrap.jsversion_checker.jsgenerate_compliance_report.pyanalyze_skill_coverage.pycheck_skill_compliance.jstemplates/skills/project-manager/references/anti-patterns.mdpatterns.mdchecklist.md詳細
Project Bootstrapper
理念:コードを書く前に、コードをどのように書くべきかを定義します。バグは実行時に発見するのではなく、設計時に防ぎます。
これはメタスキルです。アプリケーションコードは記述しません。その後に開発者や AI アシスタントが記述するすべてのコードを統制するルール、パターン、ガードレール、品質基準を生成します。
仕組み
[Idea] → [Interview] → [Tech Stack] → [Skill Map] → [Generate Skills] → [Validate] → [Code]
有効化
このスキルは、次の場合に有効になります。
- ユーザーが新しいソフトウェアプロジェクトのアイデアを説明した場合
- ユーザーが「bootstrap」「new project」「start from scratch」「set up project」と言った場合
- ユーザーが既存のコードベース向けにスキル一式を生成したい場合
- ユーザーがコーディング規約、プロジェクトのひな形、開発時のガードレールを求めた場合
- 開発を始める前にスキルを作成する必要があるあらゆる状況
重要:まずリファレンスを読む
スキルを生成する前に、必ず次のリファレンスファイルを順番に読んでください。
references/skill-catalog.md— 40 以上のスキル領域を網羅したカタログreferences/skill-template.md— すべてのスキルが従う汎用テンプレートreferences/generation-guide.md— コードを含む、領域固有の生成手順references/quality-standards.md— 生成したスキルの品質チェックリストreferences/cross-cutting-concerns.md— すべてのスキルに関わるルール
フェーズ 1:プロジェクト情報の収集
1.1 — アイデアを把握する
次の情報を抽出するか、質問してください。
何を作るか(製品):
- このプロジェクトは何をしますか?(1 文で)
- どのような種類ですか?(ウェブアプリ、モバイルアプリ、デスクトップアプリ、CLI、ライブラリ/SDK、API サービス、ブラウザー拡張機能、IoT、組み込み、ゲーム、データパイプライン、ML プラットフォーム、複数の製品を含むモノレポ)
- エンドユーザーは誰ですか?(開発者、一般消費者、企業、社内チーム)
- 収益モデルは何ですか?(オープンソース、フリーミアム、SaaS サブスクリプション、買い切り、マーケットプレイス、広告収入、エンタープライズライセンス)
規模(スケール):
- リリース時と 12 か月後の想定ユーザー数は?
- データ量は?(レコード数、ファイル数、イベント数/秒、ストレージ)
- 対象地域は?(単一地域、大陸規模、全世界)
- 可用性要件は?(99.9%、99.95%、99.99%)
どのように作るか(制約):
- 必須の技術はありますか?(React を使う必要がある、AWS にデプロイする必要がある、など)
- 既存のコードベースはありますか?(グリーンフィールドかブラウンフィールドか)
- チームの規模は?(個人、小規模チーム 2~5 人、中規模チーム 5~15 人、大規模チーム 15 人以上)
- 開発期間は?(ハッカソン/週末、数週間で MVP、数か月で本番リリース)
- 予算の制約は?(無料枠のみ、中程度、エンタープライズ)
- コンプライアンス要件はありますか?(GDPR、HIPAA、SOC2、PCI-DSS、COPPA、CCPA)
ユーザーがすでに詳細を提示している場合は、質問する代わりにそのメッセージから回答を抽出してください。技術スタックの決定に必要で、まだ提示されていない情報だけを質問してください。
1.2 — 技術スタックを決定する
回答に基づいて、完全な技術スタックを推奨してください。
🔍 必須:バージョンの調査(最新の安定版)— 一切妥協しないでください
これは絶対に譲れません。どのような技術を提案する場合も、必ずリアルタイム検索で最新の安定版を確認してください。
⚠️ 重要:AI モデルには知識のカットオフがあります。パッケージのエコシステムは日々進化しています。古いバージョンを使って生成されたスキルは、脆弱性のあるコードや非推奨のコードを出力します。
調査プロトコル(すべての技術について実施):
-
利用可能なツールを使います(優先順位順):
WebSearch:"{package} latest stable version {current_year}"WebFetch:公式ドキュメントサイト(例:nextjs.org、python.org、go.dev)- Context7:
resolve-library-id→ 変更履歴についてquery-docs - パッケージレジストリ:npmjs.com、pypi.org、crates.io、pkg.go.dev、maven.apache.org
-
正確なバージョンを抽出します:
- 形式:
Major.Minor.Patch(例:Next.js 16.1.0) - 安定版であることを確認します(alpha、beta、RC、canary、nightly は不可)。
- リリース日を確認します。更新がないまま6か月以上経過している場合は除外します。
- 形式:
-
確認内容を記録します:
Technology: Next.js Version: 16.1.0 Verified via: nextjs.org/blog Verification date: 2026-03-09 Release date: 2026-02-15 Node requirement: >= 22.0.0
厳守事項:
- ✅ 必須:フレームワークだけでなく、すべての依存関係を確認します
- ✅ 必須:すべての設定ファイル(
package.json、requirements.txt、Cargo.tomlなど)で正確なバージョンを固定します - ✅ 必須:すべてのコード例で、確認したバージョンの最新 API/構文を使います
- ❌ 絶対禁止:いかなる場合も、記憶しているバージョンを使わないでください
- ❌ 絶対禁止:「よく知られた」パッケージでも、確認を省略しないでください
- ❌ 絶対禁止:古いバージョンの非推奨 API を使わないでください
- ⚠️ 警告:確認できない場合は、明確に次のように記載してください:
⚠️ VERSION UNVERIFIED — MUST CONFIRM
メンテナンス放棄の検出:
- 最終コミット/リリースから12か月以上経過している場合は、代替候補を調査します
- 6か月以上、メンテナーからイシューへの応答がない場合は、危険信号とみなします
- セキュリティ勧告が30日以上未修正の場合は、使用しないでください
調査クエリの例:
"next.js latest version"→ nextjs.org または npm"postgresql latest stable release"→ postgresql.org"tailwind css latest version"→ tailwindcss.com または npm- Context7:ライブラリ ID を解決 → バージョン/変更履歴についてドキュメントを照会
技術スタックの選択表
レイヤー別の選択表として整理します:
┌──────────────────────────────────────────────────────────────────────┐
│ TECH STACK PROPOSAL (versions verified: {date}) │
├────────────────┬─────────────────────────────────┬───────────────────┤
│ Category │ Choice │ Rationale │
├────────────────┼─────────────────────────────────┼───────────────────┤
│ Language │ {name} {verified latest version} │ │
│ Runtime │ {name} {verified latest version} │ │
│ Framework │ {name} {verified latest version} │ │
│ Database │ {name} {verified latest version} │ │
│ ORM/Query │ {name} {verified latest version} │ │
│ Cache │ {name} {verified latest version} │ │
│ Auth │ {name} {verified latest version} │ │
│ UI Library │ {name} {verified latest version} │ │
│ CSS/Styling │ {name} {verified latest version} │ │
│ State Mgmt │ {name} {verified latest version} │ │
│ API Style │ {name} {verified latest version} │ │
│ Validation │ {name} {verified latest version} │ │
│ Testing │ {name} {verified latest version} │ │
│ CI/CD │ {name} {verified latest version} │ │
│ Hosting │ {name} │ │
│ Monitoring │ {name} {verified latest version} │ │
│ Email │ {name} {verified latest version} │ │
│ File Storage │ {name} │ │
│ Search │ {name} {verified latest version} │ │
│ Queue/Jobs │ {name} {verified latest version} │ │
│ Analytics │ {name} {verified latest version} │ │
└────────────────┴─────────────────────────────────┴───────────────────┘
プロジェクトに関連する行のみを含めます。それぞれの選択理由を1行で記載します。
先に進む前に、ユーザーの確認を待ってください。 技術スタックによって、その後のすべてが決まります。
言語に依存しないバージョン確認マトリックス
すべての言語について、以下のツールのバージョンを確認します:
┌─────────────────────────────────────────────────────────────────────────┐
│ LANGUAGE │ CORE VERSION │ PACKAGE MANAGER │ LINTER │ TESTER │
├─────────────────────────────────────────────────────────────────────────┤
│ TypeScript │ Latest Node │ npm/pnpm 10+ │ ESLint 9+ │ Vitest 3+ │
│ Python │ 3.12+ │ pip/uv │ Ruff 0.9+ │ pytest 8+ │
│ Go │ 1.24+ │ go modules │ golangci │ go test │
│ Rust │ Latest │ cargo │ clippy │ cargo test │
│ Java │ 21 LTS │ Maven/Gradle │ checkstyle │ JUnit 5 │
│ Kotlin │ 2.1+ │ Gradle │ ktlint │ Kotest │
│ C# │ .NET 9+ │ NuGet │ analyzers │ xUnit │
│ Swift │ 6.0+ │ SwiftPM │ swiftlint │ XCTest │
│ PHP │ 8.4+ │ Composer 2+ │ PHPStan 2+ │ PHPUnit 11+ │
│ Ruby │ 3.4+ │ Bundler │ RuboCop │ RSpec │
└─────────────────────────────────────────────────────────────────────────┘
ポリグロットプロジェクト:言語ごとに個別の {language}-standards スキルを生成します。
1.3 — スキルマップの生成
確認済みの技術スタックに基づいて、生成するスキルの完全な一覧となるスキルマップを作成します。ドメインカタログ全体については、references/skill-catalog.md を参照してください。
必須スキル(すべてのプロジェクトで生成):
project-architecture— フォルダー構成、モジュール境界、命名規則{language}-standards— 言語レベルのコーディング規則security-hardening— 多層防御、入力/出力、シークレット、依存関係error-handling— エラー階層、伝播、復旧data-validation— スキーマ検証、サニタイズ、境界testing-strategy— テストの種類、カバレッジ、モック、フィクスチャperformance-optimization— 予算、プロファイリング、キャッシュ、遅延読み込みgit-workflow— ブランチ、コミット、PR、リリースdocumentation-standards— コードドキュメント、API ドキュメント、README、ADRprivacy-compliance— PII の取り扱い、データライフサイクル、同意、GDPR/CCPAdependency-management— バージョン管理、監査、更新ポリシー、ロックファイル
条件付きスキル(プロジェクトで必要な場合に生成):
{framework}-patterns— フレームワーク固有の規約database-design— スキーマ、マイグレーション、インデックス、クエリapi-design— エンドポイント、バージョン管理、ページネーション、レート制限ui-engineering— コンポーネント、スタイリング、レスポンシブ対応、アクセシビリティstate-management— クライアント/サーバー/URL/フォームの状態パターンauth-patterns— 認証、認可、セッション、トークン、MFAdevops-pipeline— CI/CD、環境、デプロイ、ロールバックobservability— ログ、メトリクス、トレーシング、アラートaccessibility-standards— WCAG 準拠、ARIA、キーボード操作internationalization— i18n、l10n、RTL、複数形処理payment-integration— 課金、サブスクリプション、Webhook、PCIfile-handling— アップロード、ストレージ、処理、CDNrealtime-system— WebSocket、SSE、pub/sub、プレゼンスemail-system— トランザクションメール、テンプレート、キュー、コンプライアンスsearch-implementation— エンジン、インデックス作成、関連性、自動補完background-jobs— キュー、スケジューリング、再試行、デッドレターmobile-patterns— ナビゲーション、オフライン、プッシュ通知、ディープリンクdesktop-patterns— ウィンドウ管理、トレイ、IPC、自動更新cli-design— コマンド、引数、出力、設定、シェル補完monorepo-management— ワークスペース、境界、バージョン管理ai-integration— LLM の呼び出し、プロンプト、ストリーミング、コスト、安全性caching-strategy— レイヤー、無効化、CDN、stale-while-revalidaterate-limiting— アルゴリズム、ティア、ヘッダー、分散レート制限feature-flags— ロールアウト、ターゲティング、キルスイッチ、クリーンアップmigration-strategy— ダウンタイムなしの移行、データ移行、後方互換性container-orchestration— Docker、K8s、ヘルスチェック、リソースinfrastructure-as-code— Terraform/Pulumi、状態、モジュールevent-driven-architecture— イベントソーシング、CQRS、サガgraphql-patterns— スキーマ設計、リゾルバー、N+1、バッチ処理websocket-patterns— 接続管理、ルーム、再接続microservice-patterns— サービス境界、通信、サービスディスカバリー
生成レイヤーごとに整理してスキルマップを提示します。ユーザーの確認を待ってください。
フェーズ 2:スキル生成エンジン
2.1 — 生成順序(依存レイヤー)
厳密な依存順序でスキルを生成します。後続のスキルは先行するスキルを参照できます。
Layer 0: project-architecture
(defines folder structure, module boundaries, naming — everything else references this)
Layer 1: {language}-standards, git-workflow, documentation-standards
(foundational coding and process standards)
Layer 2: security-hardening, error-handling, data-validation, privacy-compliance,
dependency-management
(cross-cutting safety and quality concerns)
Layer 3: database-design, api-design, auth-patterns, caching-strategy
(data and communication layer)
Layer 4: {framework}-patterns, ui-engineering, state-management,
accessibility-standards
(presentation and interaction layer)
Layer 5: testing-strategy, performance-optimization
(quality assurance — needs all other skills to exist first)
Layer 6: devops-pipeline, observability, container-orchestration,
infrastructure-as-code
(operations layer)
Layer 7: Domain-specific skills (payments, i18n, email, search, realtime,
background-jobs, feature-flags, AI, etc.)
(only relevant domains)
2.2 — スキルのファイル構成
生成するすべてのスキルで、次のファイルツリーを必ず作成します。
{skill-name}/
├── SKILL.md # Main instructions (< 500 lines)
├── references/
│ ├── patterns.md # Approved patterns with full code examples
│ ├── anti-patterns.md # Forbidden patterns with severity + explanation
│ └── checklist.md # Pre-commit/pre-merge verification checklist
└── templates/ # (optional) Code templates, configs
└── *.template.*
2.3 — コンテンツ要件
正確なひな形については references/skill-template.md を参照してください。ドメイン固有のコンテンツ要件については references/generation-guide.md を参照してください。
生成するすべてのスキルには、次の内容を必ず含めてください。
- YAML フロントマター — 確実にトリガーされる名前と積極的な説明
- 有効化条件 — 正確なトリガー(ファイルタイプ、ディレクトリ、ユーザーのフレーズ)
- プロジェクトコンテキスト — 実際のプロジェクト技術、パス、決定事項への参照
- 番号付きの基本ルール(スキルごとに 15~40 個)— それぞれに根拠とコード例を含める
- 承認済みパターン — 正しい方法を示す、コピーしてそのまま使えるコード
- 重大度付きのアンチパターン(🔴 CRITICAL / 🟠 HIGH / 🟡 MEDIUM / 🟢 LOW)
- パフォーマンス予算 — 曖昧な目標ではなく、具体的に測定可能な数値
- セキュリティチェックリスト — ドメイン固有のセキュリティ確認項目
- エラーシナリオ表 — 何が失敗するか、その検出方法、復旧方法
- エッジケース — 対処手順とともに記載
- 統合ポイント — このスキルと他の生成済みスキルとの連携方法
- コミット前チェックリスト — コードをコミットする前の確認項目
2.4 — 執筆の原則
- WHY を説明する:Claude と開発者は賢いため、厳格な指示よりも理由付けを重視します
- 抽象的な説明より具体的な例を使う:コードの説明より実際のコード例を優先します
- プロジェクト固有にする:実際の技術選定、パス、決定事項を参照し、一般論にしないでください
- 明確な方針を示す:最善のアプローチを 1 つ選んで徹底し、選択肢を並べないでください
- テスト可能にする:すべてのルールを検証可能にします(lint ルール、テスト、コードレビューでの確認)
- サンプルはコンパイル可能にする:すべてのコード例は、コピーしてそのまま使えるようにし、疑似コードは使わないでください
- 両方を示す:重要なルールごとに、正しい例と誤った例の両方を示してください
2.5 — スキル間の一貫性
すべてのスキルを生成した後、次の点を確認してください。
- スキル間に矛盾がない
- 共通の用語がすべてのスキルで一貫している
- インポートパスが実際のプロジェクト構成を参照している
- 技術バージョンがすべてのスキルで一致している
- エラー処理のパターンが統一されている
- ログ形式がすべて同一である
- 検証方法がすべて同一である
- セキュリティルールが互いに矛盾していない
フェーズ 3:出力
3.1 — ディレクトリ構成
{project-root}/
├── .claude/
│ └── skills/
│ ├── project-architecture/
│ │ ├── SKILL.md
│ │ └── references/
│ ├── {language}-standards/
│ │ ├── SKILL.md
│ │ ├── references/
│ │ └── templates/
│ ├── security-hardening/
│ │ ├── SKILL.md
│ │ └── references/
│ ├── ... (all generated skills)
│ └── _bootstrap-manifest.json
├── .gitignore
└── ... (application code comes AFTER bootstrap)
3.2 — ブートストラップマニフェスト
_bootstrap-manifest.json を生成します。
{
"project": "{name}",
"bootstrapped_at": "{ISO-8601}",
"tech_stack": {},
"skills_generated": [
{
"name": "{skill-name}",
"path": ".claude/skills/{skill-name}/",
"layer": 0,
"depends_on": [],
"domains_covered": ["architecture", "folder-structure", "naming"]
}
],
"total_skills": 0,
"total_rules": 0,
"total_anti_patterns": 0,
"coverage": {
"security": true,
"performance": true,
"privacy": true,
"testing": true,
"accessibility": true,
"error_handling": true,
"documentation": true,
"observability": true
}
}
フェーズ 4:検証
ブートストラップの完了を宣言する前に、JavaScript と Python の両方のバリデーターを使用して検証を実行してください。
検証チェックリスト
- 完全性 — 技術スタックの各コンポーネントが、少なくとも 1 つのスキルでカバーされている
- 矛盾 — どの 2 つのスキルの間にも、相反する助言がない
- 依存関係 — 各スキルの
depends_onの参照先が存在する - 網羅性 — セキュリティ、パフォーマンス、プライバシー、テスト、エラー処理がすべてカバーされている
- 具体性 — スキルが実際のプロジェクト名、パス、バージョンを参照している
- 品質 — 生成されたスキルに対してバリデーターを実行する
バリデーターの実行
JavaScript/Node.js(デフォルト):
# Validate all skills
node scripts/validate_bootstrap.js .claude/skills/
# Check version consistency
node scripts/version_checker.js .claude/skills/
# Check compliance (if you have source code)
node scripts/check_skill_compliance.js src/
Python(代替):
# Validate all skills
python scripts/validate_bootstrap.py .claude/skills/
# Check version consistency
python scripts/version_checker.py .claude/skills/
# Check compliance
python scripts/check_skill_compliance.py src/
検証結果
概要表を提示してください。
╔═══════════════════════════════════════════════════╗
║ BOOTSTRAP COMPLETE ║
╠═══════════════════════════════════════════════════╣
║ Project: {name} ║
║ Skills Generated: {N} ║
║ Total Rules: {N} ║
║ Total Anti-Patterns: {N} ║
║ Security Rules: {N} ║
║ Performance Budgets: {N} ║
║ Privacy Controls: {N} ║
║ Test Requirements: {N} ║
╠═══════════════════════════════════════════════════╣
║ ✅ No contradictions found ║
║ ✅ All dependencies resolved ║
║ ✅ Full coverage verified ║
║ ✅ Validators passed ║
║ ✅ Ready to code ║
╚═══════════════════════════════════════════════════╝
フェーズ 5:継続的な準拠(project-manager スキル)
CRITICAL: ブートストラップ後、project-manager スキルが継続的な準拠を確保します。
project-manager の役割
- 監視 — すべてのコード変更をリアルタイムで監視します
- 検証 — すべての変更を有効なスキルに照らして検証します
- ブロック — スキル違反があるコミットをブロックします
- 報告 — 準拠状況の指標を毎週報告します
- 誘導 — 開発者がスキルに準拠できるよう案内します
- 検出 — スキルからの逸脱を自動的に検出します
利用可能なツール
JavaScript:
# Check code compliance
node scripts/check_skill_compliance.js src/
# Analyze skill coverage
node scripts/analyze_skill_coverage.js src/
# Generate weekly report
node scripts/generate_compliance_report.js --week
Python:
# Check code compliance
python scripts/check_skill_compliance.py src/
# Analyze skill coverage
python scripts/analyze_skill_coverage.py src/
# Generate weekly report
python scripts/generate_compliance_report.py --week
コミット前フック
準拠状況を自動で確認するよう設定します。
# Install pre-commit hook
cp scripts/pre-commit.example .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
結果: スキルが単なるドキュメントではなく、有効なガードレールになります。
フェーズ 6:引き継ぎ
ブートストラップと検証の完了後:
- 確認
.claude/skills/にすべてのスキルが生成されていることを確認します project-managerスキルがコンプライアンスを監視することを説明します- バリデーターの実行方法(JS と Python の両方の方法)を提示します
- コンプライアンスチェックコマンドを実演します
- 実際の開発へと移行します
作成または編集されたすべてのファイルには、関連するスキルが自動的に適用され、project-manager スキルによって強制されます。
このスキルのルール
基本原則
- このスキルは他のスキルを生成します。アプリケーションコードを生成することはありません
- 生成されるスキルはプロジェクト固有のものでなければならず、汎用的なひな形であってはなりません
- 判断に迷った場合は、スキルを少なくするより多く生成してください
- ユーザーのプロジェクトにカタログにないドメインが必要な場合は、そのための新しいスキルを作成してください
- ユーザーの言語設定に従ってください(デフォルトは英語です)
- 技術スタックに依存しません。TypeScript、Python、Go、Rust、Java、C#、Swift、Kotlin、PHP、Ruby、またはこれらの任意の組み合わせで動作します
- 複数の言語を使用するプロジェクトでは、言語ごとにスキルを生成してください
- スキルを生成する前に、すべての参照ファイルを読んでください
検証要件
生成後は必ずバリデーターを実行してください:
# Option 1: JavaScript/Node.js (recommended, no Python needed)
node scripts/validate_bootstrap.js .claude/skills/
# Option 2: Python (if available)
python scripts/validate_bootstrap.py .claude/skills/
ブートストラップの完了を宣言する前に、検証に合格する必要があります。
必須スキル
他のスキルとともに、必ず project-manager スキルを生成してください。このスキルは以下を行います:
- 開発全体を通じてコンプライアンスを監視します
- コードがスキルに準拠しているかリアルタイムで検証します
- コンプライアンスレポートを生成します
- スキルの形骸化を防ぎます
バージョンの確認
重要: すべての技術バージョンを、リアルタイム検索で必ず確認してください:
WebSearch、WebFetch、または Context7 を使用します- 確認元と確認日を記録します
- 記憶しているバージョンを使用しないでください
- フレームワークだけでなく、すべての依存関係を確認してください
生成後のチェックリスト
引き継ぎの前に:
-
.claude/skills/にすべてのスキルが生成されている -
project-managerスキルが含まれている - 検証に合格している(JS または Python)
- バージョンチェッカーを実行している
-
_bootstrap-manifest.jsonが作成されている - コンプライアンスツールについてユーザーに説明している
- プリコミットフックに言及している