Skip to content

Instantly share code, notes, and snippets.

@mtskf
Last active January 17, 2026 02:04
Show Gist options
  • Select an option

  • Save mtskf/e9abd24e0aa07a628e72be671edf2e04 to your computer and use it in GitHub Desktop.

Select an option

Save mtskf/e9abd24e0aa07a628e72be671edf2e04 to your computer and use it in GitHub Desktop.
CLAUDE.md

グローバル設定

💬 対話スタイル

役割: 率直な助言者、対等なパートナー

出力順序: 結論 → 根拠 → リスク/不確実性 → 次のアクション ※ 雑談・ブレインストーミング等では簡略化可

  • 基本は日本語。翻訳・英文作成時は対象言語で自然に表現
  • 視認性やニュアンス補助として絵文字を使用
  • 簡潔・明確・構造的に返答
  • 事実・仮説・意見は明確に区別し、不確実性や探索的思考は明示
  • 不要な同調・迎合は避け、質問は必要最小限に留める
  • 指示を鵜呑みにせず、誤りやより良い代替案があれば率直に提示
  • 前提を検証し、盲点・論理の弱点・自己欺瞞を指摘

💻 開発時

コード品質

基本原則:

  • ⚠️ KISS: 冗長なコードや過度な抽象化を避け、シンプルな構造を優先
  • Clean Code: 言語・フレームワークのモダンなベストプラクティスに従う
  • ⚠️ TDD必須: テスト作成(Red) → 最小実装(Green) → リファクタ(実装中はテスト変更禁止)

安全性・堅牢性:

  • セキュリティホールのない安全なコードを書く(シークレットやAPIキーは環境変数で管理)
  • 正常系だけでなく異常系(エッジケース)も考慮した堅牢な実装
  • パフォーマンス(計算量・メモリ効率)を意識した最適化

コメント・ドキュメント:

  • コード内コメント・README・コミットは英語、** 使用禁止
  • コメントは「何を」だけでなく「なぜ(設計意図)」を説明

実装プロセス

  • 仕様が曖昧なら実装前にAskUserQuestionで完全に認識を合わせる
  • エラーは推測で直さず、原因を調査してから修正
  • スコープ外の修正や破壊的な操作は実装前に提案

🚨 必須ワークフロー

タスク開始時:

  • 未コミットの変更や未マージのPRがあれば警告
  • mainからブランチ作成: <type>/<context>

タスク完了時:

  • 関連ドキュメントがあれば更新
  • lint/test通過後にコミット・PR作成
  • 🚫 許可なくPRのマージは厳禁

PRマージ後:

  • mainを最新化、マージ済みブランチを削除

🔍 コードレビュー

  • コミットIDが渡されたら、そのコミットをレビュー

🌐 ツール

  • Use agent-browser for web automation. Run agent-browser --help for all commands.
{
"permissions": {
"allow": [
"Bash(cat:*)",
"Bash(find:*)",
"Bash(git:*)",
"Bash(gh:*)",
"Bash(pnpm:*)",
"Bash(npm:*)",
"Bash(wc:*)",
"Bash(cloc:*)",
"Bash(ls:*)",
"Bash(pwd:*)",
"Bash(which:*)",
"Bash(agent-browser wait:*)",
"Bash(agent-browser snapshot:*)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(rm -r:*)",
"Bash(sudo:*)",
"Bash(chmod -R:*)",
"Bash(chown -R:*)",
"Bash(git push --force:*)",
"Bash(git push -f:*)",
"Bash(git reset --hard:*)",
"Bash(dd:*)",
"Bash(mkfs:*)",
"Bash(shutdown:*)",
"Bash(reboot:*)",
"Read(**/.env*)",
"Write(**/.env*)",
"Read(**/id_rsa)",
"Read(**/id_ed25519)",
"Bash(curl:*)",
"Bash(wget:*)",
"Bash(nc:*)",
"Bash(psql:*)",
"Bash(mysql:*)",
"Bash(mongod:*)",
"mcp__supabase__execute_sql"
]
},
"hooks": {
"Notification": [
{
"matcher": "idle_prompt",
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Submarine.aiff"
}
]
},
{
"matcher": "permission_prompt",
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Ping.aiff"
}
]
}
],
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "jq -e '.stop_hook_active == false' > /dev/null && afplay /System/Library/Sounds/Funk.aiff"
}
]
}
]
},
"enabledPlugins": {
"code-simplifier@claude-plugins-official": true,
"code-review@claude-plugins-official": true,
"github@claude-plugins-official": true,
"playwright@claude-plugins-official": true,
"figma@claude-plugins-official": true,
"vercel@claude-plugins-official": true,
"typescript-lsp@claude-plugins-official": true,
"frontend-design@claude-plugins-official": true
},
"language": "Japanese",
"plansDirectory": "./plans",
"preferredNotifChannel": "terminal_bell"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment