setup-dev-environment
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSetup Dev Environment for AI Studio Projects
AI Studio项目开发环境搭建
Overview
概述
analyze-and-document.claude/前提: CLAUDE.md が存在すること。存在しない場合は先に を実行する。
analyze-and-document这是生成CLAUDE.md之后的下一步操作。将rules、skills、settings批量安装到项目的.claude/目录中,完成Claude Code的开发环境配置。
analyze-and-document前提条件:项目中已存在CLAUDE.md。若不存在,请先执行。
analyze-and-documentWhen to Use
使用场景
- 完了直後
analyze-and-document - AI Studio プロジェクトに ディレクトリがない
.claude/ - User says "開発環境セットアップして", "setup dev environment", ".claude設定して"
- User says "ルールとスキル入れて", "install project rules"
When NOT to use:
- CLAUDE.md がまだ存在しない → 先に
analyze-and-document - 既に が整備されている → 必要な部分だけ手動更新
.claude/
- 刚完成执行后
analyze-and-document - AI Studio项目中没有.claude/目录
- 用户提出“搭建开发环境”“setup dev environment”“配置.claude”等需求
- 用户提出“安装规则和技能”“install project rules”等需求
不适用场景:
- 尚未生成CLAUDE.md → 请先执行
analyze-and-document - .claude/目录已配置完成 → 仅手动更新需要修改的部分
Execution Flow
执行流程
Phase 1: 必須インストール(自動)
阶段1:必装组件(自动安装)
以下は常にインストールする:
- — セキュリティ、Firebase、コーディングルール
.claude/rules/ - — プロジェクト内ワークフロー
.claude/skills/ - — パーミッション設定
.claude/settings.json - — API Key コミット防止 hook
.claude/hooks/prevent-api-key-commit.sh
以下组件会自动安装:
- — 安全、Firebase、编码规则
.claude/rules/ - — 项目内工作流
.claude/skills/ - — 权限设置
.claude/settings.json - — 防止API Key提交的钩子
.claude/hooks/prevent-api-key-commit.sh
Phase 2: オプション選択
阶段2:可选组件选择
以下をユーザーに提示し、必要なものを選択:
| Option | 内容 | 推奨 |
|---|---|---|
| Agents | コードレビュー、セキュリティ監査の専用エージェント | 中〜大規模プロジェクト |
| Hooks (追加) | フォーマッター自動実行 | prettier / biome 使用時 |
| MCP | Firebase Emulator 連携 | Firestore 使用時 |
向用户展示以下选项,按需选择安装:
| 选项 | 内容 | 推荐场景 |
|---|---|---|
| Agents | 代码审查、安全审计专用Agent | 中~大规模项目 |
| Hooks(追加) | 格式化工具自动执行 | 使用prettier/biome时 |
| MCP | Firebase模拟器联动 | 使用Firestore时 |
Phase 3: ファイル生成
阶段3:文件生成
Phase 1: 必須インストール
阶段1:必装组件
1.1 Rules(.claude/rules/
)
.claude/rules/1.1 规则(.claude/rules/
)
.claude/rules/.claude/rules/security.md
.claude/rules/security.md.claude/rules/security.md
.claude/rules/security.mdmarkdown
---
description: Security rules for AI Studio projects — applies to all files
---markdown
---
description: Security rules for AI Studio projects — applies to all files
---Security Rules
安全规则
API Key の取り扱い
API Key管理
- の
firebase-applet-config.jsonフィールドにハードコードされた値をコミットしてはいけないapiKey - API Key は必ず環境変数経由で注入する()
process.env.FIREBASE_API_KEY - Gemini API Key () をソースコードに直接書いてはいけない
GEMINI_API_KEY - ファイルをコミットしてはいけない
.env
- 禁止将中
firebase-applet-config.json字段的硬编码值提交到版本库apiKey - API Key必须通过环境变量注入()
process.env.FIREBASE_API_KEY - 禁止在源代码中直接写入Gemini API Key()
GEMINI_API_KEY - 禁止提交文件
.env
Secret の検出
敏感信息检测
以下のパターンがコードに含まれていたら警告する:
- で始まる文字列(Firebase/Google API Key)
AIzaSy - で始まる文字列(OpenAI 等の API Key)
sk- - ファイルの追加
service-account*.json
若代码中包含以下模式,需发出警告:
- 以开头的字符串(Firebase/Google API Key)
AIzaSy - 以开头的字符串(OpenAI等的API Key)
sk- - 添加文件
service-account*.json
環境変数
环境变量规范
- 新しい環境変数を追加したら も更新する
.env.example - Secret Manager に格納すべき値を平文の環境変数にしない
undefined- 添加新环境变量后,需同步更新
.env.example - 应存储到Secret Manager的敏感值,禁止以明文形式写入环境变量
undefined.claude/rules/firebase.md
.claude/rules/firebase.md.claude/rules/firebase.md
.claude/rules/firebase.mdmarkdown
---
description: Firebase and Firestore conventions for AI Studio projects
paths:
- "**/*.ts"
- "**/*.tsx"
- "**/*.js"
- "firestore.rules"
- "firebase-blueprint.json"
---markdown
---
description: Firebase and Firestore conventions for AI Studio projects
paths:
- "**/*.ts"
- "**/*.tsx"
- "**/*.js"
- "firestore.rules"
- "firebase-blueprint.json"
---Firebase / Firestore Rules
Firebase / Firestore规则
Firestore クエリ
Firestore查询
- 複合クエリ(+
where、where+where)を追加したらorderByにインデックスを追加するfirestore.indexes.json - リスナーは必ずクリーンアップする(useEffect の return で unsubscribe)
onSnapshot - コレクション名は に定義されたものを使う
firebase-blueprint.json
- 添加复合查询(+
where、where+where)后,需在orderBy中添加对应索引firestore.indexes.json - 监听器必须进行清理(在useEffect的return中执行unsubscribe)
onSnapshot - 集合名称必须使用中定义的名称
firebase-blueprint.json
Firebase Auth
Firebase认证
- 認証状態の変更は で監視する
onAuthStateChanged - サーバーサイドでの認証は Bearer token パターンを使う()
user_configs.apiSecret - 新しい認証プロバイダーを追加したら Firebase Console の承認済みドメインも更新する
- 需通过监听认证状态变化
onAuthStateChanged - 服务端认证需使用Bearer token模式()
user_configs.apiSecret - 添加新的认证提供商后,需同步更新Firebase控制台中的已授权域名
Security Rules
安全规则
- を変更したらデプロイパイプラインでも反映されることを確認する
firestore.rules - ,
isOwner()等のヘルパー関数パターンを維持するisBackend() - テスト用にルールを緩めてはいけない(は禁止)
allow read, write: if true
undefined- 修改后,需确认部署流水线已同步更新规则
firestore.rules - 需维持、
isOwner()等辅助函数的使用模式isBackend() - 禁止为测试目的放宽规则(禁止使用)
allow read, write: if true
undefined.claude/rules/coding-standards.md
.claude/rules/coding-standards.md.claude/rules/coding-standards.md
.claude/rules/coding-standards.mdCLAUDE.md の内容から検出したプロジェクトの技術スタックに合わせて生成する。以下はテンプレート:
markdown
---
description: Coding standards derived from the project's existing patterns
---根据CLAUDE.md中检测到的项目技术栈生成。以下为模板示例:
markdown
---
description: Coding standards derived from the project's existing patterns
---Coding Standards
编码规范
一般
通用规则
- 既存のコードスタイルに従う(インデント、命名規則、ファイル構成)
- 型定義を省略しない(TypeScript プロジェクトの場合)
- 型を使わない
any
- 遵循现有代码风格(缩进、命名规则、文件结构)
- 禁止省略类型定义(TypeScript项目)
- 禁止使用类型
any
コンポーネント
组件规范
- UI コンポーネントは に配置
src/components/ - ユーティリティ関数は に配置
src/lib/ - 新しいコンポーネントは既存の UI ライブラリ(プロジェクト内の components/ui/)を使う
- UI组件需放置在目录
src/components/ - 工具函数需放置在目录
src/lib/ - 新增组件需使用项目内已有的UI库()
components/ui/
エラーハンドリング
错误处理
- API 呼び出しは try-catch で囲む
- ユーザー向けのエラーメッセージと開発者向けのログを分離する
- Firestore 操作のエラーは具体的な例外型でキャッチする
**注意:** `coding-standards.md` の内容は CLAUDE.md から検出した技術スタックに合わせてカスタマイズする。上記は Node.js + TypeScript + React の例。- API调用需用try-catch包裹
- 需区分面向用户的错误提示和面向开发者的日志
- Firestore操作的错误需用具体的异常类型捕获
**注意**:`coding-standards.md`的内容会根据CLAUDE.md中检测到的技术栈进行定制。上述示例适用于Node.js + TypeScript + React项目。1.2 Skills(.claude/skills/
)
.claude/skills/1.2 技能(.claude/skills/
)
.claude/skills/.claude/skills/dev-server/SKILL.md
.claude/skills/dev-server/SKILL.md.claude/skills/dev-server/SKILL.md
.claude/skills/dev-server/SKILL.mdCLAUDE.md の「開発コマンド」セクションから生成する:
yaml
---
name: dev-server
description: Use when user wants to start, restart, or check the local development server
---markdown
undefined根据CLAUDE.md的“开发命令”部分生成:
yaml
---
name: dev-server
description: Use when user wants to start, restart, or check the local development server
---markdown
undefinedDev Server
开发服务器
Start
启动
CLAUDE.md の開発コマンドセクションに記載されたコマンドを実行する。
一般的なパターン:
- 依存パッケージが最新か確認(の変更を検出)
package-lock.json - または
.envが存在するか確認.env.local - 開発サーバーを起動
执行CLAUDE.md开发命令部分中记录的命令。
通用流程:
- 检查依赖包是否为最新版本(检测的变更)
package-lock.json - 确认或
.env文件存在.env.local - 启动开发服务器
Troubleshooting
故障排查
- ポートが使用中の場合: で確認し、ユーザーに報告
lsof -i :PORT - 依存パッケージエラーの場合:
rm -rf node_modules && npm install - 環境変数が不足している場合: と比較して不足を報告
.env.example
undefined- 端口被占用:使用确认占用进程,并告知用户
lsof -i :PORT - 依赖包错误:执行
rm -rf node_modules && npm install - 环境变量缺失:与对比,告知用户缺失项
.env.example
undefined.claude/skills/firestore-ops/SKILL.md
.claude/skills/firestore-ops/SKILL.md.claude/skills/firestore-ops/SKILL.md
.claude/skills/firestore-ops/SKILL.mdFirestore を使用するプロジェクトでのみ生成:
yaml
---
name: firestore-ops
description: Use when user wants to query, inspect, or modify Firestore data locally or manage security rules and indexes
---markdown
undefined仅在使用Firestore的项目中生成:
yaml
---
name: firestore-ops
description: Use when user wants to query, inspect, or modify Firestore data locally or manage security rules and indexes
---markdown
undefinedFirestore Operations
Firestore操作
Security Rules の更新
安全规则更新
- を編集
firestore.rules - 変更内容がアクセス制御マトリクス(CLAUDE.md 参照)と整合するか確認
- ルールのデプロイ:
firebase deploy --only firestore:rules
- 编辑
firestore.rules - 确认变更内容与访问控制矩阵(参考CLAUDE.md)一致
- 部署规则:
firebase deploy --only firestore:rules
インデックスの管理
索引管理
- 新しい複合クエリを追加した場合、を更新
firestore.indexes.json - デプロイ:
firebase deploy --only firestore:indexes - Firestore エミュレータで動作確認
- 添加新复合查询后,更新
firestore.indexes.json - 部署索引:
firebase deploy --only firestore:indexes - 在Firestore模拟器中验证功能
データの確認
数据查看
Firebase Emulator が稼働している場合:
- Emulator UI: http://localhost:4000
- REST API:
curl http://localhost:8080/v1/projects/PROJECT_ID/databases/DB_ID/documents/COLLECTION
undefined当Firebase模拟器运行时:
- 模拟器UI:http://localhost:4000
- REST API:
curl http://localhost:8080/v1/projects/PROJECT_ID/databases/DB_ID/documents/COLLECTION
undefined1.3 Hook — API Key コミット防止(.claude/hooks/prevent-api-key-commit.sh
)
.claude/hooks/prevent-api-key-commit.sh1.3 钩子 — 防止API Key提交(.claude/hooks/prevent-api-key-commit.sh
)
.claude/hooks/prevent-api-key-commit.shEdit / Write 時に API Key のハードコードをブロックする。これは必須で常にインストールする。
bash
#!/bin/bash在编辑/写入操作时阻止API Key硬编码。此为必装组件,会自动安装。
bash
#!/bin/bashPrevent committing hardcoded API keys
Prevent committing hardcoded API keys
Called as a PreToolUse hook on Edit/Write tools
Called as a PreToolUse hook on Edit/Write tools
INPUT=$(cat)
CONTENT=$(echo "$INPUT" | jq -r '.tool_input.content // .tool_input.new_string // empty')
INPUT=$(cat)
CONTENT=$(echo "$INPUT" | jq -r '.tool_input.content // .tool_input.new_string // empty')
Check for API key patterns in content being written
Check for API key patterns in content being written
if echo "$CONTENT" | grep -qE 'AIzaSy[a-zA-Z0-9_-]{33}'; then
echo '{"decision": "block", "reason": "Firebase/Google API Key がハードコードされています。環境変数を使用してください。"}'
exit 0
fi
if echo "$CONTENT" | grep -qE '"apiKey"\s*:\s*"AIzaSy'; then
echo '{"decision": "block", "reason": "firebase-applet-config.json に平文の apiKey を書き込もうとしています。環境変数 FIREBASE_API_KEY を使用してください。"}'
exit 0
fi
exit 0
生成後に `chmod +x .claude/hooks/prevent-api-key-commit.sh` を実行する。if echo "$CONTENT" | grep -qE 'AIzaSy[a-zA-Z0-9_-]{33}'; then
echo '{"decision": "block", "reason": "Firebase/Google API Key がハードコードされています。環境変数を使用してください。"}'
exit 0
fi
if echo "$CONTENT" | grep -qE '"apiKey"\s*:\s*"AIzaSy'; then
echo '{"decision": "block", "reason": "firebase-applet-config.json に平文の apiKey を書き込もうとしています。環境変数 FIREBASE_API_KEY を使用してください。"}'
exit 0
fi
exit 0
生成后需执行`chmod +x .claude/hooks/prevent-api-key-commit.sh`赋予执行权限。1.4 Settings(.claude/settings.json
)
.claude/settings.json1.4 设置(.claude/settings.json
)
.claude/settings.jsonpermissions と API Key 防止 hook を含む:
json
{
"permissions": {
"allow": [
"Read(**)",
"Edit(**)",
"Write(**)",
"Glob(**)",
"Grep(**)",
"Bash(npm run *)",
"Bash(npm install *)",
"Bash(npm test *)",
"Bash(npx *)",
"Bash(firebase emulators:*)",
"Bash(firebase deploy *)",
"Bash(gcloud run *)",
"Bash(git *)"
],
"deny": [
"Bash(rm -rf /)",
"Bash(git push --force *)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/prevent-api-key-commit.sh"
}
]
}
]
}
}注意: settings.json の内容はプロジェクトで使用するツールチェーンに合わせてカスタマイズする。Python プロジェクトなら , 等を追加。
pippytest包含权限配置和API Key防止钩子:
json
{
"permissions": {
"allow": [
"Read(**)",
"Edit(**)",
"Write(**)",
"Glob(**)",
"Grep(**)",
"Bash(npm run *)",
"Bash(npm install *)",
"Bash(npm test *)",
"Bash(npx *)",
"Bash(firebase emulators:*)",
"Bash(firebase deploy *)",
"Bash(gcloud run *)",
"Bash(git *)"
],
"deny": [
"Bash(rm -rf /)",
"Bash(git push --force *)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/prevent-api-key-commit.sh"
}
]
}
]
}
}注意:settings.json的内容会根据项目使用的工具链进行定制。若为Python项目,需添加、等命令权限。
pippytestPhase 2: オプション選択
阶段2:可选组件选择
Phase 1 の生成が完了したら、以下を提示:
=== 必須インストール完了 ===
✓ .claude/rules/security.md
✓ .claude/rules/firebase.md
✓ .claude/rules/coding-standards.md
✓ .claude/skills/dev-server/SKILL.md
✓ .claude/skills/firestore-ops/SKILL.md
✓ .claude/hooks/prevent-api-key-commit.sh
✓ .claude/settings.json (permissions + API Key 防止 hook)
=== 追加オプション ===
以下を追加でインストールしますか?(複数選択可)
[A] Agents — コードレビュー + セキュリティ監査エージェント
.claude/agents/code-reviewer/AGENT.md
.claude/agents/security-auditor/AGENT.md
[B] Hooks (追加) — フォーマッター自動実行
settings.json に PostToolUse hook 追加 (prettier / biome)
[C] MCP — Firebase Emulator 連携
.mcp.json
[N] なし — 必須構成のみで進める
選択してください (例: A,B / AB / N):完成阶段1的生成后,向用户展示以下提示:
=== 必装组件安装完成 ===
✓ .claude/rules/security.md
✓ .claude/rules/firebase.md
✓ .claude/rules/coding-standards.md
✓ .claude/skills/dev-server/SKILL.md
✓ .claude/skills/firestore-ops/SKILL.md
✓ .claude/hooks/prevent-api-key-commit.sh
✓ .claude/settings.json (权限配置 + API Key防止钩子)
=== 可选组件 ===
是否需要额外安装以下组件?(可多选)
[A] Agents — 代码审查 + 安全审计Agent
.claude/agents/code-reviewer/AGENT.md
.claude/agents/security-auditor/AGENT.md
[B] Hooks(追加) — 格式化工具自动执行
在settings.json中添加PostToolUse钩子(prettier / biome)
[C] MCP — Firebase模拟器联动
.mcp.json
[N] 无需安装 — 仅使用必装配置
请选择(示例:A,B / AB / N):Option A: Agents
选项A:Agents
.claude/agents/code-reviewer/AGENT.md
.claude/agents/code-reviewer/AGENT.md.claude/agents/code-reviewer/AGENT.md
.claude/agents/code-reviewer/AGENT.mdyaml
---
name: code-reviewer
description: Reviews code changes for quality, security, and consistency with project conventions
model: sonnet
---markdown
undefinedyaml
---
name: code-reviewer
description: Reviews code changes for quality, security, and consistency with project conventions
model: sonnet
---markdown
undefinedCode Reviewer
代码审查Agent
プロジェクトの CLAUDE.md と .claude/rules/ に基づいてコードレビューを行う。
基于项目的CLAUDE.md和.claude/rules/进行代码审查。
レビュー観点
审查维度
- セキュリティ — API Key のハードコード、firebase-applet-config.json の apiKey 漏洩、認証バイパス
- Firestore — Security Rules との整合性、複合インデックスの追加漏れ、リスナーのクリーンアップ
- 型安全性 — any の使用、型定義の欠如
- エラーハンドリング — 未処理の Promise、Firestore 操作のエラーハンドリング
- 安全性 — API Key硬编码、firebase-applet-config.json的apiKey泄露、认证绕过
- Firestore规范 — 与安全规则的一致性、复合索引遗漏、监听器未清理
- 类型安全性 — 使用any类型、缺失类型定义
- 错误处理 — 未处理的Promise、Firestore操作错误未捕获
出力フォーマット
输出格式
| ファイル | 行 | 重要度 | 指摘内容 |
|---|
重要度: Critical / Warning / Info
undefined| 文件 | 行号 | 重要度 | 问题描述 |
|---|
重要度:Critical / Warning / Info
undefined.claude/agents/security-auditor/AGENT.md
.claude/agents/security-auditor/AGENT.md.claude/agents/security-auditor/AGENT.md
.claude/agents/security-auditor/AGENT.mdyaml
---
name: security-auditor
description: Audits the project for security issues specific to AI Studio and Firebase applications
model: sonnet
---markdown
undefinedyaml
---
name: security-auditor
description: Audits the project for security issues specific to AI Studio and Firebase applications
model: sonnet
---markdown
undefinedSecurity Auditor
安全审计Agent
AI Studio プロジェクト特有のセキュリティリスクを監査する。
针对AI Studio项目特有的安全风险进行审计。
チェック項目
检查项
-
firebase-applet-config.json
- apiKey がプレースホルダーになっているか
- git history に平文の apiKey が残っていないか
-
環境変数
- GEMINI_API_KEY がコードにハードコードされていないか
- .env がコミットされていないか
- .env.example が最新か
-
Firestore Security Rules
- が存在しないか
allow read, write: if true - 認証チェック(isAuthenticated, isOwner)が適切か
- バックエンドアクセスのスコープが最小限か
-
依存パッケージ
- 既知の脆弱性がないか(npm audit)
- 不要な依存がないか
-
firebase-applet-config.json
- apiKey是否为占位符
- git历史中是否残留明文apiKey
-
环境变量
- GEMINI_API_KEY是否被硬编码到代码中
- .env文件是否被提交到版本库
- .env.example是否为最新版本
-
Firestore安全规则
- 是否存在规则
allow read, write: if true - 认证检查(isAuthenticated, isOwner)是否合理
- 后端访问范围是否最小化
- 是否存在
-
依赖包
- 是否存在已知漏洞(npm audit)
- 是否存在不必要的依赖
出力
输出
各項目について PASS / FAIL / WARNING を報告し、FAIL の場合は修正手順を提示する。
---对每个检查项报告PASS / FAIL / WARNING状态,若为FAIL则提供修正步骤。
---Option B: Hooks (追加) — フォーマッター自動実行
选项B:Hooks(追加)— 格式化工具自动执行
Note: API Key コミット防止 hook は Phase 1 で必須インストール済み。このオプションはフォーマッターの自動実行を追加する。
プロジェクトに または が含まれている場合、settings.json の hooks に PostToolUse を追加:
prettierbiomejson
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $CLAUDE_FILE_PATH 2>/dev/null || true"
}
]
}
]
}
}biomenpx @biomejs/biome format --write $CLAUDE_FILE_PATH注意:API Key防止钩子已在阶段1中必装。此选项用于添加格式化工具自动执行功能。
若项目中使用或,需在settings.json的hooks中添加PostToolUse钩子:
prettierbiomejson
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $CLAUDE_FILE_PATH 2>/dev/null || true"
}
]
}
]
}
}若使用,需将命令替换为。
biomenpx @biomejs/biome format --write $CLAUDE_FILE_PATHOption C: MCP
选项C:MCP
.mcp.json
.mcp.json.mcp.json
.mcp.jsonFirestore を使用するプロジェクトで Firebase Emulator 連携を設定:
json
{
"mcpServers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools", "emulators:exec", "--only", "firestore", "--"],
"env": {
"GOOGLE_CLOUD_PROJECT": "${GOOGLE_CLOUD_PROJECT}",
"FIRESTORE_EMULATOR_HOST": "localhost:8080"
}
}
}
}注意: MCP の設定はプロジェクトの実際の構成に合わせて調整する。上記は Firestore Emulator の例。
为使用Firestore的项目配置Firebase模拟器联动:
json
{
"mcpServers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools", "emulators:exec", "--only", "firestore", "--"],
"env": {
"GOOGLE_CLOUD_PROJECT": "${GOOGLE_CLOUD_PROJECT}",
"FIRESTORE_EMULATOR_HOST": "localhost:8080"
}
}
}
}注意:MCP配置需根据项目实际结构调整。上述示例适用于Firestore模拟器。
Phase 3: ファイル生成
阶段3:文件生成
選択に基づいてファイルを生成する。生成時の注意:
- CLAUDE.md を読み込む — プロジェクト固有の技術スタック、コマンド、データモデルを反映する
- 既存の を確認 — 既にファイルがある場合は上書きせず、マージするか確認する
.claude/ - settings.json はマージ — 既存の permissions に追加する形で設定する
- hook スクリプトに実行権限を付与 —
chmod +x .claude/hooks/*.sh - の確認 —
.gitignoreが含まれていることを確認.claude/settings.local.json
根据用户选择生成对应文件。生成时需注意:
- 读取CLAUDE.md — 反映项目特有的技术栈、命令、数据模型
- 检查现有.claude/目录 — 若文件已存在,需询问用户是否覆盖或合并
- 合并settings.json — 在原有permissions基础上追加新配置
- 赋予钩子脚本执行权限 — 执行
chmod +x .claude/hooks/*.sh - 检查.gitignore — 确认已被包含在忽略列表中
.claude/settings.local.json
生成完了後の出力
生成完成后输出
=== Dev Environment Setup Complete ===
必須(常にインストール):
✓ .claude/rules/security.md
✓ .claude/rules/firebase.md
✓ .claude/rules/coding-standards.md
✓ .claude/skills/dev-server/SKILL.md
✓ .claude/skills/firestore-ops/SKILL.md
✓ .claude/hooks/prevent-api-key-commit.sh
✓ .claude/settings.json (permissions + API Key 防止 hook)
オプション(選択した場合のみ):
✓ .claude/agents/code-reviewer/AGENT.md [A]
✓ .claude/agents/security-auditor/AGENT.md [A]
✓ settings.json に formatter hook 追加 [B]
✓ .mcp.json [C]
次のステップ:
1. 生成されたファイルを確認し、プロジェクトに合わせて調整
2. git add .claude/ && git commit -m "Add Claude Code dev environment"
3. .claude/settings.local.json に個人設定を追加(gitignore 済み)
4. チームメンバーに .claude/ の使い方を共有=== 开发环境搭建完成 ===
必装组件(已全部安装):
✓ .claude/rules/security.md
✓ .claude/rules/firebase.md
✓ .claude/rules/coding-standards.md
✓ .claude/skills/dev-server/SKILL.md
✓ .claude/skills/firestore-ops/SKILL.md
✓ .claude/hooks/prevent-api-key-commit.sh
✓ .claude/settings.json (权限配置 + API Key防止钩子)
可选组件(仅安装所选内容):
✓ .claude/agents/code-reviewer/AGENT.md [A]
✓ .claude/agents/security-auditor/AGENT.md [A]
✓ settings.json中添加格式化钩子 [B]
✓ .mcp.json [C]
后续步骤:
1. 检查生成的文件,根据项目需求进行调整
2. 执行git add .claude/ && git commit -m "Add Claude Code dev environment"
3. 在.claude/settings.local.json中添加个人配置(已加入git忽略)
4. 向团队成员共享.claude/目录的使用方法Common Mistakes
常见错误
- CLAUDE.md なしで実行する — analyze-and-document を先に実行すること。CLAUDE.md の情報が rules と skills のカスタマイズに必要
- settings.json に過剰なパーミッション — のようなワイルドカードは避ける。必要なコマンドだけ許可する
Bash(*) - hook スクリプトの実行権限忘れ — しないと hook が動かない
chmod +x - settings.local.json をコミットする — に含まれていることを確認
.gitignore - 全オプションを入れすぎる — 小規模プロジェクトに Agents や MCP は不要な場合が多い。必要になったら追加する
- 未生成CLAUDE.md就执行 — 需先执行analyze-and-document。CLAUDE.md中的信息是定制rules和skills的必要依据
- settings.json权限过度开放 — 避免使用这类通配符,仅允许必要的命令
Bash(*) - 忘记赋予钩子脚本执行权限 — 未执行会导致钩子无法正常工作
chmod +x - 提交settings.local.json — 需确认该文件已被包含在.gitignore中
- 过度安装可选组件 — 小规模项目通常不需要Agents或MCP,可在需要时再添加