npm.io
0.2.8 • Published 2d agoCLI

ares-harness

Licence
MIT
Version
0.2.8
Deps
0
Size
2.0 MB
Vulns
0
Weekly
0

ARES Harness · MISHKAN Runtime

A portable SWE R&D harness for Claude Code, Codex CLI, and OpenCode.

45 specialist agents · six teams · one research pipeline · one growing knowledge graph


ARES packages the current MISHKAN agent organisation as a portable harness. Quality and security aren't requested from the model — they're enforced by the environment: target-native guidance, skills, commands, MCP wiring, hooks where audited, and structural separation of generation from review. The knowledge graph (Cognee) persists what you learn so sessions pick up where the last one stopped. A code-structure graph (Graphify) answers "who calls X, who depends on Y" at 88× less token cost than loading source files.

It's personal, opinionated infrastructure built around one engineer's standards. To make it yours, replace docs/engineer/profile.md and re-sync — nothing else hardcodes the author.

v0.2.7 — agent fleet, rules, hooks, installer stable. Unified semantic ares <object> <verb> CLI with legacy mishkan aliases, engineer-gated curated promotion (knowledge curate, D-016), user-editable model-tier routing (model, D-017), and a confirm-gated knowledge reset. Cognee knowledge stack (per-project work · memory :7777 · curated :7730) + Graphify code graph. Observability stack (ares-watchd + ares-watch) as two uv tool-installable packages.


Install

Requires Node >= 18 plus at least one target runtime: Claude Code, Codex CLI, or OpenCode.

npx ares-harness install --target codex
npx ares-harness status --target all
npx ares-harness observability install      # optional: daemon + TUI (needs uv)

Full guide: docs/usage/01-installation.md.

First session

cd <project>
claude                    # starts in exploration mode — Nehemiah + Bezalel
/ares-init                # Claude Code: scaffold spec chain → docs/ → Cognee → Sprint S0

In Codex, invoke $ares-init after install/project init, or select ares-init through /skills. Codex does not support user-defined /<skill-name> commands, so bare /ares-init remains a Claude Code/OpenCode entrypoint. Details: docs/usage/02-project-init.md.


The teams

Nehemiah (PM — scope, delivery, sprint) and Bezalel (CTO — architecture, standards, quality bar) route everything. Six teams, each Lead → Specialists → QA → Reporter:

flowchart TD
    You(["You · the engineer"]) -->|talk| MS[["MAIN SESSION = leadership<br/>Nehemiah · PM + Bezalel · CTO<br/>the one orchestrator — delegates one level deep, then synthesises"]]

    MS -->|Task| CH["Chosheb<br/>Design / UX"]
    MS -->|Task| PA["Panim<br/>Frontend"]
    MS -->|Task| YA["Yasad<br/>Backend & data"]
    MS -->|Task| MI["Migdal<br/>Infrastructure"]
    MS -->|Task| SE["Sefer<br/>Documentation"]
    MS -->|Task| RP["Research pipeline<br/>Jakin → Ezra → Caleb → Shaphan → Shemaiah → Baruch"]

    MM["Mishmar · Security<br/>cross-cutting — gates every team"]
    MM -. gates .-> CH
    MM -. gates .-> PA
    MM -. gates .-> YA
    MM -. gates .-> MI
    MM -. gates .-> SE

    MS -. reads / writes .-> KN
    subgraph KN["Knowledge — 4 surfaces"]
      direction LR
      GFY[("Graphify<br/>code structure · per-project")]
      WORK[("cognee work<br/>per-project · isolated")]
      MEM[("cognee-memory :7777<br/>session memory · shared")]
      CUR[("cognee-curated :7730<br/>reference library · shared")]
    end

    MS -. stateful ops stay yours .-> HANDS["your hands<br/>git push · prod · schema migrations"]

One leadership session (Nehemiah + Bezalel) delegates one level deep to the six teams + the research pipeline, then synthesises. Within each team: Lead → Specialists → QA → Reporter (QA & Reporter structurally separate — no agent grades its own work). Mishmar's security gate crosses every team. It reads/writes four knowledge surfaces, and stateful operations — git push, production, schema migrations — stay in your hands (the asymmetric AI/human boundary). Diagrams render on GitHub.

Team Hebrew Domain
Chosheb cunning work Design & UX
Panim face Frontend
Yasad foundation Backend & data
Mishmar guard Security (cross-cutting)
Migdal tower Infrastructure & ops
Sefer scroll Documentation (pull-based)

A shared research pipeline (Jakin → Ezra → Caleb → Shaphan → Shemaiah → Baruch) is invokable by any agent that hits an unknown. All 45 names + biblical sources: docs/design/MISHKAN_agent_aliases.md.


Knowledge stack

Wired by /ares-init into each project's target-native MCP/config files:

Cognee — semantic knowledge graph. Per-project isolated work store (own port, Ladybug) + shared session memory (cognee-memory, :7777) + cross-project curated reference library (cognee-curated, :7730). Docker-based, pinned, SOPS-managed secrets. Three pillars wired per project by /ares-init (D-007 + D-012).

ares knowledge configure           # wizard: LLM provider + credentials + .env
ares knowledge-stack up            # memory :7777 + curated :7730 (guided; preflights config, seeds curated)

