Skip to main content

Harness engineering framework for AI coding agents -- the invisible skeleton that shapes agent output

Project description

Armature

The invisible skeleton that gives shape to what AI coding agents produce.

Armature is a harness engineering framework for AI coding agents. It wraps agents (Claude Code, Cursor, Copilot, Windsurf, Aider) in automated guides, sensors, budget controls, architectural enforcement, garbage collection, and self-healing pipelines.

Quick Start

pip install armature-harness

# Initialize in your project
cd your-project/
armature init

# Run quality checks
armature check

# Wire into Claude Code
armature hooks --claude-code

# Self-heal lint violations
armature heal --failures lint

The 6 Pillars

Pillar What CLI
Budget Token/cost tracking per spec/phase, optimization suggestions armature budget
Quality Lint + type + test checks, quality gates (draft/review/merge), shift-left hooks armature check
Context CLAUDE.md/AGENTS.md generation, progressive disclosure, cross-session memory armature hooks
Architecture Layer boundary enforcement, class conformance, schema sync armature check
GC Architecture drift, stale docs, dead code, budget audit armature gc
Self-Heal Auto-fix lint, report type/test errors, circuit breaker escalation armature heal

Configuration

Everything is configured in armature.yaml:

project:
  name: "my-project"
  language: python
  src_dir: "src/"

quality:
  enabled: true
  checks:
    lint: { tool: ruff, weight: 25 }
    type_check: { tool: mypy, weight: 25 }
    test: { tool: pytest, weight: 20, coverage_min: 85 }
  post_write:
    enabled: true  # shift-left: check on every file write

architecture:
  enabled: true
  layers:
    - { name: models, dirs: ["src/models/"] }
    - { name: services, dirs: ["src/services/"] }
    - { name: routes, dirs: ["src/routes/"] }
  boundaries:
    - { from: models, to: [routes] }

heal:
  enabled: true
  healers:
    lint: { auto_fix: true }

integrations:
  claude_code: { enabled: true }

IDE Integrations

armature hooks --claude-code      # .claude/settings.local.json
armature hooks --cursor           # .cursor/rules
armature hooks --copilot          # .github/copilot-instructions.md
armature hooks --github-actions   # .github/workflows/armature.yml
armature hooks --pre-commit       # .pre-commit-config.yaml

The Harness Engineering Model

Armature implements the harness engineering 2x2 grid:

Computational (fast, deterministic) Inferential (LLM-based)
Feedforward (guides) armature.yaml rules, architecture config, type hints CLAUDE.md rules, spec constraints
Feedback (sensors) ruff, mypy, boundary checks, conformance, GC sweeps LLM code review, eval judges

Claude Code Skills

Armature provides slash commands for Claude Code:

  • /armature-check -- Run quality sensors
  • /armature-heal -- Self-healing pipeline
  • /armature-gc -- Garbage collection sweep
  • /armature-budget -- Cost tracking and reporting

Budget Control

Track and optimize AI coding costs:

# Log usage
armature budget --spec SPEC-001 --phase build --tokens 50000 --cost 1.25

# Generate report
armature budget --report SPEC-001

Armature analyzes phase distribution, per-request token usage, and suggests optimizations: batch file reads, narrow context, progressive disclosure.

References

License

MIT

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

armature_harness-0.2.1.tar.gz (789.0 kB view details)

Uploaded Source

Built Distribution

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

armature_harness-0.2.1-py3-none-any.whl (121.9 kB view details)

Uploaded Python 3

File details

Details for the file armature_harness-0.2.1.tar.gz.

File metadata

  • Download URL: armature_harness-0.2.1.tar.gz
  • Upload date:
  • Size: 789.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for armature_harness-0.2.1.tar.gz
Algorithm Hash digest
SHA256 d179a3372ca1010187ef2804070bde33bb66237afa51b65abf86a7c8c66e4a0c
MD5 4908e43e2bae19d42c814743a70f4b17
BLAKE2b-256 fa86eb7222b35eb17874bedb75f807cfdbac54b46258363536a27878a5d2c829

See more details on using hashes here.

File details

Details for the file armature_harness-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for armature_harness-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f28f7da8e11bac3c5072f9e71518fdadf8d35deabbcd7283b399f18cb4001ee6
MD5 6984364c25ad6342b833c47744487bac
BLAKE2b-256 1ececc773d42e9e14f0604882dc4e9bd0ad59c3feb3f3fee5d53b4748d113adc

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