Skip to main content
Glama

🔍 Git Daily Review

あらゆる Git リポジトリ向けの自動化された毎日の AI コードレビュー — CLI、定期実行、AI エージェント向け MCP サーバーとして利用可能。

Git Daily Review は、複数のリポジトリにわたる毎日のコミットを分析し、プロジェクトの規約と品質ゲートに照らしてチェックし、構造化された Markdown レポートを生成します。MCP (Model Context Protocol) サーバーが同梱されており、Claude Code や Claude Desktop などのエージェントがレビューの実行、レポートの読み取り、プロジェクトのナレッジベースのキュレーションを会話形式で行えます。

ライセンス: AGPL-3.0-only · Python 3.10+ コア · TypeScript MCP サーバー


主な特長

  • あらゆるリポジトリ、あらゆる言語 — AI があなたのスタック (TypeScript、Python、Java、Go、Rust、C#、…) に適応します

  • マルチリポジトリ — 1 回の実行で必要なだけのリポジトリを監視

  • MCP サーバー — レビュー、レポート、ナレッジベースのキュレーションをエージェントツールとして公開

  • マルチプロバイダー AI — Anthropic Claude、OpenAI、Google Gemini、または Ollama 経由の任意のローカルモデル (完全オフライン)

  • 自己改善型ナレッジベース — 各レビューから学習する 7 層のプロジェクトコンテキスト。コードで強制される自動マージポリシーと、影響の大きい変更に対する人間の承認を備えています

  • Markdown + HTML 出力 — 毎回の実行で daily-summary.md と自己完結型の dashboard.html を書き出します (品質トレンド、ゲートおよび作成者別チャート、フィルタ可能なコミットリスト、各チャートの背後にあるテーブルビュー)。CDN なし、ネットワーク呼び出しなし: コードレビューデータがマシンの外に出ることはありません

  • RAG 対応 — セマンティックコンテキストのための外部 RAG サービスとのオプション統合

  • クロスプラットフォームのスケジューリング — macOS (launchd)、Linux (cron)、Windows (タスクスケジューラ)。シークレットは .env に保持され、スケジューラファイルには決して書き込まれません

  • セットアップウィザード — Web ベースの設定。手動での YAML 編集は不要


Related MCP server: MatterAI MCP Server

クイックスタート (CLI)

git clone https://github.com/YOUR_USER/git-daily-review.git
cd git-daily-review

# 0. Dependencies in a virtualenv (setup.py does this for you if you skip it)
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

# 1. Configure (opens the wizard in your browser)
python3 setup.py

# 2. Secrets (cloud providers only — Ollama needs none)
cp .env.example .env      # then add e.g. ANTHROPIC_API_KEY=...
chmod 600 .env

# 3. First review
python3 scripts/daily_review.py

# 4. Schedule daily runs
python3 scripts/scheduler.py --install

CLI リファレンス:

python3 scripts/daily_review.py                    # review today
python3 scripts/daily_review.py --date 2026-05-12  # specific date
python3 scripts/daily_review.py --days 5           # last N days
python3 scripts/daily_review.py --collect-only     # git data only, no AI
python3 scripts/daily_review.py --history          # report history index

python3 scripts/kb_manager.py --review             # interactive KB curation
python3 scripts/kb_manager.py --approve <ID>       # non-interactive approve
python3 scripts/kb_manager.py --reject  <ID>       # non-interactive reject
python3 scripts/kb_manager.py --stats

上記の python3 は任意のインタープリターで構いません。依存関係がない場合、エントリポイントはプロジェクトの .venv (または $GDR_PYTHON) の下で自身を再実行し、存在しない場合は作成方法を案内します。これは、python3 が多くの場合素のシステム Python である cron と launchd にとって重要です。


MCP サーバー (エージェントとして使用)

mcp/ ディレクトリには、レビューエンジンをラップする TypeScript MCP サーバーが含まれています。

cd mcp
npm install
npm run build

Claude Code に登録します:

claude mcp add git-daily-review -- node /absolute/path/to/git-daily-review/mcp/dist/index.js

または Claude Desktop (claude_desktop_config.json) に追加します:

{
  "mcpServers": {
    "git-daily-review": {
      "command": "node",
      "args": ["/absolute/path/to/git-daily-review/mcp/dist/index.js"]
    }
  }
}

公開されるツール:

ツール

機能

run_daily_review

今日、指定日、または過去 N 日分のレビューを実行

get_report

指定日の完全な Markdown レポートを読み取る

list_reports

利用可能なレポート + 履歴インデックスを一覧表示

list_kb_suggestions

KB の提案を一覧表示 (ステータスでフィルタ)

decide_kb_suggestion

ID で保留中の提案を承認/却下

kb_stats

ナレッジベースの統計

あとはエージェントに 「今日のレビューを実行して重大な問題を要約して」 や 「保留中の KB の提案を表示して、命名規則に関するものを承認して」 のように依頼するだけです。

環境変数の上書き: GDR_ROOT (プロジェクトルート、デフォルト: リポジトリルート)、GDR_PYTHON (Python 実行ファイル。デフォルト: 存在する場合はプロジェクトの .venv、それ以外は python3)。


AI プロバイダー

プロバイダー

モデル

API キー環境変数

備考

Anthropic

Claude Haiku、Sonnet、Opus

ANTHROPIC_API_KEY

OpenAI

GPT-4o-mini、GPT-4o、o1-mini

OPENAI_API_KEY

Google Gemini

Gemini 2.0 Flash、1.5 Flash/Pro

GEMINI_API_KEY

Ollama (ローカル)

プルした任意のモデル

(なし)

完全オフライン。プロンプトの切り詰めを避けるため、設定で num_ctx を設定してください (デフォルト 32768)

シークレットはプロジェクトルートの .env ファイル (.env.example を参照) に置かれ、起動時に自動的に読み込まれます。シークレットが launchd の plist、crontab、バッチファイルに書き込まれることは決してありません。


ナレッジベース (7 層)

config/knowledge-base.yaml は、レビュアーに構造化されたプロジェクトコンテキストを提供します:

L0 Identity · L1 Architecture · L2 Conventions · L3 Quality Gates
L4 Domain · L5 Integrations · L6 Release

各実行後、システムはレビューで明らかになった新しい知識を抽出し、config/kb_suggestions/ に提案として保存します。自動マージポリシーは (モデルではなく) コードによって強制されます。信頼度 ≥ 0.85 の新しい規約と info/warning ゲートのみが自動マージでき、1 回の実行につき最大 2 件に制限されます。重大なゲート、ドメインルール、統合は常に人間の承認が必要です — 対話形式 (kb_manager.py --review)、CLI フラグ、または MCP の decide_kb_suggestion ツールを通じて行います。

学習を完全に無効にするには、config.yaml の ai: セクションで kb_learning: false を設定します。


プロジェクト構造

git-daily-review/
├── setup.py                    ← setup wizard entry point
├── requirements.txt
├── .env.example                ← secrets template (never commit .env)
├── config/
│   ├── config.example.yaml
│   └── knowledge-base.example.yaml
├── scripts/                    ← Python core
│   ├── daily_review.py         ← orchestrator (loads .env at startup)
│   ├── git_collector.py        ← fetch, commits, diffs
│   ├── ai_reviewer.py          ← review pipeline
│   ├── ai_provider.py          ← Anthropic/OpenAI/Ollama/Gemini abstraction
│   ├── kb_updater.py           ← KB learning + code-enforced auto-merge policy
│   ├── kb_manager.py           ← KB curation CLI (interactive + --approve/--reject)
│   ├── rag_client.py           ← optional RAG client
│   ├── report_generator.py     ← Markdown reports + history index
│   ├── html_report.py          ← self-contained HTML dashboard (charts, filters)
│   ├── scheduler.py            ← launchd / cron / schtasks (no secrets on disk)
│   └── wizard_app.py           ← wizard HTTP backend
├── mcp/                        ← MCP server (TypeScript)
│   └── src/index.ts
├── templates/wizard.html
└── reports/                    ← generated daily reports (git-ignored)

ロードマップ

  • 日次レポートの Slack/メール通知

  • --ci モード: 重大な指摘で非ゼロ終了 (PR ゲーティング)

  • コアの完全な TypeScript 移植

  • リモートリポジトリのサポート (ローカルクローンなしでのレビュー)

コントリビューション歓迎 — issue または PR を開いてください。


ライセンス

このプロジェクトは GNU Affero General Public License v3.0 (AGPL-3.0-only) の下でライセンスされています。変更したバージョンをネットワークサービスとして実行する場合、そのサービスのユーザーにソースを提供する必要があります。LICENSE を参照してください。

Related MCP Connectors

Related MCP Servers