Agents write code
Vinaya ships software

Your agent moves fast. Vinaya holds the wheel.

Protected main branchmain

A harness for your software engineering processwith GitHub as the only source of truth.

the software lifecycle you already run

See lifecycle

Plan, solve, archive

The same three stages, every time you ship.

01plan a milestone

A milestone.
Its issues

  • One milestone
  • One issue per task
milestone + issues
Milestone you
#471
#472
#473
02solve its tasks

One issue.
One pull request

  • One branch
  • One pull request
branch + pull request
#471
branch
merged you
#472
branch
merged
#473
branch
merged
03archive a milestone

Every issue closed.
Then the milestone

  • Nothing by hand
  • Closes when the last task lands
milestone closed
MilestoneClosed you
Merged
Merged
Merged

the next one opens

the software lifecycle you already run

Your GitHub, perfectly structured

01 plan a milestone02 solve its tasks03 archive a milestone

what you get back

Own your code again

Decide first Plan on milestones

Decide first Plan on milestones

Checkout rework
3 tasks

Scoped before a line of code — issues you can read and argue with while changing them is still cheap.

opened Aug 2due Aug 16
#471 cart line-items
#472 tax rules
#473 payment retry

Review again Small PRs

#473 payment retry
merged

5 files changed +203 −67

payment/retry.ts
payment/retry.test.ts
webhook/handler.ts
webhook/handler.test.ts
CHANGELOG.md

Your CI Your checks

.github/workflows/
4 files · vinaya-owned

vinaya-checks.yml

checks:
  - brief-shape
  - review-gate
  - acme/licence-header   # yours

runs alongside review.yml · review-verdict.yml · archivist.yml — generated once, yours to edit after

Vinayas governance is executable

A 2026 study: randomly-generated rule files moved agent behaviour about as much as carefully curated ones. Instructions are not constraint.

86%

measured at v0.19.332,011 lines of code that enforces the flow
against 5,394 lines of doctrine · counted at every release

Three rings. The first two run identical code

ring 0

your machine

Clean, or it doesn't push

ring 1

the forge

Clean, or it doesn’t merge

ring 2

audits

Drift gets caught later

The hook on your laptop and the required check in CI
are the same code.

Who its for

for the cto

Every change traceable

Brief, checks, and approval live on every task’s PR. Three years from now, you can still answer why.

for the tech lead

Your standards, enforced without you

Team conventions become checks every PR must pass. You stop policing merges by hand — the gates hold the line while you build.

for the engineer

Bring your own agent

Cursor, Claude Code, Codex — your choice. Vinaya checks the merge, not the model. And your teammates’ PRs arrive one task at a time, small enough to actually review.

for the product manager

See where everything is. Without asking

Status is read live from GitHub — planned, in progress, in review, done. Nobody updates a board. It can’t be stale.

for the junior engineer

Learn the way the team ships

Plan, brief, develop, review — the same loop every time, and you can take any step in it. You review real PRs, and the gates catch you before the team has to.

for the founder

Your team uses AI. Your repo stays sane

Everyone ships with whatever AI they like — same gates, one process, one clean history. And the token ledger shows what each feature cost.

vinaya.config.json

configure your process

One file
Your whole harness

Define your gates. Your checks. Extend the agents you already use. Ours ships as the default — nothing you add or replace ever touches a second file.

Configuration
YOUR AGENTS
YOUR CHECKS
YOUR ROLES
YOUR GATES
ships with vinayayours

Keep your stack

Vinaya is agnostic to your project tool, development method, and coding agent.

Project-tool agnostic

Jira
Linear
GitHub Issues

or your own system

Method agnostic

TDD
BDD
Trunk-based development
Pair programming

or your team’s practice

Agent-CLI agnostic

Codex
Claude Code
Grok
Antigravity

or another coding agent

whatever you pick abovethe same gates, the same PR, the same verdict

zero lock-in

In with one command
Out with one command

Eject removes exactly what quickstart installed. Nothing else.

Start in your repo

Quick Start