Files
everything-claude-code/docs/ja-JP/CONTRIBUTING.md
2026-02-12 16:56:29 +09:00

431 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Everything Claude Codeに貢献する
貢献いただきありがとうございますこのリポジトリはClaude Codeユーザーのためのコミュニティリソースです。
## 目次
- [探しているもの](#探しているもの)
- [クイックスタート](#クイックスタート)
- [スキルの貢献](#スキルの貢献)
- [エージェントの貢献](#エージェントの貢献)
- [フックの貢献](#フックの貢献)
- [コマンドの貢献](#コマンドの貢献)
- [プルリクエストプロセス](#プルリクエストプロセス)
---
## 探しているもの
### エージェント
特定のタスクをうまく処理できる新しいエージェント:
- 言語固有のレビュアーPython、Go、Rust
- フレームワークエキスパートDjango、Rails、Laravel、Spring
- DevOpsスペシャリストKubernetes、Terraform、CI/CD
- ドメインエキスパートMLパイプライン、データエンジニアリング、モバイル
### スキル
ワークフロー定義とドメイン知識:
- 言語のベストプラクティス
- フレームワークのパターン
- テスト戦略
- アーキテクチャガイド
### フック
有用な自動化:
- リンティング/フォーマッティングフック
- セキュリティチェック
- バリデーションフック
- 通知フック
### コマンド
有用なワークフローを呼び出すスラッシュコマンド:
- デプロイコマンド
- テストコマンド
- コード生成コマンド
---
## クイックスタート
```bash
# 1. Fork とクローン
gh repo fork affaan-m/everything-claude-code --clone
cd everything-claude-code
# 2. ブランチを作成
git checkout -b feat/my-contribution
# 3. 貢献を追加(以下のセクション参照)
# 4. ローカルでテスト
cp -r skills/my-skill ~/.claude/skills/ # スキルの場合
# その後、Claude Codeでテスト
# 5. PR を送信
git add . && git commit -m "feat: add my-skill" && git push
```
---
## スキルの貢献
スキルは、コンテキストに基づいてClaude Codeが読み込む知識モジュールです。
### ディレクトリ構造
```
skills/
└── your-skill-name/
└── SKILL.md
```
### SKILL.md テンプレート
```markdown
---
name: your-skill-name
description: スキルリストに表示される短い説明
---
# Your Skill Title
このスキルがカバーする内容の概要。
## Core Concepts
主要なパターンとガイドラインを説明します。
## Code Examples
\`\`\`typescript
// 実践的なテスト済みの例を含める
function example() {
// よくコメントされたコード
}
\`\`\`
## Best Practices
- 実行可能なガイドライン
- すべき事とすべきでない事
- 回避すべき一般的な落とし穴
## When to Use
このスキルが適用されるシナリオを説明します。
```
### スキルチェックリスト
- [ ] 1つのドメイン/テクノロジーに焦点を当てている
- [ ] 実践的なコード例を含む
- [ ] 500行以下
- [ ] 明確なセクションヘッダーを使用
- [ ] Claude Codeでテスト済み
### サンプルスキル
| スキル | 目的 |
|-------|---------|
| `coding-standards/` | TypeScript/JavaScriptパターン |
| `frontend-patterns/` | ReactとNext.jsのベストプラクティス |
| `backend-patterns/` | APIとデータベースのパターン |
| `security-review/` | セキュリティチェックリスト |
---
## エージェントの貢献
エージェントはTaskツールで呼び出される特殊なアシスタントです。
### ファイルの場所
```
agents/your-agent-name.md
```
### エージェントテンプレート
```markdown
---
name: your-agent-name
description: このエージェントが実行する操作と、Claude が呼び出すべき時期。具体的に!
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
model: sonnet
---
あなたは[役割]スペシャリストです。
## Your Role
- 主な責任
- 副次的な責任
- あなたが実行しないこと(境界)
## Workflow
### Step 1: Understand
タスクへのアプローチ方法。
### Step 2: Execute
作業をどのように実行するか。
### Step 3: Verify
結果をどのように検証するか。
## Output Format
ユーザーに返すもの。
## Examples
### Example: [Scenario]
Input: [ユーザーが提供するもの]
Action: [実行する操作]
Output: [返すもの]
```
### エージェントフィールド
| フィールド | 説明 | オプション |
|-------|-------------|---------|
| `name` | 小文字、ハイフン区切り | `code-reviewer` |
| `description` | 呼び出すかどうかを判断するために使用 | 具体的に! |
| `tools` | 必要なものだけ | `Read, Write, Edit, Bash, Grep, Glob, WebFetch, Task` |
| `model` | 複雑さレベル | `haiku`(シンプル)、`sonnet`(コーディング)、`opus`(複雑) |
### サンプルエージェント
| エージェント | 目的 |
|-------|---------|
| `tdd-guide.md` | テスト駆動開発 |
| `code-reviewer.md` | コードレビュー |
| `security-reviewer.md` | セキュリティスキャン |
| `build-error-resolver.md` | ビルドエラーの修正 |
---
## フックの貢献
フックはClaude Codeイベントによってトリガーされる自動的な動作です。
### ファイルの場所
```
hooks/hooks.json
```
### フックの種類
| 種類 | トリガー | ユースケース |
|------|---------|----------|
| `PreToolUse` | ツール実行前 | 検証、警告、ブロック |
| `PostToolUse` | ツール実行後 | フォーマット、チェック、通知 |
| `SessionStart` | セッション開始 | コンテキストの読み込み |
| `Stop` | セッション終了 | クリーンアップ、監査 |
### フックフォーマット
```json
{
"hooks": {
"PreToolUse": [
{
"matcher": "tool == \"Bash\" && tool_input.command matches \"rm -rf /\"",
"hooks": [
{
"type": "command",
"command": "echo '[Hook] BLOCKED: Dangerous command' && exit 1"
}
],
"description": "危険な rm コマンドをブロック"
}
]
}
}
```
### マッチャー構文
```javascript
// 特定のツールにマッチ
tool == "Bash"
tool == "Edit"
tool == "Write"
// 入力パターンにマッチ
tool_input.command matches "npm install"
tool_input.file_path matches "\\.tsx?$"
// 条件を組み合わせ
tool == "Bash" && tool_input.command matches "git push"
```
### フック例
```json
// tmux の外で開発サーバーをブロック
{
"matcher": "tool == \"Bash\" && tool_input.command matches \"npm run dev\"",
"hooks": [{"type": "command", "command": "echo 'Use tmux for dev servers' && exit 1"}],
"description": "開発サーバーが tmux で実行されることを確認"
}
// TypeScript 編集後に自動フォーマット
{
"matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\.tsx?$\"",
"hooks": [{"type": "command", "command": "npx prettier --write \"$file_path\""}],
"description": "編集後に TypeScript ファイルをフォーマット"
}
// git push 前に警告
{
"matcher": "tool == \"Bash\" && tool_input.command matches \"git push\"",
"hooks": [{"type": "command", "command": "echo '[Hook] Review changes before pushing'"}],
"description": "プッシュ前に変更をレビューするリマインダー"
}
```
### フックチェックリスト
- [ ] マッチャーが具体的(過度に広くない)
- [ ] 明確なエラー/情報メッセージを含む
- [ ] 正しい終了コードを使用(`exit 1`はブロック、`exit 0`は許可)
- [ ] 徹底的にテスト済み
- [ ] 説明を含む
---
## コマンドの貢献
コマンドは`/command-name`で呼び出されるユーザー起動アクションです。
### ファイルの場所
```
commands/your-command.md
```
### コマンドテンプレート
```markdown
---
description: /help に表示される短い説明
---
# Command Name
## Purpose
このコマンドが実行する操作。
## Usage
\`\`\`
/your-command [args]
\`\`\`
## Workflow
1. 最初のステップ
2. 2番目のステップ
3. 最終ステップ
## Output
ユーザーが受け取るもの。
```
### サンプルコマンド
| コマンド | 目的 |
|---------|---------|
| `commit.md` | gitコミットの作成 |
| `code-review.md` | コード変更のレビュー |
| `tdd.md` | TDDワークフロー |
| `e2e.md` | E2Eテスト |
---
## プルリクエストプロセス
### 1. PRタイトル形式
```
feat(skills): add rust-patterns skill
feat(agents): add api-designer agent
feat(hooks): add auto-format hook
fix(skills): update React patterns
docs: improve contributing guide
```
### 2. PR説明
```markdown
## Summary
何を追加しているのか、その理由。
## Type
- [ ] Skill
- [ ] Agent
- [ ] Hook
- [ ] Command
## Testing
これをどのようにテストしたか。
## Checklist
- [ ] フォーマットガイドに従う
- [ ] Claude Codeでテスト済み
- [ ] 機密情報なしAPIキー、パス
- [ ] 明確な説明
```
### 3. レビュープロセス
1. メンテナーが48時間以内にレビュー
2. リクエストされた場合はフィードバックに対応
3. 承認後、mainにマージ
---
## ガイドライン
### すべきこと
- 貢献は焦点を絞って、モジュラーに保つ
- 明確な説明を含める
- 提出前にテストする
- 既存のパターンに従う
- 依存関係を文書化する
### すべきでないこと
- 機密データを含めるAPIキー、トークン、パス
- 過度に複雑またはニッチな設定を追加する
- テストされていない貢献を提出する
- 既存機能の重複を作成する
---
## ファイル命名規則
- 小文字とハイフンを使用:`python-reviewer.md`
- 説明的に:`workflow.md`ではなく`tdd-workflow.md`
- 名前をファイル名に一致させる
---
## 質問がありますか?
- **Issues:** [github.com/affaan-m/everything-claude-code/issues](https://github.com/affaan-m/everything-claude-code/issues)
- **X/Twitter:** [@affaanmustafa](https://x.com/affaanmustafa)
---
貢献いただきありがとうございます。一緒に素晴らしいリソースを構築しましょう。