changelog

What's new.

Update to the latest version any time:

v0.5.0

14 Nov 2026

latest

Snapshot locks

  • stet lock add "<behaviour>" --snapshot "<command>" locks a command's output (an export, a route list, mapped integration data) as the approved version in .stet/snapshots/.
  • stet check fails with a readable line diff when that output changes, e.g. an export's column order.
  • stet lock approve L3 --why "…" accepts an intended change and logs it as a decision.
  • --mask "<regex>" hides volatile output such as timestamps and generated IDs.
  • stet guard flags snapshot files edited by hand; agents are told never to approve snapshots.
Snapshot locks guide →

v0.3.0

14 Nov 2026

Linear tickets

  • stet ticket LIN-142 fetches a Linear ticket (needs LINEAR_API_KEY in your shell).
  • stet scope set LIN-142 --allow "…" uses the Linear title as the task.
  • The ticket (title, status, priority, labels, link, description) sits at the top of stet context, so one paste gives your AI the ticket and the code.
  • stet pr links the ticket to Linear.
  • Privacy: only the ticket ID is sent to Linear. Tickets are cached in .stet/.cache/, which git ignores.
Ticket workflow guide →

v0.2.0

14 Nov 2026

PR descriptions and ticket IDs

  • stet pr writes the commit message and PR description from the diff, scope result, stet check results and decisions logged during the task.
  • Ticket IDs: start the scope with LIN-142 (or use --ticket). It appears in AGENTS.md, context packs, guard output and PR text.
  • stet hook install adds the ticket ID to every commit message (“LIN-142: …”), never twice.
  • New MCP tool stet_pr for Claude Code and Cursor.
Command reference →

v0.1.3

14 Nov 2026

Monorepo detection

  • Stack detection finds projects in subfolders (backend/, frontend/, apps/web) and languages from file types. Reported by a tester on a Python + JavaScript repo.
  • stet init creates one test lock per sub-project, e.g. cd backend && pytest -q.

v0.1.2

13 Nov 2026

Published as stet-cli

  • First public release on npm as stet-cli. The command is still stet.
  • stet check says when a lock's command can't run (missing script) instead of reporting a regression.
  • Charter → AGENTS.md and CLAUDE.md, locked behaviours, scope guard, git hook, context pack, decision log, handoff pack and MCP server.

Full history in CHANGELOG.md on GitHub.