← ClaudeAtlas

coding-ruleslisted

プロジェクト共通のコーディング規約。TypeScript、命名規則、関数設計、React/Next.js等。 使用タイミング: (1) コードレビュー時 (2) 新規ファイル作成時 (3) リファクタリング時 (4) コーディングスタイルの確認時 (5) チーム開発のルール確認時。 トリガー例: 「コーディング規約」「命名規則は?」「TypeScriptのルール」 「インポート順序」「コミットメッセージの書き方」
kimny1143/claude-code-template · ★ 4 · Code & Development · score 58
Install: claude install-skill kimny1143/claude-code-template
# coding-rules - コーディング規約 プロジェクト共通のコーディングルール。 --- ## 1. TypeScript ### 型定義 ```typescript // ✅ 明示的な型定義 interface User { id: string; email: string; name: string; createdAt: Date; } // ✅ 型推論が明確な場合は省略OK const users = await repository.findAll(); // 戻り値の型は関数から推論 // ❌ any は使わない const data: any = response.json(); // ✅ unknown を使って安全に処理 const data: unknown = await response.json(); if (isUser(data)) { console.log(data.email); } ``` ### Null/Undefined ```typescript // ✅ Optional chaining const email = user?.profile?.email; // ✅ Nullish coalescing const name = user.name ?? 'Anonymous'; // ❌ 非推奨 const name = user.name || 'Anonymous'; // 空文字もfalsy ``` --- ## 2. インポート順序 ```typescript // 1. 外部ライブラリ import { useState } from 'react'; import { z } from 'zod'; // 2. 内部モジュール(エイリアス) import { db } from '@/db'; import { User } from '@/types'; // 3. 相対インポート import { helper } from './utils'; import styles from './styles.module.css'; ``` --- ## 3. 命名規則 | 種類 | 規則 | 例 | |------|------|-----| | 変数・関数 | camelCase | `getUserById`, `isActive` | | 定数 | UPPER_SNAKE_CASE | `MAX_RETRY_COUNT` | | クラス・型 | PascalCase | `UserService`, `CreateUserInput` | | ファイル | kebab-case | `user-service.ts` | | Reactコンポーネント | PascalCase | `UserCard.tsx` | | 環境変数 | UPPER_SNAKE_CASE | `DATABASE_URL` | ### Boolean命名 ```typescript // ✅ is/has/can/should プレフィックス const isActive = true; const hasPermission = user.role === 'admin'; const canEdit = isOwner || isAdmin; const shouldRefetch = isStale && !isLoa