Claude Codeを使う前に最初にやること

Claude Codeを使う前に最初にやること

.claude は隠しフォルダ。まずはコピペで土台を作る

Claude Codeを使い始めると、最初に少し戸惑うのが .claude という名前です。

これは隠しフォルダです。
MacやLinuxでは、ファイル名やフォルダ名の先頭に . が付いているものは、通常の表示では見えにくくなります。

たとえば、こんなものがあります。

  • .git
  • .env
  • .vscode
  • .claude

つまり .claude は、何か特別な魔法のフォルダではありません。
Claude Code用の設定やルールを入れておく、管理用フォルダです。

ここに運用ルールを置いておくと、毎回こうした説明を繰り返さなくて済みます。

  • このプロジェクトの前提
  • よく使うコマンド
  • レビューの観点
  • セキュリティ上の注意
  • Claudeにどこまで許可するか

最初にここを整えておくだけで、Claude Codeの使いやすさはかなり変わります。


まずやるべきことは5つだけ

最初から全部を完璧に作る必要はありません。
まずは次の5つがあれば十分です。

  1. CLAUDE.md を作る
  2. .claude/settings.json を作る
  3. .claude/commands/review.md を作る
  4. .claude/skills/security-review/SKILL.md を作る
  5. .claude/agents/code-reviewer.md を作る

これで、毎回ゼロから説明する運用をかなり減らせます。


先に結論

これをそのままコピペで実行すればいい

ターミナルでプロジェクトのルートディレクトリに移動してから、以下をそのまま実行します。

mkdir -p .claude/commands .claude/skills/security-review .claude/agents

cat > CLAUDE.md <<'EOF'
# Project: your-project-name

## Commands
npm run dev
npm run test
npm run lint
npm run build

## Architecture
- Main app code lives in src/
- API routes live in src/app/api or equivalent
- Shared types live in src/types

## Conventions
- Use zod for validation
- Use logger instead of console.log
- Keep changes minimal and focused
- Prefer small diffs over broad rewrites

## Watch out for
- TypeScript strict mode may be enabled
- Unused imports may fail lint
- Check existing patterns before adding new ones
EOF

cat > .claude/settings.json <<'EOF'
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git status)",
      "Bash(git diff *)",
      "Read",
      "Write",
      "Edit"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  }
}
EOF

cat > .claude/commands/review.md <<'EOF'
---
description: カレントブランチの差分をレビューする
---

## 変更対象ファイル
!`git diff --name-only main...HEAD`

## 詳細なDiff
!`git diff main...HEAD`

以下の観点でレビューしてください:
1. コード品質
2. セキュリティ
3. テスト不足
4. パフォーマンス懸念
5. 不要に大きい変更がないか
EOF

cat > .claude/skills/security-review/SKILL.md <<'EOF'
# Security Review

## Purpose
Review the current changes from a security perspective.

## Checkpoints
- Secrets are not hardcoded
- .env values are not exposed
- Dangerous shell commands are not introduced
- Input validation exists where needed
- Authentication and authorization are not bypassed
- External requests are handled safely

## Output
Return:
1. Findings
2. Risk level
3. Recommended fixes
EOF

cat > .claude/agents/code-reviewer.md <<'EOF'
---
name: code-reviewer
description: Reviews code changes for quality, maintainability, and risk
tools: Read, Grep, Glob, Bash
---

You are a careful code reviewer.

Focus on:
- correctness
- readability
- maintainability
- small diff awareness
- consistency with existing code

Do not rewrite broadly when a minimal fix is enough.
EOF

これで何ができるのか

このコマンドを一度実行すると、次のような構成ができます。

.
├── CLAUDE.md
└── .claude
    ├── settings.json
    ├── commands
    │   └── review.md
    ├── skills
    │   └── security-review
    │       └── SKILL.md
    └── agents
        └── code-reviewer.md

つまり、Claude Codeに必要な最小限の土台が一気にできます。


それぞれの役割をざっくり説明すると

CLAUDE.md

ここはプロジェクトの前提を書く場所です。

毎回チャットで説明しがちな、

  • どうやって起動するか
  • テストは何を使うか
  • lint は何か
  • 実装ルールは何か
  • 禁止事項は何か

を、ここにまとめておきます。

Claude Codeを使ううえで、いちばん先に整えたいのがここです。


.claude/settings.json

ここはClaudeにどこまで許可するかを決める場所です。

便利さだけを優先すると、あとで怖くなります。
なので最初に、

  • 使っていいコマンド
  • 触ってほしくないもの
  • 読ませたくないファイル

を決めておくのが大事です。

今回の例では、

  • npm run *
  • git status
  • git diff *

は許可しつつ、

  • rm -rf *
  • curl *
  • .env の読み取り

は拒否しています。


.claude/commands/review.md

ここは毎回やる定型作業をまとめる場所です。

たとえばレビューは毎回かなり似た依頼になります。

  • 変更ファイルを見る
  • diff を読む
  • 問題点を探す
  • テスト不足を見る
  • 無駄に大きい変更がないか見る

これをコマンド化しておくと、毎回長く説明しなくて済みます。


.claude/skills/security-review/SKILL.md

ここは観点込みで見てほしいことをまとめる場所です。

たとえばセキュリティレビューなら、

  • 秘密情報が埋め込まれていないか
  • .env の内容が漏れていないか
  • 危険なコマンドが増えていないか
  • 入力検証が抜けていないか
  • 認証や認可が壊れていないか

という観点を先に定義しておけます。


.claude/agents/code-reviewer.md

ここは役割を分けるための定義です。

実装担当とレビュー担当を分けたいとき、
全部を1つの会話に押し込むより、役割を分けたほうが文脈が崩れにくくなります。


.claude が見えないときは?

.claude は隠しフォルダなので、見えなくても正常です。

ターミナルで確認するならこれで見えます。

ls -la

MacのFinderで隠しファイルを表示したいときは、次のショートカットです。

Command + Shift + .

もう一度押すと非表示に戻せます。


最初はどこまで作ればいいか

全部まとめて作ってもいいですが、まずはこの3つだけでもかなり違います。

  • CLAUDE.md
  • .claude/settings.json
  • .claude/commands/review.md

ここまであるだけで、
「毎回前提を説明する」時間がかなり減ります。


Claude Codeに最初に渡す一言

最初の一言も固定しておくとラクです。

このリポジトリでは、まず CLAUDE.md を読んで前提を理解してください。
その上で必要なら .claude 配下の commands / skills / agents を参照して、
最小差分で進めてください。最後は変更点だけ短く報告してください。

この一文があるだけで、余計な往復が減ります。

まとめ

.claude は、先頭にドットが付いた隠しフォルダです。
中身は特別なものではなく、Claude Codeの運用ルール置き場です。

最初にやるべきなのは、テクニックを増やすことではありません。
毎回説明しなくていい土台を作ることです。

そのために、まずはこの5つを作れば十分です。

  • CLAUDE.md
  • .claude/settings.json
  • .claude/commands/review.md
  • .claude/skills/security-review/SKILL.md
  • .claude/agents/code-reviewer.md

最初は難しく考えず、まずはコピペで土台を作る。
そこから必要に応じて育てていくのが、いちばん早いです。

attrip

attrip

考えたことを、記事・AI・音楽に変えて発信しています。

盆栽、音楽、ブログ運営、日々の試行錯誤について書いています。

2010年から発信中

コメントを残す