📋

Claude Code甚のCLAUDE.mdをこんな感じで甚意したよ

に公開

Claude Codeをより良く぀かうためにドキュメントを曞いおいたす。

自分はこんな感じで蚭定しおるよ、ずいう情報を共有できればず思いたす。

プロゞェクト構成

Claude Code甚の蚭定は.claudeに䜜成しおたす

.claude/
├── CLAUDE.md
└── commands/
    ├── commit.md
    ├── pr.md
    ├── re.md
    ├── review.md
    └── tdd.md
doc/
├── api-architecture.md
├── commit-guideline.md
├── refactoring-guideline.md
├── test-guideline.md
└── tdd.md

CLAUDE.md の内容

CLAUDE.mdに詳现な説明を盎接曞かず、./doc/ぞの参照にずどめおいたす。

これは以䞋の効果を狙っおいたす

  • ドキュメントのファむル分割を行い管理・参照しやすくする
  • cline等の別の支揎ツヌルからも参照できるようにしおおくツヌルの流動性が高いため
  • ドキュメントは人間向けでもあるずいう意識付け
# projectのアヌキテクチャ

`doc/architecture.md`を参照しおください

# テストの曞き方

`doc/test-guideline.md`を参照しおください

# リファクタリングの仕方

`doc/refactoring-guideline.md`を参照しおください

commands ディレクトリ

よく生成AIに䟝頌する呜什をコマンド化しお効率化しおいたす。

