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.0.tar.gz (499.9 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.0-py3-none-any.whl (119.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: armature_harness-0.2.0.tar.gz
  • Upload date:
  • Size: 499.9 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.0.tar.gz
Algorithm Hash digest
SHA256 fb55bf0afc93fd61e311e37a3a766e8960a322764f8cb8d6444fc797c7ff8531
MD5 be60f029ffb3254ad787a9350537b633
BLAKE2b-256 88abf795438cf686aaea366f1e805ffb42942f2df716af29b7db9e3b8d28f6bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for armature_harness-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb0e3abdfd6584b3ee350eb9de2832389860fae25c499b51c0ba87b93fb39d30
MD5 4cb9574b94e2d5f4d8ae52d34c479ee7
BLAKE2b-256 677bb1854aab6b7c98b1b293bbc18200569563465bf1dd23aa1a5aef54bd2938

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