🐙

Anthropic ハッカソン優勝者のClaude Codeの設定がすごすぎた

に公開

https://github.com/affaan-m/everything-claude-code

概要

まるで新入社員に業務マニュアルを渡す感覚で、Claude Codeに「このルールで動作して」「この作業は専用のツールや手順に任せて」といった指示を与えられます。プログラミング経験がなくても、用意された設定ファイルを適用するだけで、実務に耐える開発環境を簡単に整えられる便利なテンプレート集です。

このプロジェクトは、Anthropic社のCLIツール「Claude Code」を最大限活用するための設定ファイル集です。

プロジェクト構成

everything-claude-code/
├── agents/              # 専門エージェント定義
├── commands/            # スラッシュコマンド
├── contexts/            # コンテキスト切り替え設定
├── examples/            # 設定ファイルのサンプル
├── hooks/               # イベントトリガー自動化
├── mcp-configs/         # MCP サーバー設定
├── plugins/             # プラグイン関連ドキュメント
├── rules/               # 常時適用ルール
├── skills/              # ワークフロー・ドメイン知識
├── .gitignore
├── CONTRIBUTING.md
└── README.md

1. Agents(エージェント)

場所: agents/

概要

エージェントは特定のタスクに特化した「専門家」として機能します。複雑なタスクを委譲することで、メインのClaude Codeセッションのコンテキストを節約できます。

ファイル一覧と役割

ファイル 役割
planner.md 機能実装の計画立案。要件分析からステップ分解まで
architect.md システム設計・アーキテクチャ決定
tdd-guide.md テスト駆動開発(TDD)のガイド
code-reviewer.md コード品質・セキュリティレビュー
security-reviewer.md 脆弱性分析・セキュリティ監査
build-error-resolver.md ビルドエラーの解決支援
e2e-runner.md Playwright E2Eテストの実行
refactor-cleaner.md 不要コードの削除・リファクタリング
doc-updater.md ドキュメントの同期・更新

フロントマターの要素:

  • name: エージェント識別名
  • description: エージェントの説明(自動起動の判定に使用)
  • tools: 使用可能なツール(制限することでコンテキスト節約)
  • model: 使用するモデル(opus/sonnet等)

特徴

  • 限定されたスコープ: 各エージェントは特定領域に集中
  • ツール制限: 必要最小限のツールのみ許可
  • モデル選択: タスクの複雑さに応じてモデルを選択

2. Commands(コマンド)

場所: commands/

概要

スラッシュコマンド(/tdd/plan等)で呼び出せるワークフロー定義です。

ファイル一覧と役割

コマンド ファイル 用途
/tdd tdd.md テスト駆動開発ワークフロー
/plan plan.md 実装計画の作成
/e2e e2e.md E2Eテストの生成
/code-review code-review.md コードレビュー実行
/build-fix build-fix.md ビルドエラー修正
/refactor-clean refactor-clean.md デッドコード削除
/test-coverage test-coverage.md カバレッジ分析
/update-codemaps update-codemaps.md コードマップ更新
/update-docs update-docs.md ドキュメント同期
/learn learn.md セッションから学習

/tdd コマンドの例

TDDコマンドは以下のサイクルを強制します:

  1. RED - 失敗するテストを先に書く
  2. GREEN - テストを通す最小限のコードを実装
  3. REFACTOR - テストを維持しながらコード改善

3. Contexts(コンテキスト)

場所: contexts/

概要

作業モードに応じてClaudeの振る舞いを切り替える設定です。

ファイル一覧

ファイル モード 特徴
dev.md 開発モード コード優先、動くものを素早く作る
research.md 調査モード 理解優先、コードを書く前に調査
review.md レビューモード 品質チェック重視

4. Rules(ルール)

場所: rules/

概要

常に適用される強制ガイドラインです。モジュール化されており、必要なものだけ有効化できます。

ファイル一覧と役割

ファイル 内容
security.md セキュリティチェック、シークレット管理
coding-style.md イミュータビリティ、ファイル構成、エラー処理
testing.md TDDワークフロー、80%カバレッジ要件
git-workflow.md コミットフォーマット、PRプロセス
agents.md エージェント使用指針
performance.md モデル選択、コンテキスト管理
patterns.md APIレスポンスフォーマット、リポジトリパターン
hooks.md フック関連ドキュメント

