git-daily-review

git-daily-review

Enables AI agents to run automated daily code reviews, retrieve Markdown reports, and curate a project knowledge base across any Git repository.

Category
访问服务器

README

🔍 Git Daily Review

Automated daily AI code review for any Git repository — usable as a CLI, a scheduled routine, or an MCP server for AI agents.

Git Daily Review analyzes your daily commits across multiple repositories, checks them against your project's conventions and quality gates, and produces a structured Markdown report. It ships with an MCP (Model Context Protocol) server, so agents like Claude Code and Claude Desktop can run reviews, read reports, and curate the project knowledge base conversationally.

License: AGPL-3.0-only · Python 3.10+ core · TypeScript MCP server


Highlights

  • Any repo, any language — the AI adapts to your stack (TypeScript, Python, Java, Go, Rust, C#, …)
  • Multi-repo — monitor as many repositories as you need in a single run
  • MCP server — expose reviews, reports, and knowledge-base curation as agent tools
  • Multi-provider AI — Anthropic Claude, OpenAI, Google Gemini, or any local model via Ollama (fully offline)
  • Self-improving knowledge base — 7-layer project context that learns from each review, with a code-enforced auto-merge policy and human approval for high-impact changes
  • RAG-ready — optional integration with an external RAG service for semantic context
  • Cross-platform scheduling — macOS (launchd), Linux (cron), Windows (Task Scheduler); secrets stay in .env, never in the scheduler files
  • Setup wizard — web-based configuration, no manual YAML editing required

Quick start (CLI)

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

# 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 reference:

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

MCP server (use it as an agent)

The mcp/ directory contains a TypeScript MCP server that wraps the review engine.

cd mcp
npm install
npm run build

Register it with Claude Code:

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

Or add it to Claude Desktop (claude_desktop_config.json):

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

Exposed tools:

Tool What it does
run_daily_review Run the review for today, a date, or the last N days
get_report Read the full Markdown report for a date
list_reports List available reports + history index
list_kb_suggestions List KB suggestions (filter by status)
decide_kb_suggestion Approve/reject a pending suggestion by ID
kb_stats Knowledge-base statistics

Then just ask your agent things like “run today's review and summarize the critical issues” or “show me pending KB suggestions and approve the ones about naming conventions”.

Environment overrides: GDR_ROOT (project root, default: repo root), GDR_PYTHON (Python executable, default: python3).


AI providers

Provider Models API key env var Notes
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 (local) any pulled model (none) fully offline; set num_ctx in config (default 32768) to avoid prompt truncation

Secrets live in a .env file at the project root (see .env.example), loaded automatically at startup. They are never written into launchd plists, crontabs, or batch files.


Knowledge base (7 layers)

config/knowledge-base.yaml gives the reviewer structured project context:

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

After each run the system extracts new knowledge surfaced by the review and stores it as suggestions in config/kb_suggestions/. The auto-merge policy is enforced by code (not by the model): only new conventions and info/warning gates with confidence ≥ 0.85 can auto-merge, capped at 2 per run. Critical gates, domain rules, and integrations always require human approval — interactively (kb_manager.py --review), via CLI flags, or through the MCP decide_kb_suggestion tool.

Disable learning entirely with kb_learning: false in the ai: section of config.yaml.


Project structure

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
│   ├── 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)

Roadmap

  • [ ] Slack/email notifications for the daily report
  • [ ] --ci mode: non-zero exit on critical findings (PR gating)
  • [ ] Full TypeScript port of the core
  • [ ] Remote repository support (review without a local clone)

Contributions welcome — open an issue or a PR.


License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only). If you run a modified version as a network service, you must offer its source to the users of that service. See LICENSE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选