harahara
Core ConceptsThe Org Model

The Org Model

Roles, review chains, plans, and memory — why hara behaves like a team instead of a single agent.

Roles

A role is a markdown agent definition (.hara/roles/*.md) with a persona, an optional model override, a tool subset, and routing keywords (owns / rejects). hara org "<task>" dispatches each task to the role that owns it.

hara roles init          # scaffold implementer / reviewer / docs
hara org "add billing"   # → routed to the owning role

Roles load from five layers, lowest→highest precedence: plugins < org (B-end push) < global (~/.hara/roles) < .claude/agents < project (.hara/roles).

Review chains

--review loops a reviewer role against the implementer's diff until it's clean.

hara org "add OAuth login" --review --rounds 5 --commit

Plans as a DAG

hara plan decomposes a task into atoms with dependencies, runs independent ones in parallel, and gates each on a verify check. Plan state lives in .hara/org/plan.json (inspectable, resumable).

Persistent memory

Memory is cwd-independent and always loaded — global (~/.hara/memory) plus per-project. The agent records decisions and distills daily logs into durable facts. It's the same brain whether you drive hara from the terminal or from a chat app.

Was this helpful?
harahara
Copyright © Cruip. All rights reserved.