security.md の例

## Mandatory Security Checks

Before ANY commit:
- [ ] No hardcoded secrets (API keys, passwords, tokens)
- [ ] All user inputs validated
- [ ] SQL injection prevention (parameterized queries)
- [ ] XSS prevention (sanitized HTML)
- [ ] CSRF protection enabled

5. Skills(スキル)

場所: skills/

概要

ワークフロー定義やドメイン知識を格納します。コマンドやエージェントから参照されます。

構成

skills/
├── backend-patterns.md      # API、DB、キャッシュパターン
├── coding-standards.md      # 言語別ベストプラクティス
├── clickhouse-io.md         # ClickHouse分析クエリ
├── frontend-patterns.md     # React、Next.jsパターン
├── project-guidelines-example.md  # プロジェクト固有スキル例
├── continuous-learning/     # 継続学習機能
│   ├── config.json
│   └── evaluate-session.sh
├── security-review/         # セキュリティチェックリスト
│   └── SKILL.md
├── strategic-compact/       # 戦略的コンパクション
│   └── suggest-compact.sh
└── tdd-workflow/            # TDD方法論
    └── SKILL.md

tdd-workflow/SKILL.md の特徴

TDDスキルは以下を定義:

  • テストタイプ(Unit/Integration/E2E)
  • テストパターンとコード例
  • カバレッジ要件(80%以上)
  • よくある間違いと正しいアプローチ

continuous-learning/config.json

{
  "min_session_length": 10,
  "extraction_threshold": "medium",
  "auto_approve": false,
  "patterns_to_detect": [
    "error_resolution",
    "user_corrections",
    "workarounds",
    "debugging_techniques",
    "project_specific"
  ]
}

セッションから学習可能なパターンを自動検出する設定です。


6. Hooks(フック)

場所: hooks/

概要

ツール実行時のイベントをトリガーとした自動化処理です。

hooks.json の構成

{
  "hooks": {
    "PreToolUse": [...],    // ツール実行前
    "PostToolUse": [...],   // ツール実行後
    "PreCompact": [...],    // コンパクション前
    "SessionStart": [...],  // セッション開始時
    "Stop": [...]           // セッション終了時
  }
}

主要なフック例

1. Dev Server のブロック

{
  "matcher": "tool == \"Bash\" && tool_input.command matches \"npm run dev\"",
  "description": "Block dev servers outside tmux",
  "hooks": [{
    "type": "command",
    "command": "echo '[Hook] BLOCKED: Dev server must run in tmux'"
  }]
}

2. console.log の警告

{
  "matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\.(ts|tsx)$\"",
  "description": "Warn about console.log statements",
  "hooks": [{
    "command": "grep -n 'console.log' \"$file_path\" && echo 'Remove console.log'"
  }]
}

3. 自動フォーマット

{
  "matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\.(ts|tsx|js|jsx)$\"",
  "description": "Auto-format with Prettier after edits",
  "hooks": [{
    "command": "prettier --write \"$file_path\""
  }]
}

4. TypeScriptチェック

{
  "matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\.(ts|tsx)$\"",
  "description": "TypeScript check after editing",
  "hooks": [{
    "command": "npx tsc --noEmit --pretty false 2>&1 | grep \"$file_path\""
  }]
}

フックの種類

イベント タイミング 用途例
PreToolUse ツール実行前 危険な操作のブロック
PostToolUse ツール実行後 自動フォーマット、Lint
PreCompact コンパクション前 状態の保存
SessionStart セッション開始時 前回の状態復元
Stop セッション終了時 最終チェック、学習抽出

7. MCP Configs(MCPサーバー設定)

場所: mcp-configs/

概要

Model Context Protocol (MCP) サーバーの設定集です。外部サービスとの連携を可能にします。

利用可能なMCPサーバー

サーバー 用途
github GitHub操作(PR、Issue、リポジトリ)
firecrawl Webスクレイピング
supabase Supabaseデータベース操作
memory セッション間の永続メモリ
sequential-thinking Chain-of-thought推論
vercel Vercelデプロイ管理
railway Railwayデプロイ
cloudflare-* Cloudflare各種サービス
clickhouse ClickHouse分析クエリ
context7 ライブドキュメント検索
magic Magic UIコンポーネント
filesystem ファイルシステム操作

