Skip to main content

Git-native AI agent co-harness — MCP server, static guards, and agentic evaluator for LLM-assisted coding

Project description

GitReins (PoC)

Git-Native Agent Co-Harness — Proof of Concept

CI Python 3.10+ License: MIT version PyPI

GitReins Banner

GitReins lives inside your git repository as a co-harness. It provides MCP tools for task lifecycle management, an agentic evaluator that judges code completeness against task definitions, and git hooks that ensure nothing bypasses the quality gates.

v0.5.0 — Single-source defaults, update checker, 383 tests pass.

Install

# PyPI (recommended)
pip install gitreins

# GitHub
pip install git+https://github.com/totalwindupflightsystems/gitreins.git

# From source
git clone https://github.com/totalwindupflightsystems/gitreins.git
cd gitreins && pip install -e .

Then activate in any repo:

cd /path/to/your-project
gitreins install

How It Works

  1. Create tasks — Define criteria via CLI or MCP tools
  2. Work with your AI agent — Pi, Claude, Hermes, or Codex does code generation
  3. Complete tasks — Agent calls task.complete
  4. Automatic evaluation — Tier 1 static guards (secrets, lint, tests) + Tier 2 agentic evaluator
  5. Commit through harnesscommit tool runs guards, blocks if checks fail

The evaluator is an agentic loop: it reads files, runs tests, searches patterns, and delivers a structured verdict with per-criterion PASS/FAIL. No single-shot LLM judgment.

Architecture & Docs

Document Purpose
Full Architecture System design and data flow
Component Map Module inventory with paths and line counts
Agentic Evaluator Design How the 7-tool agentic loop works
Sandbox Evaluator scratch space (in-memory, with filesystem plans)
Implementation Plan Phase history

Full reverse-engineered specs are in specs/ — one per component, with realized-by links to actual code files.

Status

Phase: Fully Implemented (v0.1.0) — All seven engine modules, MCP server (9 tools), CLI (5 top-level commands: task, guard, judge, commit, mcp-server), git hooks, and install script are built. See Component Map for current state.

Quick Start

cd gitreins-poc
./gitreins/install                    # Activate hooks in <10 seconds

# Create a task and evaluate it
python3 gitreins/cli.py task create demo "Demo task" \
  "File exists" "Has tests" "No secrets"

# Start the MCP server for your AI agent
python3 gitreins_mcp/server.py

Demos

Three demo projects are included showing GitReins in action:

Project Type What it tests
demo-slugify/ Single-file URL slug generator — basic criteria verification
demo-calc/ Multi-file CLI Calculator with operations, parser, CLI — 13 pytest tests
demo-string-utils/ Single-file String utilities with intentional palindrome bug — FAIL→FIX→PASS cycle

Run any demo:

Tech Stack

  • Language: Python 3.10+
  • Dependencies: mcp, pyyaml, requests (3 packages)
  • MCP Transport: stdio
  • Config: YAML in .gitreins/ directory
  • Evaluator Model: Haiku / GPT-4o-mini (<2s, ~$0.001/check)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitreins-0.6.0.tar.gz (83.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitreins-0.6.0-py3-none-any.whl (51.9 kB view details)

Uploaded Python 3

File details

Details for the file gitreins-0.6.0.tar.gz.

File metadata

  • Download URL: gitreins-0.6.0.tar.gz
  • Upload date:
  • Size: 83.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for gitreins-0.6.0.tar.gz
Algorithm Hash digest
SHA256 3b22d3159a132b35d4a640963c1458745dbbe98abdee22559d7bc6b448b1cc26
MD5 0a8b9cd49e91e015571dcbb972997009
BLAKE2b-256 77ebad393eb89aa2e47a5e9dd0155e77a92295a35d8a3458640e74595f329b2d

See more details on using hashes here.

File details

Details for the file gitreins-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: gitreins-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 51.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for gitreins-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f42cb29221bbe6337265ea2cd464ca4f3c85fe7d1361cb8290d4d064432a3d77
MD5 b8f698d53616d66434a7abf9aae0e8eb
BLAKE2b-256 2430649f9dde0273f18ba1d694ae909e8b0dac8a7142d4935a93a9939804fd6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page