Guide: payload/mishkan/cognee/README.md · docs/usage/04-memory-layer.md.

Graphify — deterministic code-structure graph (D-008 + D-009). Indexes a project's full AST into a queryable graph. For structural questions ("who calls X", "what depends on Y") it costs ~1.8k tokens per query — 88× cheaper than loading the source tree. Runs as a PreToolUse advisory: before every structural Read or Grep, agents see a palette of four surfaces (Graphify, Cognee work, Cognee curated, literal content) with token costs and staleness signals so they pick the cheap path first. Auto-detected and wired by /ares-init.

ares code-graph scan               # build/refresh for the current project
ares code-graph status             # node/edge count, last scan time

Observability

Two Python packages (uv tool-installable): a daemon (ares-watchd) that tails every session's event bus and a Textual TUI (ares-watch) with 8 tabs — Live, Agents, Workflows, Knowledge, Activity, Org-Ref, Usage, Skills. Cross-session, cross-project, near-zero overhead.

ares observability install         # install both packages
ares-watch                         # opens TUI, auto-starts daemon if absent
ares-watchd start|stop|status      # manual daemon control

Guide + event schema: docs/design/MISHKAN_observability.md.

Workflows

Beyond the agents, MISHKAN ships dynamic JavaScript workflows that orchestrate multiple subagents in parallel — fan-out/synthesize, pipeline, judge panel, adversarial verify, loop-until-X.

Org-level (10): mishkan-sprint-close, mishkan-deep-research, mishkan-codebase-audit, mishkan-migration-wave, mishkan-architecture-panel, mishkan-release-readiness, mishkan-init, mishkan-blast-radius, mishkan-knowledge-gap-discovery, mishkan-standards-rollout.

Team-level (8): chosheb-feature-ship, panim-ds-rollout, yasad-data-migration-wave, yasad-schema-evolution, mishmar-security-gate, migdal-infra-change, migdal-dr-drill, sefer-release-notes.

Governed by hard caps (10 org + 4 per team) and PM+CTO co-ownership per ADR D-010. Catalogue + cost expectations: payload/mishkan/workflows/README.md.


Slash commands (inside a Claude Code session)

Command Purpose
/ares-init Scaffold a project — spec chain, docs, Cognee, Sprint S0
/ares-resume Restore sprint state + open blockers
/sprint-close Team reporters → aggregate → docs pull → graph promote
/ares-org-reference Print the 45-agent org inline
/code-graph status|open|scan Inspect / open / refresh Graphify graph
/skills <task> Skill-discovery router (3-bucket result)
/ares-skills-reindex Rebuild skill index from disk
/ares-skills-misses Aggregate miss-log for threshold tuning
/eval-baruch Run Baruch contract eval
/dependency-audit Cross-project dependency + supply-chain audit
/promote Promote a learning into Cognee by blast radius
/sefer-pull Trigger documentation pull

CLI commands (from any terminal)

ares help                                           # full reference
ares install --target codex                         # install/refresh a target
ares project init --target codex                    # scaffold target-native project wiring
ares uninstall                                      # remove Claude target files
ares knowledge configure                            # wizard: LLM provider + Cognee .env
ares knowledge curate                               # approve research-found resources into curated (D-016)
ares knowledge reset                                # wipe stores → re-seed curated baseline (destructive)
ares model show|set|reset                           # re-tier agents per-agent/team/all — survives updates (D-017)
ares observability install                          # install daemon + TUI only (needs uv)
ares status --target all                            # install state, profile, version
ares runtime check --target all --dir .             # global + current-project readiness checklist
ares org show [--json]                              # print the 45-agent org
ares code-graph [status|open|scan]                  # inspect the project's Graphify graph
ares-watch                                          # open observability TUI (auto-starts daemon)
ares-watch --no-autostart                           # TUI only, no daemon fork
ares-watchd start|stop|status                       # manual daemon lifecycle

Customisation

The harness serves the engineer described in docs/engineer/profile.md. Swap in your own (keep the section structure), then:

~/.ares/scripts/sync-profile.sh

Refreshes the runtime copy and audits references. Nothing else hardcodes the author. See docs/engineer/README.md.


Repository layout

bin/mishkan.js              installer (dependency-free)
bin/ares.js                 primary ARES entrypoint
payload/
  core/                       runtime-neutral manifest; resolves the compatibility source tree
  targets/                    Claude, Codex, and OpenCode adapter manifests
  mishkan/                    current compatibility source: agents, skills, hooks, workflows, Cognee
  user/                       user-level CLAUDE.md + standards rule (placed if absent)
  install/                    hook fragment merged into settings.json
docs/
  engineer/                   canonical engineer profile (replaceable)
  design/                     architecture, decisions, ontology, token model, observability
  usage/                      01-install … 12-skill-discovery

Key design docs

Doc Covers
Architecture 5 layers, 6 teams, knowledge model
Agent aliases 45 agents + biblical sources
Decisions Locked build decisions
Cognee ontology Knowledge graph schema
Token optimisation Context cost model
Observability Daemon + TUI event schema
Workflows Dynamic workflow catalogue

Usage guides: docs/usage/.


License

MIT — use it, fork it, make it serve your own engineering.

Built by >_theY4NN · github.com/Y4NN777

Keywords