Skip to content

Commit bbc5ce5

Browse files
committed
docs: initial design β€” 17 ADRs + README + OVERVIEW
Seeds the repo with the full design for agent-harness-generator: - README.md β€” SEO-optimized hero + architecture + host support + roadmap in ruflo style - LICENSE β€” MIT - docs/OVERVIEW.md β€” 3-minute plain-language project overview - docs/adrs/INDEX.md β€” read-in-order ADR series guide - docs/adrs/ADR-001 through ADR-016 plus ADR-002a β€” 17 ADRs covering goals, kernel boundary (Rust + WASM + NAPI-RS), Rust/wasm/napi pipeline, generator architecture, host integration (Claude Code, Codex, pi.dev, Hermes), marketplace plugin design, memory & learning (cites @ruvector/emergent-time@0.1.0), CI guards, drift detection, anti-slop, TDD contracts, witness & provenance, eject + upgrade, vertical packs, self-evolution + federation, naming/branding, and migration for ruflo users Pre-implementation. Engineers implement against these documents. Mirror branch on ruflo: feat/harness-generator-adrs. Co-Authored-By: RuFlo <ruv@ruv.net>
0 parents  commit bbc5ce5

19 files changed

Lines changed: 5316 additions & 0 deletions

β€Ždocs/OVERVIEW.mdβ€Ž

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# agent-harness-generator
2+
3+
> A CLI that scaffolds custom AI agent harnesses β€” the way `create-vite` scaffolds web apps, but for vertical agent systems.
4+
5+
**Status**: Pre-implementation. The repo `ruvnet/agent-harness-generator` does not exist yet. This directory holds the Architecture Decision Records (ADRs) that define what the system is, how it is structured, what it ships, and which trade-offs were taken. Engineers implement against these documents.
6+
7+
**Read in order**: [adrs/INDEX.md](./adrs/INDEX.md).
8+
9+
---
10+
11+
## What is this in one paragraph
12+
13+
Ruflo today is a tightly-bundled product: a kernel of primitives (MCP server, hooks runner, memory bridge, swarm coordinator, intelligence pipeline, claims, 3-tier routing) fused to opinionated content (60+ agents, 30+ skills, 33 plugins). `agent-harness-generator` factors that apart. A user runs `npx create-agent-harness <name>`, picks the primitives they want, picks the content they want, supplies a name and a brand, and gets a brand-new npm-publishable harness with its own `npx <their-name>` CLI, its own MCP server registration, its own memory namespace, its own marketplace identity. The generator handles trivial scaffolds (a 3-agent customer-support harness) and exotic compositions (federated multi-host swarms with a vertical-specific intelligence pipeline) from the same machinery.
14+
15+
## Why this exists
16+
17+
Three forces are pushing toward this:
18+
19+
1. **Ruflo is converging.** People want their own brand, their own agents, their own skill packs, their own marketplace listings. Forking ruflo to get them is a one-way door β€” they lose every future kernel update.
20+
2. **The hosts have multiplied.** Claude Code is no longer the only place users want their harness to run. OpenAI Codex CLI has MCP support, the Hermes-agent / Nous Research stack has its own conventions, and the pi.dev developer platform is emerging. A scaffolded harness should target any host without rewrite.
21+
3. **The marketplace is heating up.** A scaffolded harness is also a marketplace participant β€” it both consumes plugins from the ruflo IPFS registry and (optionally) publishes its own scoped plugins back. Without a generator, every new participant rebuilds 80% of the same infrastructure by hand.
22+
23+
## What is in this directory
24+
25+
| Path | Purpose |
26+
|---|---|
27+
| `README.md` | (you are here) 3-minute orientation |
28+
| `adrs/INDEX.md` | Read-in-order index for the ADR series |
29+
| `adrs/ADR-001-…` through `adrs/ADR-016-…` (plus `ADR-002a-…`) | The decisions, each independently reviewable |
30+
31+
No code lives here. No code should live here. This directory is the contract that the eventual repo `ruvnet/agent-harness-generator` will be built against.
32+
33+
## Three minute reading path
34+
35+
If you have three minutes:
36+
37+
- Read **ADR-001** (Goals and non-goals) β€” what we are and are not building.
38+
- Skim **ADR-002** (Kernel boundary) β€” the single load-bearing decision.
39+
- Skim **ADR-003** (Generator architecture) β€” how the CLI works end-to-end.
40+
41+
If you have fifteen minutes, read those three plus **ADR-004** (host integration), **ADR-007** (CI guards), and **ADR-009** (anti-slop). That set defines the system perimeter.
42+
43+
The rest of the series fills in: memory integration, drift detection, witness/provenance, eject/upgrade, vertical packs, self-evolution + federation, naming/branding, and migration for existing ruflo users.
44+
45+
## Conventions
46+
47+
- ADRs are numbered `ADR-NNN-kebab-case-slug.md`, three-digit padding.
48+
- Each ADR follows the standard ruflo template (`Title / Status / Context / Decision / Consequences / Alternatives / Test Contract / References`).
49+
- "We" in the ADRs means the agent-harness-generator project, not the ruflo monorepo. Where a decision binds back to a ruflo ADR, the ruflo ADR is cited by number.
50+
- Plain language is the rule. Terms of art are defined inline at first use.
51+
52+
## Out of scope for this ADR set
53+
54+
These are explicitly **not** decided here, and have been deferred:
55+
56+
- A hosted web UI ("generator-as-a-service"). May appear in a later phase; see ADR-001 Β§Non-goals.
57+
- A non-npm distribution channel for generated harnesses (e.g. PyPI for Python harnesses). Future work.
58+
- A formal certification programme for marketplace plugins. ADR-009 specifies a reputation-and-signal model, not a certification body.
59+
60+
## Who should read this
61+
62+
- **Implementers.** If you are about to write `packages/create-agent-harness`, read ADR-001 β†’ ADR-003 β†’ ADR-010 (TDD contract) first.
63+
- **Reviewers.** If you are reviewing a PR against this repo, the ADR it amends or supersedes should be in the PR description.
64+
- **Adopters.** If you want to ship your own harness, you do not need to read these. Wait for the `create-agent-harness` CLI to exist; read its user docs then.

0 commit comments

Comments
Β (0)