Skip to main content

Tramuri

Tramuri logo

English · Português (Brasil)

From intent to verified outcomes.

CI PyPI version

Tramuri is open-source, local-first infrastructure for turning product and business objectives into coordinated work and verifiable outcomes. It helps people, agents, and tools carry context between sessions and distinguish completed work from results that have actually been reviewed.

Tramuri is designed for Product Engineers, Forward Deployed Engineers (FDEs), and product teams. It works without requiring a source-code repository, an LLM, or a particular agent framework.

What Tramuri provides

  • Missions and Success Contracts to describe an objective and its acceptance criteria.
  • Persistent knowledge with source references and history.
  • Execution and evidence records that keep work, supporting references, and assessment distinct.
  • Verified outcomes based on explicit criterion reviews; a completed execution alone does not mark a Mission as achieved.
  • Project Discovery as an optional way to inventory a code project. Scanning does not execute repository files and excludes sensitive paths by default.
  • Capability Discovery to catalog supported project-local skills, instructions, agents, hooks, and MCP declarations without executing or connecting to them.
  • A native Rust CLI and a Python SDK backed by the same Rust core.

The published Python SDK includes a prebuilt Rust extension on supported platforms; users do not need a Rust toolchain.

Tramuri stores its local project state under .tramuri/, with SQLite at .tramuri/database/tramuri.sqlite3 and the latest scan report under .tramuri/discovery/. Evidence is recorded as references; Tramuri does not fetch external resources or store scanned file contents as evidence. The capability catalog is a derived snapshot; declared MCP servers and hooks are not considered operationally verified.

Prerequisites

Requirement Version Check Install
Python 3.11 or newer python --version python.org
uv (recommended) Any current version uv --version uv installation guide

PyPI installations use prebuilt wheels on supported platforms. You do not need Rust installed.

Install

Python SDK

Install Tramuri into an existing Python project:

uv add tramuri

Or use pip:

python -m pip install tramuri

CLI and assistant integrations

The Tramuri package includes the CLI distribution and project integration installer. Install the CLI in an isolated tool environment:

uv tool install tramuri
tramuri --version

pipx install tramuri is also available as an isolated-install alternative. If the tramuri command is not found after installation, run uv tool update-shell and reopen your terminal.

After a new Tramuri release is published, update it with the package manager used to install it:

uv tool upgrade tramuri
# If installed with pipx instead:
pipx upgrade tramuri
tramuri --version

Install Tramuri into the project for the assistant you use, preserving existing instructions and hooks:

tramuri install --platform codex --project

Then describe a substantive goal in the assistant chat, for example: “I want to improve customer onboarding” or “I am taking over this customer integration.” The installed instructions guide a Mission start or resume even if you do not mention Tramuri. A clear goal initializes the local database automatically; tell the assistant your work perspective only if it is not clear from the request. You do not need to run tramuri init first or learn CLI syntax. Mission and Success Contract setup stays exploratory, and a project scan is optional. At the end of a coherent work session that changes Mission records, the assistant refreshes the local reports. It opens the HTML only if it has not already opened it during that session; otherwise it refreshes the files without opening another browser window. You can also ask “open the Tramuri report,” run tramuri status --open, or run tramuri status --refresh to refresh without opening the browser.

The local report opens in English or Brazilian Portuguese and shows work perspective (Product Engineer/FDE) separately from the recorded actor. Actor labels are provided by the caller and are not authenticated; Tramuri does not infer a current Mission owner.

tramuri capabilities --type skill --json filters the latest declarative catalog. Scanning honors project ignore rules and sensitive-path exclusions; it does not read global agent settings, execute hooks, start MCP servers, or make network connections.

Codex, Claude Code, Cursor, Gemini CLI, and GitHub Copilot receive native project instructions, Tramuri skills, and project-local hooks. The hooks block supported local project tools until tramuri start or tramuri resume succeeds for the current prompt/turn. They do not read or store prompt text or Mission records. Hooks follow each host's trust settings; disabled, unsupported, or bypassed hook paths are not enforced (including hosted Codex tools and Copilot surfaces other than the documented hook-capable runtimes). Direct preflight queries (tramuri --version, tramuri status, and tramuri mission list) remain available while locked but do not unlock the gate. Instructions remain fallback guidance. Installation preserves unrelated instructions and hook entries. Cursor uses .cursor/rules/tramuri.mdc, .cursor/skills/tramuri/, and .cursor/hooks.json; Copilot uses .github/hooks/tramuri.json; the other hosts use their native instruction, skill, and hook locations.

tramuri install --project --platform copilot
tramuri install --project --platform claude
tramuri install --project --platform cursor
tramuri install --project --platform gemini

tramuri status summarizes the workspace, tramuri status --open generates and opens the local report, tramuri status --refresh refreshes the report files without opening a browser, and tramuri resume --mission <id> reconstructs recorded work and readiness for the selected next activity. A Mission can start without criteria; its Outcome stays pending until required criteria are added and reviewed. Readiness is advisory and never blocks execution:

tramuri start --goal "Criar um produto para pequenos negócios"
tramuri status
tramuri resume --mission <id>

tramuri start creates an exploratory Mission and routes clear phrases to a work perspective. Product Engineer Missions start with product_framing; other perspectives start with Discovery. The Context Readiness stays not_assessed until someone records an assessment. When intent is unclear, provide --perspective product_engineer|fde|mixed|other or ask the assistant to clarify. Routing in the Rust Core uses a small phrase set; it does not claim general natural-language understanding. A connected assistant can suggest a perspective, which the user can correct.

Choose a default perspective for this workspace with:

tramuri profile set product_engineer
tramuri profile set fde --ask always
tramuri profile set auto

