AI支援ツール(Cursor、Claude Code、Gemini CLI)の設定を dotfiles に集約し、複数プロジェクトを並行開発する際の運用を整理した。
設計方針
グローバル(dotfiles) と プロジェクト固有 を明確に分離する。
| 層 | 置き場所 | 内容 |
|---|---|---|
| グローバル | dotfiles | 共通エージェント、コマンド、開発プロセス |
| プロジェクト固有 | 各リポジトリ | AGENTS.md、.claude/skills/、.cursor/rules/ |
dotfilesの構成
dotfiles/home/
├── .claude/
│ ├── agents/ # 汎用エージェント(tdd-runner, doc-updater等)
│ ├── commands/ # 汎用コマンド(/fix, /issue, /review)
│ └── skills/ # 個人共通スキル
├── .cursor/
│ ├── commands/ # 汎用コマンド(/plan, /status等)
│ └── rules/ # グローバルルール(開発プロセス、スキル一覧)
└── .gemini/
└── commands/ # レビュー用コマンド
シンボリックリンクで ~/ に展開し、どのプロジェクトでも共通設定が適用される。
役割分担
| 担当 | ツール | 責務 |
|---|---|---|
| PM / Architect | Human | 意思決定、タスク指示 |
| Manager | Cursor | 計画、開発プロセス管理 |
| Worker | Claude Code | 実装、テスト、ドキュメント |
| Reviewer | Gemini CLI | レビュー、整合性確認 |
プロジェクト固有の設定
各リポジトリには以下を置く:
AGENTS.md: プロジェクトのルート指示、SSOTの場所.claude/skills/: プロジェクト固有のスキル(環境構築、TDD手順等).cursor/rules/: プロジェクト固有のルール
エージェントは抽象的な手順を持ち、スキルが具体的な実行方法を提供する。
学び
- 「グローバル」と「プロジェクト固有」を分けるほど設定の迷いが減る
- エージェントは
-er名(doc-updater)、スキルは非-er名(doc-update)で命名すると混乱しない - 新規プロジェクト参加時は「スキル棚卸し→不足特定→作成」の流れをコマンド化しておくと楽