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.

Proof of Concept — Implemented (v0.1.0) — All engine modules, MCP server, CLI, and git hooks are built and working. 322 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.1.4.tar.gz (67.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.1.4-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitreins-0.1.4.tar.gz
  • Upload date:
  • Size: 67.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.1.4.tar.gz
Algorithm Hash digest
SHA256 157ac32e128082a3f81d4fef4c2bb4b59967f0258fa59e33273ac08471e9471f
MD5 c52dde3dfafea451c4fb7a1c1090720a
BLAKE2b-256 9a08062a20f2e287f34dfc7283e702b7566aa4948dade539d2ac82796d54a2f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitreins-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 40.0 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.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ef2804f9e18e70fe2596c3d039e2cc5c16ade5d0c3086259656e3532816bd54e
MD5 2d095d839edddd0892c732d16bb69350
BLAKE2b-256 077bd298f39b16bc8c3cfe756fd300b3c9ae6bed1286c50ef193e9185dd90cf5

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