Skip to main content

Nauro

The decision system for building software with AI.

Nauro gives connected agents human-approved project judgment and current state before they plan or change work.

Nauro keeps a living project record. It combines project scope, current state, and open questions with human-approved project judgment: intent, goals, decisions, rationale, tradeoffs, and rejected paths. Project judgment is the human-ratified part of the record; context is the relevant slice of the record an agent receives for the work in front of it. Works with Claude, Perplexity, Cursor, Codex, and any MCP client.

How the loop works

  1. Nauro orients the agent with project scope, current state, open questions, and relevant prior judgment.
  2. You and the agent clarify missing intent, constraints, or tradeoffs.
  3. If the work needs new or revised judgment, the agent drafts it and waits for your explicit approval.
  4. The agent plans, recommends, or implements with that context in view.
  5. The agent explains how the context shaped the result, and you accept, correct, except, reopen, or supersede it in conversation.
  6. The agent reports meaningful completed progress as current state, so later connected agents inherit the updated state and approved judgment.

The markdown store, context summaries, BM25 retrieval, advisory checks, and optional sync support this loop. They do not replace your judgment or silently change project truth.

Install

uv tool install nauro     # uv fetches its own Python — nothing else needed

No uv? Install it with curl -LsSf https://astral.sh/uv/install.sh | sh (macOS/Linux) or the PowerShell line on Windows. Already on Python 3.10+? pipx install nauro (or pip install nauro) works too.

Quickstart

See a prior decision in about 30 seconds. No account, MCP wiring, or restart required:

mkdir -p /tmp/nauro-demo && cd /tmp/nauro-demo
nauro init --demo
nauro check-decision "Store dollar amounts as decimal numbers"

nauro init --demo also generates AGENTS.md in the current directory so a coding agent can load the Nauro preflight and demo context before its first task. If the repo already has a hand-authored AGENTS.md, Nauro warns and leaves it unchanged.

You'll see a JSON envelope with the related decisions and a deterministic assessment, e.g.:

{
  "store": "local",
  "related_decisions": [
    {
      "id": "decision-001",
      "title": "Amounts stored in integer cents, never floating point",
      "score": 8.462,
      "status": "active",
      "date": "2026-03-15",
      "rationale_preview": "Every monetary amount (transactions, budgets, balances) is stored as an integer number of cents and formatted to dollars only for display..."
    }
  ],
  "assessment": "Found 5 related decisions. Top match: D001 \"Amounts stored in integer cents, never floating point\"..."
}

The demo project ruled out storing money as floating-point dollars because binary floating point cannot represent a value like 0.10 exactly, so totals accumulate rounding error and a balance that should read 0.00 shows -0.01. This protective example isolates Nauro's retrieval mechanism: it brings a recorded constraint into the proposal flow before an agent can re-propose the rejected field.

If a small repo plus a reliable AGENTS.md or CLAUDE.md keeps agents oriented, Nauro may be more than you need. Nauro is designed for context that must persist across longer histories, sessions, tools, repos, machines, or repeated handoffs.

nauro graph renders the store to one self-contained HTML file and opens it: a node-link map of every decision as the default view, plus drawn supersession lineage, a timeline, and a category browser. The demo store's consolidation, three retired decisions converging on the one that replaced them, draws as a fan. By default the file carries the full decision store, including each decision's body rendered as structured detail in the side panel, and lands in the store directory rather than your repo; --no-include-bodies produces a redacted titles-and-metadata artifact for wider sharing.

nauro doctor checks the store for structural defects: unparseable decision files, dangling or cyclic supersession refs, and status contradictions. It is deterministic and report-only — it never edits the store and always exits 0. It also names one repairable defect separately: a supersession recorded on the newer decision but never written back to the older one.

nauro repair is the only command that acts on what doctor names, and it acts on that one shape. When a single decision in the store claims to supersede another that is still active with no reference back, it shows you both decisions with their versions and dates, states the exact field change, and asks. Anything less clear-cut — two decisions claiming the same predecessor, a cycle, a file that will not parse — is reported with guidance and left alone. Nothing is written without your answer, and there is no flag to skip the question.

