claude-code-starter
プロジェクトのテックスタックを分析し、包括的なClaude Code設定ファイル(.claude/ディレクトリ内のCLAUDE.md、skills、agents、rules、commandsなど)を自動生成します。新規または既存リポジトリへのClaude Codeのセットアップ時に使用してください。
description の原文を見る
Analyze a project's tech stack and generate comprehensive Claude Code configuration files (.claude/ directory with CLAUDE.md, skills, agents, rules, and commands). Use when setting up Claude Code for a new or existing repository.
SKILL.md 本文
Claude Code Starter
プロジェクト用のClaude Code設定をセットアップしています。以下のフローに従い、プロジェクトを分析してすべての.claude/設定ファイルを生成してください。
Step 1: プロジェクトタイプの検出
新規プロジェクト(空またはソースファイル3未満)か既存プロジェクトかを確認します。
新規プロジェクトの場合、ユーザーに以下の質問をしてください:
- 何を構築しようとしていますか?(プロジェクト説明)
- 主要言語は?(TypeScript、JavaScript、Python、Go、Rust、Swift、Kotlin、Java、Ruby、C#、PHP、C++)
- フレームワークは?(言語でフィルタリング — 例:TS/JS向けのNext.js/React/Vue、Python向けのFastAPI/Django/Flask)
- パッケージマネージャーは?(言語でフィルタリング)
- テストフレームワークは?(言語でフィルタリング、または「なし」)
- リンター/フォーマッターは?(言語でフィルタリング、または「なし」)
- プロジェクトタイプは?(ウェブアプリ、API/バックエンド、CLIツール、ライブラリ/パッケージ、モバイルアプリ、デスクトップアプリ、モノレポ、その他)
既存プロジェクトの場合、コードベースを分析します:
package.json、pyproject.toml、Cargo.toml、go.mod、Gemfile等を読み込む- 言語、フレームワーク、パッケージマネージャー、テスト、リント、フォーマット、バンドラーを検出
- アーキテクチャパターン、ディレクトリ構造、コード規約を特定
Step 2: .claude/settings.jsonを作成
検出されたスタックに基づいて権限を指定したsettings.jsonを生成します。例:
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Read(**)", "Edit(**)", "Write(.claude/**)", "Bash(git:*)",
"Bash(npm:*)", "Bash(node:*)"
]
}
}
言語/フレームワーク固有の権限を追加します(例:Rust向けのBash(cargo:*)、Python向けのBash(pytest:*))。
Step 3: CLAUDE.mdを生成
深いコードベース分析を実行し、以下の構造に従って.claude/CLAUDE.mdを生成します:
Phase 1: 発見
実際のプロジェクトファイルを読み込み、以下を発見します:
- プロジェクト識別情報(名前、バージョン、説明、目的)
- ディレクトリ構造マップ(深さ3)
- テックスタック詳細スキャン(言語、フレームワーク、データベース、認証、APIレイヤー、スタイリング、ビルドツール、CI/CD)
- アーキテクチャパターン認識(MVC、Clean、Hexagonalなど)
- エントリーポイントとキーファイル
- コード規約(命名、インポート、エクスポート、関数スタイル、エラーハンドリング)
- 開発ワークフロー(スクリプト、環境変数、pre-commitフック、テストセットアップ)
- ドメイン知識(エンティティ、ワークフロー、統合)
Phase 2: CLAUDE.mdを記述
発見された情報のみを使用し、.claude/CLAUDE.mdを以下で作成します:
- プロジェクト名 + 1行の説明
- 概要(目的、対象ユーザー、価値提案)
- アーキテクチャ(パターン、ディレクトリ構造、データフロー、キーファイル)
- テックスタック表
- 開発セットアップ(前提条件、はじめ方、環境変数)
- よく使うコマンド
- コード規約(命名パターン、従うべきパターン、アンチパターン)
- テスト(コマンド、記述パターン)
- ドメイン知識(エンティティ、ワークフロー)
- 注意点と重要な注記
- ルール
Phase 3: 品質チェック
各セクションにプロジェクト固有の内容が含まれていることを確認し、汎用的なボイラープレートではないことを検証します。実質的な内容がないセクションはスキップします。
Step 4: Skillsを生成
各skillファイルをYAML frontmatter(name、description、globs)付きで.claude/skills/に記述します。
コアスキル(常にすべて8つを生成):
-
.claude/skills/pattern-discovery.md— コードベースを分析してパターンを発見し、ドキュメント化します。実際のディレクトリ構造とファイルパターンに基づいたプロジェクト固有の検索戦略を含めます。 -
.claude/skills/systematic-debugging.md— 4段階の方法論:再現、特定、診断、修正。プロジェクトの実際のテストランナーおよび開発サーバーコマンドに合わせて再現手順をカスタマイズします。 -
.claude/skills/testing-methodology.md— AAAパターン(Arrange、Act、Assert)。プロジェクトの実際のテストフレームワークシンタックスを使用(例:Jest/Vitest向けのdescribe/it、pytest向けのdef test_)。スタック固有のモッキングパターンを含めます。 -
.claude/skills/iterative-development.md— TDDワークフロールプ:失敗するテストを記述 → 実装 → 検証 → リファクタリング。プロジェクトの実際のテストコマンドとlintコマンドを使用します。 -
.claude/skills/commit-hygiene.md— アトミックコミット、conventional commitフォーマット、サイズ閾値(±300行)、コミットのトリガー。 -
.claude/skills/code-deduplication.md— 書き込み前確認の原則。新しいコードを記述する前に既存コードを検索します。一般的なファイルタイプのプロジェクト固有のglobパターンを含めます。 -
.claude/skills/simplicity-rules.md— 関数の長さ制限(≤40行)、ファイル制限(≤300行)、循環複雑度の制約。分解パターン。 -
.claude/skills/security.md— スタック用の.gitignoreエントリ、環境変数ハンドリングパターン、検出されたフレームワークに関連するOWASPチェックリスト項目。
フレームワーク固有のスキル(検出された場合のみ):
検出されたフレームワークに基づいて、適切なスキルを生成します:
| フレームワーク | スキルファイル | 主要内容 |
|---|---|---|
| Next.js | nextjs-patterns.md | App Router、Server/Clientコンポーネント、データ取得、ミドルウェア |
| React(Next.jsなし) | react-components.md | Hooks、コンポーネントパターン、状態管理、パフォーマンス |
| FastAPI | fastapi-patterns.md | ルーター構成、依存性注入、Pydanticモデル、async |
| NestJS | nestjs-patterns.md | モジュール、コントローラー、サービス、デコレーター、パイプ、ガード |
| SwiftUI | swiftui-patterns.md | プロパティラッパー、MVVM、ナビゲーション、プレビュー |
| UIKit | uikit-patterns.md | ビューコントローラー、Auto Layout、デリゲート、MVC |
| Vapor | vapor-patterns.md | ルート、ミドルウェア、Fluent ORM、asyncコントローラー |
| Jetpack Compose | compose-patterns.md | @Composable、remember、ViewModel、ナビゲーション |
| Android Views | android-views-patterns.md | アクティビティ、フラグメント、XMLレイアウト、ViewBinding |
| Vue/Nuxt | vue-patterns.md | Composition API、composables、Pinia、ルーティング |
| Django | django-patterns.md | モデル、ビュー、シリアライザー、ミドルウェア、admin |
| Rails | rails-patterns.md | MVC、ActiveRecord、concerns、サービスオブジェクト |
| Spring | spring-patterns.md | Bean、コントローラー、サービス、リポジトリ、AOP |
分析中に発見された特定のプロジェクトのパターン、ファイル構造、規約に合わせてすべてのスキルコンテンツをカスタマイズします。
Step 5: Agentsを生成
2つのエージェントファイルを.claude/agents/に記述します:
.claude/agents/code-reviewer.md
---
name: code-reviewer
description: コードを品質、セキュリティ問題、ベストプラクティスでレビューします
tools:
- Read
- Grep
- Glob
- "Bash(biome check .)" # 実際のlintコマンドを使用
disallowed_tools:
- Write
- Edit
model: sonnet
---
本文:コード品質、セキュリティ、命名規約、テストカバレッジ、プロジェクトパターンへの準拠をレビューするための指示。
.claude/agents/test-writer.md
---
name: test-writer
description: コード用の包括的なテストを生成します
tools:
- Read
- Grep
- Glob
- Write
- Edit
- "Bash(bun test)" # 実際のテストコマンドを使用
model: sonnet
---
本文:プロジェクトの実際のテストフレームワークを使用してテストを記述し、既存のテストパターンに従うための指示。
Step 6: Rulesを生成
ルールファイルを.claude/rules/に記述します:
常に生成:
.claude/rules/code-style.md— フォーマットツール、コメントスタイル、エラーハンドリング、gitコミット規約。
条件付き(言語別):
| 言語 | ファイル | YAML paths | 主要ルール |
|---|---|---|---|
| TypeScript | typescript.md | ["**/*.ts", "**/*.tsx"] | 厳密モード、型アノテーション、インポートスタイル |
| Python | python.md | ["**/*.py"] | 型ヒント、ドキュメント文字列、インポート順序 |
| Swift | swift.md | ["**/*.swift"] | アクセス制御、オプショナル、プロトコル指向 |
| Go | go.md | ["**/*.go"] | エラーハンドリング、インターフェース、パッケージ命名 |
| Rust | rust.md | ["**/*.rs"] | 所有権、エラーハンドリング、トレイトパターン |
各ルールファイルにはファイルマッチング用のpathsを含むYAML frontmatterが必要です。
Step 7: Commandsを生成
5つのコマンドファイルを.claude/commands/に記述します:
.claude/commands/task.md
---
allowed-tools: ["Read", "Write", "Edit", "Glob"]
description: "新しいタスクを開始または切り替えます"
argument-hint: "<task description>"
---
.claude/state/task.mdを新しいタスクで更新し、ステータスを「In Progress」に設定する指示。
.claude/commands/status.md
---
allowed-tools: ["Read", "Glob", "Bash(git status)"]
description: "現在のタスクとセッションの状態を表示します"
---
task.mdを読み込み、gitステータスを表示し、現在の状態をまとめる指示。
.claude/commands/done.md
---
allowed-tools: ["Read", "Write", "Edit", "Glob", "Bash(git:*)", "Bash(bun test)"]
description: "現在のタスクを完了としてマークします"
---
テストの実行、lint実行、検証、task.mdのステータスを「Done」に更新する指示。
.claude/commands/analyze.md
---
allowed-tools: ["Read", "Glob", "Grep"]
description: "特定の領域の詳細分析"
argument-hint: "<area or file path>"
---
指定された領域を徹底的に分析する指示。
.claude/commands/code-review.md
---
allowed-tools: ["Read", "Glob", "Grep", "Bash(git diff)"]
description: "品質とセキュリティのためにコード変更をレビューします"
---
ステージ済み/未ステージの変更をレビューする指示。
出力サマリー
すべてのファイルを生成した後、簡潔なサマリーを出力します:
- 作成されたファイルのリスト
- 発見されたギャップ(設定ファイルの不足、不明確なパターン)
- 推奨される次のステップ
重要なガイドライン
- 汎用的ではなく、具体的に。 すべてのファイルはプロジェクト固有の内容を含む必要があります。
- 実際のファイルを参照。
path/to/file.ts:lineNumberフォーマットを使用します。 - 実際のコマンドを使用。 プロジェクトの実際のテスト/lint/ビルドコマンドを参照します。
- 適用されないものはスキップ。 使用されていないフレームワーク向けのフレームワークスキルは生成しません。
- 既存ファイルを尊重。
.claude/ファイルが存在する場合は、手動で追加された内容を読み込んで保持します。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- cassmtnr
- ライセンス
- MIT
- 最終更新
- 2026/3/24
Source: https://github.com/cassmtnr/claude-code-starter / ライセンス: MIT