Unl keeps why a decision changed

Unl keeps project decisions and their reasons on your machine and brings relevant ones into your coding agent's work. It is free and open source. With Node.js 20 or later, start in a project by running npx unlimitless init.

A project can have a reasonable instruction that later stops being right. Suppose your project uses pnpm because its lockfile and CI already depend on it. Later you choose bun after changing the build. That new choice should replace the old decision, with its own reason, rather than become another instruction beside it.

Unl keeps the decision and its reason together. Importing an instruction file creates proposals. You choose which ones to keep. When you confirm that a new decision replaces an existing one, the local record marks the old decision as replaced and keeps the link to its replacement. The history explains how the current choice came about.

The implementation also refreshes the current decisions that its hooks read and rewrites Unl's marked sections in the project's agent instruction files. Text outside those markers remains yours. The readable record lets you inspect the current choice and the earlier decision it replaced.

You can try the first part in a project where this example is true. Run npx unlimitless keep "Use pnpm for package commands" --why "The lockfile and CI use pnpm". Read the generated decisions section in AGENTS.md. It keeps the reason beside the instruction. Use a choice and reason that actually belong to your project.

Supported hooks can bring relevant decisions into later work. Hook behaviour differs by tool. Claude Code supports prompt and pre-edit hooks. Codex supports the prompt judge, with a complete judged-session proof still pending. Cursor uses word and file matching for edit and command hooks. An agent can also read the generated section in AGENTS.md. Read the compatibility guide for the limits of the tool you use.

Delivery is not obedience. A receipt can show what Unl handed over, but it cannot prove that the model used it. Unl keeps the record and supplies context. You decide what stands, and your coding agent does the reasoning.

The local installation needs no Unl account. Its optional judge uses your existing coding agent and model provider, whose usage still applies. A hosted connection is also available, but it does not yet share local changes or transfer your history automatically.

Read the source and setup guide, including the local implementation in cli/local/lib/ops.js. Start with one decision you already made and the reason you want the next session to remember.

Written with AI assistance and checked against the local implementation and published setup instructions. The package-manager example above is illustrative, not a performance measurement or a customer story.

Add Unl to your AI

Also in Writing

Follow new posts on X, LinkedIn or DEV.

More writing