ガイド一覧

コーディング規約の書き方

CLAUDE.mdにコーディング規約を書く際の最大のポイントは、Linterで強制できるものは書かないことです。ESLintやPrettierで設定済みのルールを重複して書くとメンテナンスコストが増え、矛盾の原因になります。

書くべきもの — Linterでカバーできないルール

## コーディング規約

### 命名規則
- コンポーネント名はPascalCase、ファイル名はkebab-case
- カスタムフックは \`use\` プレフィックス必須
- 定数は UPPER_SNAKE_CASE(ただしReactコンポーネント内のローカル定数は除く)
- Boolean変数は \`is\`, \`has\`, \`should\` で始める

### インポート順序
1. Node.js組み込みモジュール
2. 外部ライブラリ
3. 内部モジュール(\`@/\` エイリアス)
4. 相対パスインポート
5. 型インポート(\`type\` キーワード付き)

### 設計方針
- Props型は \`interface\` で定義(\`type\` より優先)
- \`"use client"\` は必要な場合のみ付与
- エラーハンドリングは error.tsx で統一

悪い例 — Linterと重複するルール

## コーディング規約

<!-- これらはESLint/Prettierに任せるべき -->
- インデントはスペース2つ
- セミコロンは省略しない
- 文字列はシングルクォートで統一
- 1行の最大文字数は100文字

判断基準

書く場所 内容
CLAUDE.md 命名規則、設計方針、アーキテクチャ上の制約
ESLint/Prettier フォーマット、構文ルール、import整理
TypeScript設定 strict mode、パスエイリアス

CLAUDE.mdには**「なぜそうするか」の意図が必要なルール**を書きます。Linterは機械的に強制できるルールを担当します。この棲み分けを意識すると、CLAUDE.mdがスリムになり、本当に重要なルールが埋もれません。

関連テンプレート

検索

ガイドやテンプレートを検索...