The coding agent that remembers you.

Persistent Memoria. P2P mesh. Personas that grow. Bun-native 93 MB binary. MIT‑licensed.

curl -fsSL https://ariacli.com/install.sh | sh

Built in the open · MIT-licensed · Bun-native · no cloud required

What makes ARIA different

🧠  Memoria

A real knowledge graph: SQLite FTS + vector + entities + temporal facts. Every decision, every bug, every person — remembered, queryable, and persistent across every session.

🕸️  P2P Mesh

Built-in WireGuard mesh. Invite a peer with one token; arions on your laptop, your homelab, and your Pi collaborate and delegate. No cloud, no relay, no config.

🎭  Arions

Not stateless subagents — personas with their own memory, skills, autonomy, and mood. Hatch Luna for creative work, Forge for shipping, Pulse for QA. They accumulate identity the longer they run.

🛡️  Safety that's visible

Claude-Code-compatible hooks (PreToolUse, PostToolUse, UserPromptSubmit, …), three sandbox modes, budget-capped quests. The boundary is in your status bar, not a black box.

💬  Messaging gateway

Text your arion from Telegram, Discord, or iMessage. The gateway runs locally and routes over your mesh. Set up in two commands.

⏰  Scheduler

aria schedule create "every monday at 9am" "summarize my PRs". Results land in your terminal, Slack, or phone — wherever you want them.

vs the field

Claude Code Codex CLI OpenCode Hermes ARIA
Persistent cross-session Memoria partial shallow partial
P2P mesh across machines
Personas with own memory subagents subagents sessions
Federated skill discovery Skills Skills Lib Hub ✅ RRF + trust
Single Bun-native binary Node Rust Go Python ✅ 93 MB
Messaging gateway

Five commands, five superpowers

# 1. Talk to ARIA
$ aria
> Remember that we use conventional commits in this repo.
🧠 remembered.

# 2. Diagnose everything
$ aria /doctor
✅ Runtime      bun 1.3.11
✅ Daemon       alive at http://127.0.0.1:7891
✅ Memoria      memoria.db (14.2 MB)
✅ Mesh         WireGuard configured
…

# 3. Text your arion from anywhere
$ aria gateway channels enable telegram
$ aria gateway channels set-token telegram <BOT_TOKEN>
$ aria gateway start
✅ Gateway live with 1 adapter.

# 4. Schedule cron-backed runs
$ aria schedule create "every monday at 9am" "summarize my open PRs"
✅ Scheduled sched_ab12…

# 5. Cross-machine delegation
$ aria /invite
Share this token with your peer: aria-inv-…
# on the other machine:
$ aria join aria-inv-…
✅ joined mesh — 1 peer connected

Your Claude Code hooks work here

ARIA ships a schema-compatible hooks system. Drop your existing ~/.claude/settings.json hooks into ~/.aria/hooks.json and they just work.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": { "tool": "bash", "argMatch": "rm -rf" },
        "hooks": [{ "command": "echo 'Not today'; exit 2" }]
      }
    ],
    "PostToolUse": [
      { "matcher": { "tool": "write_file" },
        "hooks": [{ "command": "prettier --write \"$ARIA_HOOK_CWD\"" }] }
    ],
    "UserPromptSubmit": [
      { "hooks": [{ "command": "jq -r .prompt | .aria/scripts/guardrail.sh" }] }
    ]
  }
}