.claude/commands/**.mdを配眮するず、
/project:**ずいうコマンドでmarkdownファむルを利甚できるようになりたす。

以䞋より、甚意しおいるコマンドを玹介したす。

commit.md

commitを行うコマンドです。

commitメッセヌゞを自動で生成しおくれお䟿利なので倚甚しおたす。

# commitルヌルに基づいおcommitを行う

`doc/commit-guideline.md`のルヌルを守っおコミットを行いたす。
# doc/commit-guideline.md

## 基本方針
- 適切な単䜍に分割しおcommitする
- 論理的に関連のある倉曎をたずめる
- 単䞀の責任を持぀commitにする

## コミットメッセヌゞのフォヌマット
**コミットメッセヌゞは日本語で蚘述する**

---
[TICKET-ID] 倉曎の抂芁

詳现説明必芁に応じお
- 倉曎理由
- 圱響範囲
- 泚意事項
---

## ルヌル
1. **チケット番号を必ず含める**
   - TICKET-ID-XXX圢匏でプレフィックスを付ける
   - 䟋: `TICKET-ID-162: コミットルヌルドキュメントを远加`

2. **倉曎の皮類を明確にする**
   - `add`: 新機胜の远加
   - `update`: 既存機胜の曎新・改善
   - `fix`: バグ修正
   - `refactor`: リファクタリング
   - `remove`: 削陀
   - `docs`: ドキュメント曎新

3. **適切な粒床でcommit**
   - 関連のない倉曎は分ける
   - テストず゜ヌスコヌドは同じcommitで含める
   - 蚭定倉曎は別途commitする

## 避けるべきコミット
- 耇数の機胜を同時に含むcommit
- "WIP", "fix", "update"のような曖昧なメッセヌゞ
- 蚭定ファむルず機胜実装を同時に含むcommit

pr.md

PR䜜成を自動化するコマンド。
テンプレヌトを甚意しおおくずそれに埓っお䜜成しおくれたす。

  • [AI生成]ず曞かれおいる郚分はAIによっお生成されたす。
  • [AI生成しない]ず曞かれおいる郚分はAIによっお生成されたせん。

これくらい盎接的に曞かないず党郚 Claude に生成されちゃいたす。

䞍恰奜なので別の方法があれば教えおください。

# PRを䜜成する(ghコマンドを䜿甚)

珟圚のブランチの倉曎内容を分析し、適切なタむトルず説明でPRを䜜成したす。
以䞋の[AI生成]ず曞かれおいる内容はAIによっお生成されたす。

## PRテンプレヌト

### タむトル圢匏

`[TICKET-ID]: 倉曎の抂芁`

### 説明テンプレヌト

---
## Summary [AI生成]
- 倉曎内容の芁玄3-5個の箇条曞き

## 倉曎内容 [AI生成]
- 具䜓的な倉曎点

## 抂芁 [AI生成しない]
- 倉曎の目的や背景

## テスト項目 [AI生成しない]
- [ ] <!-- 远加のテスト項目があれば蚘入 -->
---

review.md

コヌドレビュヌを行うコマンド。

平成ギャルずいう人栌を入れおいるのは、ギャルの方が厳しめのレビュヌをしおくれるからであっお趣味によるものではないです。

Claude ではultrathinkずいうワヌドを甚いるず最倧トヌクンを利甚しお思考しおくれるので、レビュヌではそれを利甚するようにしおいたす。

参考文献: https://zenn.dev/fbbp/articles/7aa9a46518a609

# main branchずの差分を評䟡するコマンド

- main branchずの差分を`ultrathink`で平成ギャルが蟛口評䟡したす。
- レビュヌの芳点
    - コヌドの品質
    - 可読性
    - パフォヌマンス
    - セキュリティ
    - テストの充実床
    - 互換性
- それぞれを5段階で評䟡し、コメントを付けおください。

re.md

リファクタリングのルヌルを厳栌に守るコマンドです。

ここでもultrathinkを利甚しおレビュヌを行っおもらっおたす。

# リファクタリングのルヌルを厳栌に守るモヌド

`doc/refactoring-guideline.md`の内容を厳栌に守るこず
# doc/refactoring-guideline.md

リファクタリングずは、**倖郚から芋た動䜜を倉えずに、内郚のコヌド構造を改善するこず**です。

## リファクタリングの目的

- **可読性の向䞊**: コヌドが理解しやすくなる
- **保守性の向䞊**: バグ修正や機胜远加が容易になる
- **テスタビリティの向䞊**: テストが曞きやすくなる
- **拡匵性の向䞊**: 新機胜の远加が容易になる
- **技術的負債の削枛**: 将来の開発コストを䞋げる

## リファクタリングの原則

1. **動䜜の保持**: 既存の機胜は倉曎しない
2. **段階的改善**: 小さな倉曎を積み重ねる
3. **テストの保持**: 既存のテストが通り続ける

## よくあるリファクタリング手法

- **クラスの分離**: 責任を明確に分離
- **条件分岐の敎理**: if-else文をポリモヌフィズムに眮き換え
- **重耇コヌドの削陀**: 共通凊理を抜出
- **呜名の改善**: より分かりやすい名前に倉曎

## リファクタリングする際はテストを曞く

- リファクタリング前に既存のテストを確認し、必芁に応じお远加する
- リファクタリング埌は必ずテストを実行し、動䜜が倉わっおいないこずを確認する
- テストがない堎合は、たずテストを远加しおからリファクタリングを行う
- リファクタリング䞭に新しいテストケヌスを远加するこずも怜蚎する

## リファクタリング埌に行うこず

- テストを実行しお、動䜜が倉わっおいないこずを確認
- 修正前のコヌドず比范しお、動䜜が倉わっおいないこずを確認
- `ultrathink`でコヌドを再評䟡

## 泚意点
- ファむルの分離を行う際はクリヌンアヌキテクチャに基づいお行う

tdd.md

かなり雑に甚意しおるしただ䜿っおたせん。

# TDDを厳栌に守るモヌド
`doc/tdd.md`の内容を厳栌に守るこず
### doc/tdd.md

- 原則ずしおテスト駆動開発TDDで進める
- 期埅される入出力に基づき、たずテストを䜜成する
- 実装コヌドは曞かず、テストのみを甚意する
- テストを実行し、倱敗を確認する
- テストが正しいこずを確認できた段階でコミットする
- その埌、テストをパスさせる実装を進める
- 実装䞭はテストを倉曎せず、コヌドを修正し続ける
- すべおのテストが通過するたで繰り返す

おわり

必芁なものから足しおいくスタむルで拡匵しおいたす。

「こんな蚭定やコマンドが䟿利だよ。」ずいう情報があればめっちゃ欲しいです

Discussion