The current Mission focus can be changed without changing perspective provenance or approving Context Readiness. Product Engineer phases can use product_framing, discover, define, scope, prototype, implement, validate, launch, and learn. Record a meaningful Execution once work starts, then close that same record explicitly:

tramuri mission workflow set --mission <id> --perspective product_engineer --activity prototype
tramuri mission workflow set --mission <legacy-id> --perspective product_engineer --source inferred --activity product_framing
tramuri mission workflow activity --mission <id> --activity discover
tramuri execution update --id <execution-id> --status completed

The available terminal statuses are completed, blocked, failed, and cancelled. Execution completion does not verify the Mission outcome. Add or revise criteria during Discovery when they become clear:

tramuri readiness assess --mission <id> --activity discover --state needs_review \
  --gap "Interview data is not available yet"
tramuri status --open

Use tramuri readiness show --mission <id> to review the current assessment and its history. Changing the objective, Success Contract, or explicitly linked Knowledge/Capabilities marks the latest readiness as stale while retaining the original assessment. tramuri mission list discovers Missions. The report files are .tramuri/reports/tramauri.html, tramauri.md, and tramauri.json. Opening an older supported database can apply its existing schema migrations; status reads do not change Mission, execution, evidence, or outcome records. These commands work without an assistant; integrations are optional.

Knowledge and discovered Capabilities can be explicitly associated with a Mission using tramuri mission link-knowledge and tramuri mission link-capability. tramuri resume --mission <id> includes only those recorded associations. Tramuri does not infer Mission relevance; capability links retain the observed source hash and become changed, missing, or unverified after later scans. Actor attribution is caller supplied and is not authenticated.

Follow complete synthetic projects from setup to handoff in the Product Engineer and FDE examples.

How an assistant can use Tramuri

The project installer gives a supported assistant persistent, platform-native workflow guidance. For substantive project work, the instructions direct the assistant to start or resume a Mission before exploring files or invoking other creation tools, then continue the requested task. The skill explains the workflow; the CLI performs Tramuri operations against local project state. Hooks do not inspect prompts or force an assistant to follow instructions, so this remains host guidance rather than a technical enforcement mechanism.

Interface Use
CLI Run local discovery, knowledge, and mission workflows.
Assistant skill and instructions Help an installed assistant choose and use Tramuri's CLI.
Python SDK Call the same Rust-backed capabilities from Python applications.
MCP No Tramuri MCP server is available currently; use the CLI or SDK.

Mission creation does not require a Git repository or project scan. See the product vision for Tramuri's scope and principles, and the changelog for release history.

Project status

Tramuri is in active early development. Project and Capability Discovery, persistent knowledge, Missions, explicit Knowledge/Capability links, manual Execution and Evidence records, and criterion assessments are part of the current product. Capability formats are platform-specific; only documented project paths are recognized. Versioned Context Pack and Evidence Pack export is planned; it will use explicit selection and authorization and will be safe by default.

Community

Metadata

Release files for tramuri 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tramuri 0.8.0
File Size Uploaded Provenance Actions
tramuri-0.8.0.tar.gz 164.6 kB With provenance Details for tramuri-0.8.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for tramuri 0.8.0
File Actions
tramuri-0.8.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for tramuri-0.8.0-cp311-abi3-win_amd64.whl
tramuri-0.8.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details for tramuri-0.8.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
tramuri-0.8.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for tramuri-0.8.0-cp311-abi3-macosx_11_0_arm64.whl
tramuri-0.8.0-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details for tramuri-0.8.0-cp311-abi3-macosx_10_12_x86_64.whl

Total release size: 13.2 MB

Release files / tramuri-0.8.0.tar.gz

Download URL tramuri-0.8.0.tar.gz
Size 164.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7deac7b6dbfbe5f1dc5efc9a130d4caf07f67e1a4d7161facb9c9c534ec01aca
BLAKE2b-256 checksum
How to use checksums
7a8c1571c27173b52a70fca0c5dabb740c1eb4a9567a1fe7903d8d8419ccf303
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / tramuri-0.8.0-cp311-abi3-win_amd64.whl

Download URL tramuri-0.8.0-cp311-abi3-win_amd64.whl
Size 3.1 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
67b02754358e385b88c5eaad3ae08bf412b202875313fce44a18f5914ec5c982
BLAKE2b-256 checksum
How to use checksums
a5d61c73a87271fd15425314e7bdb491e337a6e7e2760a12c198863b4af4ac18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / tramuri-0.8.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tramuri-0.8.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.5 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
6c9ace3066e90c540c0a3c1f3a2363a61d216ac5d16cb58821631175c772de72
BLAKE2b-256 checksum
How to use checksums
effcd548c6f72edd551cab46051ce8306456b48d6538f50483e3e3d74faded1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / tramuri-0.8.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL tramuri-0.8.0-cp311-abi3-macosx_11_0_arm64.whl
Size 3.2 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a647c83fb5f992ba9b1d587ae9d6e003f880d9187238d5cfef24fe25b323961e
BLAKE2b-256 checksum
How to use checksums
7c31a1563f2eaf08c3dc796189cafc0bfcf3d5c328853add53da8d754f5d4c4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / tramuri-0.8.0-cp311-abi3-macosx_10_12_x86_64.whl

Download URL tramuri-0.8.0-cp311-abi3-macosx_10_12_x86_64.whl
Size 3.3 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ef07eafb3ee3319081195c1d6f2cabf12f17089ee406847961d23132de364a70
BLAKE2b-256 checksum
How to use checksums
c46054684353e641bb40bc416233d365503b8f2cee9b173ef3341da7572bfabe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for tramuri 0.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 5 files in this release have been uploaded with provenance metadata.

Select from 5 files

Attestation for tramuri-0.8.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page