CommandMate
CLAUDE.md44 starsChanged 14 days agoMITView on GitHub
このドキュメントはClaude Code向けのプロジェクトガイドラインです。 各モジュールの責務・関数シグネチャ・Issue 履歴は [docs/m
- Deletes or force-pushes
- Commits and pushes
In this repository13 other files it gives its agents.
- AGENTS.mdAGENTS.md
- website/llms.txtllms.txt
- cmate-verifySkill
- demo-videoSkill
- video-to-gifSkill
- catalog-reconcileSkill
- cmate-verifySkill
- demo-videoSkill
- orchestrate-monitorSkill
- rebuildSkill
- release-postSkill
- releaseSkill
- video-to-gifSkill
The file
Files
CLAUDE.md
このドキュメントはClaude Code向けのプロジェクトガイドラインです。
⚠️ 重要: モジュール詳細を CLAUDE.md に書かないこと
- モジュールの実装詳細・関数シグネチャ・Issue 履歴は 必ず docs/module-reference.md に記載する(CLAUDE.md には書かない)
- CLAUDE.md は brief overview のみ。各 module 説明は 1 行 100 文字以内 を厳守
Issue #N で…追加のような履歴 narrative を CLAUDE.md に append しない。履歴は git log / CHANGELOG / PR description で辿る- docs/module-reference.md も append-only で肥大化させない(既存行の更新を優先する)
- 違反すると CI でブロックされる(
## 品質担保の CLAUDE.md size check 参照)
プロジェクト概要
基本情報
- プロジェクト名: CommandMate
- 説明: Git worktree管理とClaude CLI/tmuxセッション統合ツール
- リポジトリ: https://github.com/Kewton/CommandMate
技術スタック
| カテゴリ | 技術 |
| フレームワーク | Next.js 15 / React 19 |
| 言語 | TypeScript(Node.js 22 以上) |
| スタイル | Tailwind CSS 4 |
| データベース | SQLite (better-sqlite3) |
| テスト | Vitest (unit/integration), Playwright (e2e) |
ブランチ構成
ブランチ戦略
main (本番) ← PRマージのみ
│
develop (受け入れ・動作確認)
│
feature/*, fix/*, hotfix/* (作業ブランチ)命名規則
| ブランチ種類 | パターン | 例 |
| 機能追加 | feature/<issue-number>-<description> | feature/123-add-dark-mode |
| バグ修正 | fix/<issue-number>-<description> | fix/456-fix-login-error |
| 緊急修正 | hotfix/<description> | hotfix/critical-security-fix |
| ドキュメント | docs/<description> | docs/update-readme |
恒久 worktree(クリーンアップ対象外)
次の worktree とブランチは常駐用。「worktree を片付けて」と頼まれても削除・ブランチ削除しない。
| worktree | ブランチ | 用途 |
../commandmate-main | main | main の参照用 |
../commandmate-agent-health | agent-health-runner | 日次確認の Schedule 実行場所(CMATE.md あり。docs/user-guide/agent-health.md) |
標準マージフロー
通常フロー
feature/* ──PR──> develop ──PR──> main
fix/* ──PR──> develop ──PR──> main
hotfix/* ──PR──> main (緊急時のみ)PRルール
- PRタイトル:
<type>: <description>形式- 例:
feat: add dark mode toggle - 例:
fix: resolve login error
- 例:
- PRラベル: 種類に応じたラベルを付与
feature,bug,documentation,refactor
- レビュー: 1名以上の承認(main向けPR。運用ルールで、branch protection では強制していない)
- CI/CD: 全チェックパス必須
コミットメッセージ規約
<type>(<scope>): <subject>
<body>
<footer>| type | 説明 |
feat | 新機能 |
fix | バグ修正 |
docs | ドキュメント |
style | フォーマット(機能変更なし) |
refactor | リファクタリング |
test | テスト追加・修正 |
chore | ビルド・設定変更 |
ci | CI/CD設定 |
コーディング規約
TypeScript
- 厳格な型定義を使用(
strict: true) any型の使用は最小限に- 明示的な戻り値の型定義を推奨
React/Next.js
- 関数コンポーネントを使用
- 必要なときだけ
'use client'を明示(既定はサーバー側)
ファイル構成
主要なものだけ載せる。ここに無いものは ls で見る。トップレベルの増減時のみ更新する。
bin/commandmate.js # CLIエントリポイント(shebang付き)
src/
├── app/ # Next.js App Router(api/ はAPIルート、画面は各ディレクトリ)
├── cli/ # CLI本体(program.ts が commander 設定、index.ts は起動のみ)
│ ├── commands/ # サブコマンド(一覧は `commandmate --help`。補助ファイルも同居)
│ ├── utils/ # 依存チェック、環境設定、デーモン管理
│ ├── config/ # 依存関係定義・CLIツールID・定数
│ ├── docs/ # CLI埋め込みドキュメント
│ └── types/ # CLI共通型定義(ExitCode enum)
├── components/ # UIコンポーネント(機能別ディレクトリ + ui/ 汎用プリミティブ)
├── config/ # 設定(ステータス色、編集可能拡張子など)
├── contexts/ # React Context
├── hooks/ # カスタムフック
├── lib/ # ユーティリティ・ビジネスロジック
│ ├── cli-tools/ # CLIツール抽象化層
│ ├── db/ # データベース
│ ├── detection/ # ステータス検出・プロンプト検出
│ ├── git/ # Git操作・worktree管理・クローン
│ ├── polling/ # ポーリング・Auto-Yes
│ ├── security/ # 認証・IP制限・パス検証・サニタイズ
│ ├── session/ # セッション管理・実行エンジン
│ ├── tmux/ # tmuxセッション管理・トランスポート
│ ├── ws-server.ts # WebSocketサーバ
│ └── logger.ts # 構造化ロギング基盤
└── types/ # 型定義
tests/
├── unit/ # 単体テスト
├── integration/ # 結合テスト
├── e2e/ # Playwright E2E(*.spec.ts)
├── helpers/ # テスト共通ヘルパー(型ガード、loggerモック等)
├── fixtures/ # テスト用データ
├── scripts/ # スクリプト用テスト
└── setup.ts # Vitest共通セットアップモジュール一覧
各モジュールの責務・関数シグネチャ・Issue 履歴は docs/module-reference.md を参照。
重要: モジュール詳細を CLAUDE.md に記述しないこと。詳細・Issue 履歴は必ず docs/module-reference.md に書く。
品質担保
必須チェック(CI/CD)
検証ゲートの正は .commandmate/verify.yaml。CI の全ジョブは .github/workflows/ci-pr.yml を見る。
- サイズ guard(CI で hard-fail):
CLAUDE.mdは 35,000 bytes 以下(node scripts/check-claudemd-size.mjs)。超過したら詳細を docs/module-reference.md へ移す.claude/commands/orchestrate.mdは 118,000 bytes 以下
推奨チェック
- Integration Test:
npm run test:integration - E2E Test:
npm run test:e2e
禁止事項
ブランチ操作
- mainへの直push禁止
- 全ての変更はPRを通じて行う
git push origin mainは拒否される- Git Hook(pre-push)で強制: ローカル環境でmainブランチへの直接pushをブロック
- force push禁止
git push --forceは原則禁止- 例外: 自分のfeatureブランチのみ許可
Git Hook設定
.git/hooks/pre-push でmainブランチへの直接pushを防止。クローン後に手動設定が必要(リポジトリには含まれない。手順は docs/release-guide.md)。--no-verifyで回避可能なためチームルールとしての遵守が重要。
コード
- console.logの本番残留禁止
- デバッグ用のログは削除すること
- 未使用importの残留禁止
- ESLintで検出・除去
例外対応
- 緊急時はhotfix/*ブランチを使用
- チーム責任者の承認を得てからマージ
開発コマンド
# 開発サーバー起動
npm run dev
# ビルド
npm run build # Next.jsビルド
npm run build:cli # CLIモジュールビルド
npm run build:server # サーバーモジュールビルド
npm run build:all # 全ビルド(Next.js + CLI + server)
# テスト
npm test # 全テスト
npm run test:unit # 単体テスト
npm run test:integration # 結合テスト
npm run test:e2e # E2Eテスト
# リント
npm run lint
# データベース
npm run db:init # DB初期化
npm run db:reset # DBリセットCLIコマンド(グローバルインストール後)
サブコマンドの一覧は commandmate --help。起動・停止・--issue による並列サーバーは cli-setup-guide.md、その他の詳細と終了コードは cli-operations-guide.md(remote は webapp-guide.md も)を参照。踏むと事故になる規則だけをここに残す。
- 送り先:
send/wait/respond/capture/replyは--instance <id>単独で指定する(例:commandmate send <worktree-id> "メッセージ" --instance codex)。--agentは roster 外のアドホック起動用 --model:sendの新規起動時のみ有効(claude/antigravity)。稼働中のセッションへ指定すると 400- wait:
--timeout <秒>超過は exit 124。--on-prompt humanでプロンプト検出後も待機継続。waitに--agentは無い。--verifyは完了検知後に検証ゲートを実行し、不合格 exit 20 / 作業証跡ゼロ exit 21 - verify:
commandmate verify <worktree-id> [--gates lint,unit] [--json]。合格 0 / 不合格 20 / 作業証跡ゼロ 21(.commandmate/verify.yaml) - auto-yes:
commandmate auto-yes <worktree-id> --enable --duration 3h。duration は 1h〜24h(1 時間刻み。既定 1h)。--disableで無効化 - instances: roster の追加は
commandmate instances <worktree-id> add --agent codex。roster 外 ID のアドホック起動はcommandmate send <worktree-id> "メッセージ" --agent codex --instance codex-3 --register(--agent必須) - roles: ロールは起動時に固定。
roles edit/roles default/set-roleは稼働中に効かない(止めて送り直す)。send --roleは条件で、不一致・不明は未送信 exit 32(設定は保存済み) - update: 非対話環境で
--yesが無いと exit 2(commandmate update --yes)。--checkは変更しない - remote:
--provider cloudflareは公開 Tunnel のため--yesが必須(非対話環境も)。--provider tailscaleは承認不要
Claude Code コマンド・エージェント
本プロジェクトではClaude Code用のスラッシュコマンドとサブエージェントを整備しています。
利用可能なコマンド
| コマンド | 説明 |
/work-plan | Issue単位の作業計画立案 |
/create-pr | PR自動作成 |
/progress-report | 進捗報告書作成 |
/tdd-impl | TDD実装 |
/pm-auto-dev | 自動開発フロー |
/bug-fix | バグ修正ワークフロー |
/refactoring | リファクタリング実行 |
/acceptance-test | 受け入れテスト |
/uat | 実機受入テスト(UAT)計画・レビュー・実行・報告 |
/issue-create | Issue一括作成 |
/issue-enhance | Issueの対話的補完(不足情報をユーザーに質問して補完) |
/issue-split | Issue分割計画 |
/architecture-review | アーキテクチャレビュー(サブエージェント対応) |
/apply-review | レビュー指摘事項の実装反映 |
/multi-stage-design-review | 設計書の4段階レビュー(通常→整合性→影響分析→セキュリティ) |
/multi-stage-issue-review | Issueの多段階レビュー(通常→影響範囲)×2回 |
/design-policy | 設計方針策定 |
/worktree-setup | Worktree環境の自動構築 |
/worktree-cleanup | Worktree環境のクリーンアップ |
/orchestrate | 複数Issueの並列オーケストレーション |
/cause-analysis | Issueの事象から根本原因を分析し対策案を追記 |
/current-situation | 不具合事象を整理して新規Issueに登録 |
/issues-exec-plan | 複数Issueの並列作業可否を分析し実行計画のエピックを作成 |
/pm-auto-design2dev | 設計レビューから実装完了まで自動化 |
/pm-auto-issue2dev | Issueレビューから実装完了まで自動化 |
/uat-fix-loop | UAT不合格→修正→再PR→再UATのループ |
利用可能なエージェント
| エージェント | 説明 |
tdd-impl-agent | TDD実装専門 |
progress-report-agent | 進捗報告生成 |
investigation-agent | バグ調査専門 |
acceptance-test-agent | 受入テスト |
refactoring-agent | リファクタリング |
architecture-review-agent | アーキテクチャレビュー |
apply-review-agent | レビュー指摘反映 |
issue-review-agent | Issue内容レビュー |
apply-issue-review-agent | Issueレビュー結果反映 |
利用可能なスキル
| スキル | 説明 |
/release | バージョン更新、CHANGELOG更新、Gitタグ作成、GitHub Releases作成を自動化 |
/release-post | リリース告知文の作成 |
/rebuild | サーバーをリビルドして再起動 |
/demo-video | 隔離環境でデモ動画(日英)を全自動生成。絵コンテ駆動・尺検証つき |
/video-to-gif | 動画をバイト予算つきで GIF 化。docs の markdown に貼れる形にする |
/cmate-verify | .commandmate/verify.yaml の検証ゲートを実 exit code で実行 |
/orchestrate-monitor | 並列ワーカーの capture 解析・状態判定・完了検証 |
/catalog-reconcile | スラッシュコマンドカタログを各 CLI の権威ソースへリコンサイル |
最近の実装機能
実装機能一覧 - Issue別の概要・主要変更ファイル・設計書リンク
関連ドキュメント
- README.md - プロジェクト概要
- アーキテクチャ - システム設計
- 移行ガイド - MyCodeBranchDesk からの移行手順
- リリースガイド - バージョン管理とリリース手順
- クイックスタートガイド - 5分で始める開発フロー
- コマンド利用ガイド - コマンドの詳細
- エージェント利用ガイド - エージェントの詳細
- ワークフロー例 - 実践的な使用例
- ステータスインジケーター - サイドバー機能詳細
- 実装機能一覧 - Issue別の実装履歴
- Jev による Issue 棚卸し - 優先度・担当モデルの下書き(API と注意点)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

