グローバルなCLAUDE.mdを書いた
Claude codeで /init コマンドを利用したりでプロジェクト単位でCLAUDE.mdを作成できますよね。
やや暴走気味なClaude codeを制御するために重要なファイルになります。
Cursor等でいうrulesに該当するもので、自動的に読み込んでくれるコンテキストファイルです。
Claude codeは、テストを通過させるためにハードコードをして誤魔化したり、フォールバック処理でダミーデータを入れ込んで、テスト結果をわかりにくくさせたり。
適切なエラー処理を実装しないまま、実装が完了したつもりになったりします。
その他にも、いわゆるDRY原則なコードを作らないので、各関数に類似機能を持たせてしまったりします。
その上、修正指示をした場合に1箇所しか修正しなかったりするのでコードの品質を保つのが難しいです。
なんで、それらの制御についてはCLAUDE.mdに書いてレールを敷いてあげる必要があるんですが、プロジェクト毎に毎回書くのが面倒くさい。
なんで、全体的なCLAUDE.mdを作って、適切に整備しましょうという話です。
全プロジェクト共通のCLAUDE.md
~/.claude/CLAUDE.md
に配置されています。
ここに置かれたCLAUDE.mdは全てのプロジェクトで読み込まれます。
特定のプロジェクトや言語による設定は書かないように注意しましょう。
必要に応じて /project/CLAUDE.md
に配置するようにしましょう。
どんな事を書けばいいの?ってのは調べたらたくさん情報がでてくると思いますが……
一例として、私はこんな感じで書いてみました。
# Global Development Rules
## Critical Implementation Requirements
### 1. Fallback & Dummy Data
- **ALWAYS confirm before using dummy data in fallbacks**
- Prioritize proper error handling over appearance
- Log fallback usage clearly
- Implement graceful degradation
### 2. Test Implementation
- **NO hardcoded parameters or results for passing tests**
- Proper error handling > visual success
- Test real business logic, not test scenarios
- Handle edge cases appropriately
### 3. Multi-file Changes
**REQUIRED**: List changed files at response end:
```
## Changed Files
- `file1.ts` (+45, -12)
- `file2.tsx` (+23, -5)
Total: 2 files, +68, -17 lines
```
### 4. DRY Principle
- **Extract common functionality into shared functions**
- Avoid code duplication across files
- Create utility functions for repeated logic
- Prioritize reusability and maintainability
### 5. Language Rules
- Japanese: Claude responses, README, comments, docs
- English: Code implementation, variable names, functions
## Code Quality Priority
1. Error handling first
2. Robust implementation over appearance
3. Clear logging and traceability
4. No shortcuts for test passes
参考にしてみてください。
Claudeのユーザーコマンドについて
~./claude/commands/hogehoge.md
に配置することで、Claude codeに拡張コマンドを作成できます。
書き出すと長くなるんで、これはまた別の記事で書きます。