重要な注意点

コンテキストウィンドウ管理:
- 200kトークンが70kまで縮小する可能性あり
- 20-30個設定、10個以下を有効化
- 80ツール以下をアクティブに
- プロジェクトごとにdisabledMcpServersで無効化

8. Examples(設定例)

場所: examples/

CLAUDE.md(プロジェクトレベル設定)

プロジェクトルートに配置する設定ファイルです。

# Project Overview
[プロジェクト説明、技術スタック]

## Critical Rules
- Many small files over few large files
- Immutability always
- TDD: Write tests first
- No hardcoded secrets

## File Structure
src/
├── app/          # Next.js app router
├── components/   # Reusable UI
├── hooks/        # Custom React hooks
├── lib/          # Utilities
└── types/        # TypeScript definitions

## Available Commands
- /tdd - Test-driven development
- /plan - Implementation planning
- /code-review - Quality review

user-CLAUDE.md(ユーザーレベル設定)

~/.claude/CLAUDE.md に配置するグローバル設定です。

## Core Philosophy
1. Agent-First: 複雑な作業は専門エージェントに委譲
2. Parallel Execution: 可能な限り並列実行
3. Plan Before Execute: 複雑な操作は計画から
4. Test-Driven: テストを先に書く
5. Security-First: セキュリティに妥協しない

## Modular Rules
~/.claude/rules/ にある各ルールファイルを参照

## Available Agents
planner, architect, tdd-guide, code-reviewer,
security-reviewer, build-error-resolver, e2e-runner,
refactor-cleaner, doc-updater

statusline.json(ステータスライン設定)

カスタムステータスラインの設定です。

{
  "statusLine": {
    "type": "command",
    "command": "[シェルスクリプト]",
    "description": "user:path branch* ctx:% model time todos:N"
  }
}

表示例: affoon:~/projects/myapp main* ctx:73% sonnet-4.5 14:30 todos:3

表示項目:

  • ユーザー名とパス
  • Gitブランチ(*は未コミット変更あり)
  • 残りコンテキスト割合
  • 使用モデル
  • 現在時刻
  • 残りToDo数

9. Plugins(プラグイン)

場所: plugins/

概要

プラグインはClaude Codeの機能を拡張します。

推奨プラグイン

開発系:

  • typescript-lsp - TypeScript インテリジェンス
  • pyright-lsp - Python型チェック
  • hookify - フック作成支援

品質系:

  • code-review - コードレビュー
  • pr-review-toolkit - PR自動化
  • security-guidance - セキュリティチェック

検索系:

  • mgrep - 強化された検索
  • context7 - ライブドキュメント検索

設定ファイルの配置場所

ユーザーレベル(グローバル)

~/.claude/
├── CLAUDE.md              # グローバル設定
├── settings.json          # アプリ設定(hooksなど)
├── agents/                # エージェント定義
├── commands/              # コマンド定義
├── rules/                 # ルール定義
├── skills/                # スキル定義
└── plugins/               # プラグイン

プロジェクトレベル

your-project/
├── CLAUDE.md              # プロジェクト固有設定
├── .claude/               # プロジェクト固有設定ディレクトリ
│   └── settings.json      # プロジェクト設定
└── ...

ベストプラクティス

1. コンテキスト管理

  • MCPサーバーは必要最小限に
  • エージェントのツールを制限
  • 不要なルールは無効化

2. モジュール化

  • ルールは小さなファイルに分割
  • 再利用可能なスキルを作成
  • プロジェクト固有設定は分離

3. 段階的導入

  • まず基本的なルールから開始
  • 徐々にエージェントを追加
  • フックは必要に応じて設定

4. セキュリティ

  • APIキーは環境変数で管理
  • YOUR_*_HERE プレースホルダを実際の値に置換
  • センシティブな情報をコミットしない

まとめ

これらの用意された設定や構成を、あなたのプロジェクトの参考例として取り入れてください。
必要に応じてカスタマイズすれば、独自の開発環境を構成することができます。

参考リンク

Discussion