free · open source · runs locally

Your app works. Keep it that way.

Stet is a guardrail layer between your AI coding tools and your repo. It locks the features that already work and checks every change your AI makes.

Install guide
Open source on GitHubstet-cli on npmMIT · no account · your code never leaves your machine

integrates with

Linear Git MCP · Claude Code, CursorAGENTS.md · Codex, Copilot

your ai tools

Claude Code
Cursor
Codex
Any AI chat
↓ code changes · ↑ rules and context
stet.runs on your machine

Locks

5 still work

Scope

task: CSV export

Caught

VAT maths broke

↓ only changes that pass

your project

git repo
your tests
CI / deploy

what it looks like

You asked for a CSV export. The AI also changed your VAT maths.

Each feature that works is locked with a command that proves it. After the AI is done, stet check runs them all and shows exactly what broke, before it ships.

your app AI task: “add CSV export”
Sign-up and login

locked · still works

Checkout

locked · still works

VAT maths

AI changed the rounding. Caught before it shipped.

expected 10 · got 9.99

Invoices

locked · still works

Email receipts

locked · still works

Monthly reports

locked · still works

5 still work ·1 caughtfix the change, not the check

a week with AI

A week with AI as my co-CTO.

I'm Shamaz, a CTO. I use AI to write most of my code. Here's what a normal week looks like.

Mon 9 Nov

The AI refactored a shared util and quietly broke checkout totals. Tests passed.

With StetThe change is blocked, because checkout totals are locked.

Wed 11 Nov

New chat, and I re-uploaded my src folder and re-explained why we chose Postgres over Firebase.

With StetEvery tool reads the latest repo and the decision log.

Fri 13 Nov

Asked for a profile page fix; the AI also "tidied" billing.

With StetThe scope guard flags edits outside the task before merge.

what it looks like

What Stet actually looks like.

A charter, not a prompt

Everything an agent needs to know lives in one AGENTS.md file, versioned in your repo.

AGENTS.md21 lines · in your repo
# AGENTS.md · orders-service
## What we're building
B2B ordering for 40 retail accounts. Stripe for payments.
## Out of scope
Admin UI, mobile apps, multi-currency invoicing.
## Never do
- No new database tables without a decision entry
- No API keys in client code
- Do not rename public API fields
## Decisions
- Postgres over Firebase · Nov 2025 · SQL reporting
- Stripe webhooks only, no polling · Sep 2025
## Locked behaviours
- GET /api/orders returns `total` (checkout reads it)
- Prices are integer cents, never floats
- Invoice rounding: 2dp, half-up

Decisions that outlive the chat

Every choice, its reason and the files it touches, kept where the next session reads it.

decision log4 of 37
  • 12 OctLock `total` in GET /api/orders

    Checkout reads it and breaks silently when the field moves.src/api/orders.ts

  • 28 SepInvite-only signup until launch

    Stops spam accounts before billing exists.src/auth/signup.ts

  • 04 SepStripe webhooks, no polling

    Polling double-charged two test accounts.src/billing/webhooks.ts

  • 21 AugPostgres over Firebase

    Needs SQL reporting per account.db/schema.sql

Edits stay inside the task

The scope guard names the file the agent touched outside the task, so you can revert it before merge.

stet / scope guardtask: profile page
  • src/pages/Settings.jsxchanged
  • src/components/ProfileForm.jsxchanged
  • billing/invoice.tsoutside task
@@ src/pages/Settings.jsx
- export function Settings() {
+ export function Settings({ user }) {
return <ProfileForm user={user} />;
@@ billing/invoice.ts
- const rate = 0.20;
+ const rate = 0.19;

1 file outside this task: billing/invoice.ts. Revert it, or restate the task before merging.

free template

The AGENTS.md charter template.

Plain markdown you paste into your repo. It works with Claude Code, Cursor, Codex and any tool that reads AGENTS.md — no account, no lock-in.

roadmap

What we build next.

Now

Stet layer

Guardrails on the tools you already use.

Next

Handoff pack

One click hands the project over properly.

Later

Stet Studio

The cockpit for building with AI.

See the roadmap

try it now

Ten minutes to your first locked feature.

Free and open source. Run it in any project folder; it detects your stack and writes your AI rulebook.