For real-project setup (nauro init / nauro adopt), cross-surface access, MCP tool reference, and architecture details, see the main project README. Don't run nauro setup from /tmp/nauro-demo; that would wire the throwaway demo into your MCP client.

For full Claude Code and Codex onboarding, run nauro adopt --with-skills --with-subagents. This installs the gated nauro-ship-task workflow and Nauro's bundled planner, executor, reviewer, and tech-lead agents into ~/.claude/agents/ and ~/.codex/agents/. Re-running the command refreshes Nauro-owned workflow files and saves differing copies as backups. It leaves third-party skills and agents untouched. Pass --force-overwrite only when you do not want backups.

Why Nauro?

Nauro supports a human-ratified project-judgment loop. It captures what you decided and what you ruled out, with the reasoning, then brings related judgment into agent work. Keyword search over the decision store is one mechanism for putting prior reasoning in front of an agent at proposal time.

No model judges your decisions. The check uses deterministic keyword retrieval (BM25), is advisory, and never blocks a change. Agents draft additions, updates, and supersessions; you explicitly approve each one before propose_decision commits it in one call.

check_decision returns the related prior decisions (the related_decisions list shown above) so the agent can weigh them before proposing; Nauro ranks by keyword relevance and does not judge the proposal. On the approved propose_decision call, near-matches surface as advisory similar_decisions, and a clean proposal commits in one call. What you approve in one tool, every connected agent inherits; for example, a decision recorded in Claude Code is available later in Perplexity. The store is plain markdown in a folder you own. Run it fully locally with no account; cloud sync is opt-in.

Hosted allowance

Nauro includes unlimited local usage, unlimited projects, and 5,000 remote MCP calls per month. For higher hosted limits, contact thomas@nauro.ai. See nauro.ai/pricing for current details.


Apache 2.0 license. Part of the nauro-ai/nauro monorepo.

Named for Peter Naur, whose 1985 paper Programming as Theory Building argued the real program is the theory in the programmer's mind, not the code. Every fresh agent session is the equivalent of losing that programmer.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nauro-1.16.0.tar.gz (300.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nauro-1.16.0-py3-none-any.whl (360.2 kB view details)

Uploaded Python 3

File details

Details for the file nauro-1.16.0.tar.gz.

File metadata

  • Download URL: nauro-1.16.0.tar.gz
  • Upload date:
  • Size: 300.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nauro-1.16.0.tar.gz
Algorithm Hash digest
SHA256 e8dc89082a391e1ac91dae37eeabac6ea43f55e47d8ade2bdf1d6519f59cd9c3
MD5 cec40e2831699481315d3a77dedcd1ed
BLAKE2b-256 cebe3900c92a8d72a4fcc8b55ef578dcffd563c26f1504bc7741a40b7dc0ae0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nauro-1.16.0.tar.gz:

Publisher: publish-nauro.yml on Nauro-AI/nauro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nauro-1.16.0-py3-none-any.whl.

File metadata

  • Download URL: nauro-1.16.0-py3-none-any.whl
  • Upload date:
  • Size: 360.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nauro-1.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8dc9be4acd66c55e22bd84b0e5163efde948325d045fcbdd11cdfc299f401fae
MD5 2526f6b1500e15b8593976b67f7f2fbd
BLAKE2b-256 2fb640fc822e218f115c9cbf31526b32c2f7b9bbb2564fe65ba67b4c5b20af16

See more details on using hashes here.

Provenance

The following attestation bundles were made for nauro-1.16.0-py3-none-any.whl:

Publisher: publish-nauro.yml on Nauro-AI/nauro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.17.0

2 files

This release

1.16.0 This release

2 files

1.15.0

2 files

1.14.1

2 files

1.14.0

2 files

1.13.0

2 files

1.12.0

2 files

1.11.0

2 files

1.10.0

2 files

1.9.0

2 files

1.8.0

2 files

1.7.0

2 files

1.6.0

2 files

1.5.0

2 files

1.4.0

2 files

1.3.0

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

0.13.3

2 files

0.13.2

2 files

0.13.1

2 files

0.13.0

2 files

0.12.7

2 files

0.12.6

2 files

0.12.5

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.1

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page