Skip to main content

Deterministic agent-management framework that implements FRAME governance for AI-assisted software development.

Project description

Haxaml

PyPI version

Haxaml is a deterministic project-governance framework for AI coding workflows.

MCP first. CLI second.

It gives agents one shared source of truth called FRAME so context does not drift across tools.

What it does

  • keeps project truth in structured FRAME files
  • validates that structure before work starts
  • tracks runs, decisions, risks, and completed work
  • exports clean agent-ready prompt files from FRAME
  • exposes MCP tools so IDE agents can call governance directly

FRAME at a glance

File Purpose
.haxaml/facts.yaml project truth
.haxaml/rules.yaml how agents should work
.haxaml/acts.yaml task diary and decisions
.haxaml/expect.yaml expected next runs
.haxaml/map.yaml optional module ownership + impact map

Install

pip install haxaml

or with uv tools:

uv tool install haxaml
uv tool install haxaml-mcp

Quick start

haxaml init
haxaml validate
haxaml context --tokens
haxaml export

Default export writes HAXAML.md.

MCP-first lifecycle flow:

haxaml guidance --task "implement auth module"
haxaml session-start --task "implement auth module"
haxaml session-plan --session-id <id>
haxaml context-pack --task "implement auth module"
haxaml verify --task "implement auth module" --summary "what changed"
haxaml session-record --task "implement auth module" --result success

Optional agent-specific exports:

haxaml export --agent claude
haxaml export --agent codex
haxaml export --agent copilot
haxaml export --agent cursor
haxaml export --agent windsurf
haxaml export --agent gemini

Safe preview before writing:

haxaml export --dry-run --diff-preview --target CLAUDE.md

MCP setup (recommended)

Use uvx in your MCP client config:

{
  "mcpServers": {
    "haxaml": {
      "command": "uvx",
      "args": ["haxaml-mcp"],
      "env": {
        "HAXAML_PROJECT_DIR": "/path/to/project"
      }
    }
  }
}

You can also generate project-local bootstrap config with:

haxaml mcp-bootstrap --mode write --editor generic

Upgrade

haxaml upgrade

Pin a specific version:

haxaml upgrade --to 0.3.0

Why FRAME even when markdown can be smaller?

In some fixtures, raw markdown is smaller than YAML. That is normal.

Haxaml is not only about raw token count. The value is deterministic governance:

  • validation gates
  • compact compiled exports
  • explicit decisions and risks
  • stable multi-agent handoff

Docs

  • MCP.md for MCP tool contracts, lifecycle, and structured response shapes.
  • ADVANCED.md for deeper command reference and export behavior.
  • LONGTERM.md for roadmap and major-version direction.

Project details


Download files

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

Source Distribution

haxaml-0.3.0.tar.gz (83.0 kB view details)

Uploaded Source

Built Distribution

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

haxaml-0.3.0-py3-none-any.whl (75.2 kB view details)

Uploaded Python 3

File details

Details for the file haxaml-0.3.0.tar.gz.

File metadata

  • Download URL: haxaml-0.3.0.tar.gz
  • Upload date:
  • Size: 83.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for haxaml-0.3.0.tar.gz
Algorithm Hash digest
SHA256 37713a414329fea94059c45b926559434625ff6528c7b6b0714a54f5138c1d4e
MD5 14c1480c1c34d868fa1391a04d673de0
BLAKE2b-256 2fff7a0cd814cde8e80f50aaa7747f1f8bbdfc35fad4943d37d029f171d21aaf

See more details on using hashes here.

File details

Details for the file haxaml-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: haxaml-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 75.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for haxaml-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 618adf2a2ffacf529258f04d228363f31f76a1fdeb78f3f90358b2c817fa267c
MD5 757a4ee90514c8989cd3398bfd9ed250
BLAKE2b-256 431eabe78522e9e88b7bbcffc4f6532cb3d04696b5625bcf5851803c323b869a

See more details on using hashes here.

Supported by

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