Fork me on GitHub
Field manual Β· read cover to cover in about ten minutes

The toolbox that keeps your AI stack honest.

agentic-kit in one sentence: it's one npm package that installs your agentic tooling, heals it every time an upgrade quietly breaks something, and β€” the part that makes it different β€” proves the whole stack actually works instead of assuming it does.

pkg @pacphi/agentic-kit runtime deps zero node β‰₯ 22 platforms macOS Β· Linux Β· Windows license MIT
PANEL 01Start with why

Great tools drift. Trust shouldn't.

agentic-kit exists because of a very specific, very modern kind of heartbreak. You wire up an AI agent stack β€” persistent memory, self-learning, security scanning, background workers β€” and it's glorious. Then one npm upgrade later, some of it is quietly off. Not crashed. Not erroring. Just… silently doing nothing, while printing "OK."

These aren't hypotheticals. Each of these really happened, and each one now has a guard in the kit that traces back to a filed upstream issue:

Incident Β· memory

Writes that vanish while printing "OK"

npm upgrades drop native SQLite bindings. The memory CLI keeps reporting success — but nothing lands on disk. The kit now does a verified store→disk write and load-tests the natives.

Incident Β· security

A defense layer, silently dead

A package the CLI still imported simply stopped shipping (ruflo #2670) β€” and prompt-injection defense went dark without a peep. The kit proves security end-to-end against the real CLI.

Incident Β· statusline

Status displays that lie by omission

Statuslines regenerate themselves without telling you what's actually enabled. The kit's footer shows each segment only when it's genuinely active β€” an empty footer is information too.

Incident Β· daemons

Background workers burning tokens

Unsupervised daemons used to spend real money overnight. The kit sets up local-only ($0) workers by default; token-spending AI workers stay opt-in behind a machine-wide budget.

WHY trust, proven HOW WHAT WHY β€” the belief A capability you can't prove is on should be treated as off. HOW β€” the method Detect drift β†’ converge to healthy β†’ prove it against the real CLIs. WHAT β€” the artifact One zero-dependency npm package: the ak command and its dashboard.
DWG 01 Β· The golden circleafter S. SinekSheet 1 of 2

Most tooling starts at the outer ring β€” what it does. agentic-kit starts at the center: the conviction that in a fast-moving agent ecosystem, proof beats promises. Everything else on this page is that belief, mechanized.

The operating principle

Upstream ships fast, and that's good. This kit's job is the gap: detect the drift, converge to a healthy state, and prove it β€” never assume it.

PANEL 02What's in the box

Open the drawers

You install exactly one package by hand. Everything else β€” the whole stack below β€” is installed, wired, healed, and verified for you by ak setup. Here's what ends up under management:

Drawer A

ruflo (claude-flow)

The orchestration engine: persistent memory, self-learning, security scanning, swarms, and background workers for Claude Code. The kit installs it globally, builds its native SQLite past npm's allow-scripts gate, and pins its memory store so writes verifiably land.

memory + HNSWneural learningaidefence300+ MCP tools
Drawer B

agentic-qe

A quality-engineering fleet: AI test generation, coverage analysis, quality gates, security scans. The kit keeps its companion agentdb CLI pinned to ruflo's bundled version so the shared learning store stays coherent.

test generationcoveragequality gatesagentdb pinned
Drawer C

RuvNet Brain

An offline, source-cited knowledge base over the rUv stack (~2 GB, one-time, prompted). It powers the search_ruvnet tool, so answers about ruflo/AgentDB/RVF/SPARC cite real source instead of stale training priors.

offline KBcited answersdrift-checked
Drawer D

The hosts

The agent CLIs that drive sessions: Claude Code by default, Codex opt-in (both at once, in "ambidextrous" dual-host mode), and OpenCode as an explicitly-routed third. Absent hosts get installed; externally-managed ones (brew/mise) are detected and never touched.

claude β€” defaultcodex β€” opt-inopencode β€” explicit
Drawer E

The kit's own surfaces

What agentic-kit adds on top: an honest statusline footer, a local web dashboard with five areas (About Β· Overview Β· Usage Β· Observability Β· System), a maintainer admin panel, and the ak CLI itself β€” zero runtime dependencies, SQLite embedded.

statuslinedashboard :7431admin :7432ak / agentic-kit

The workbench β€” every daily-driver verb

Command
What it does, in a phrase
ak
Status plus one suggested next action β€” the "what should I do?" answer.
ak setup
First-time setup for the machine, your user config, and the project you're standing in.
ak status
Read-only truth: per-subsystem βœ“/⚠/βœ—, each drift row naming what sync would do about it.
ak sync
The one convergence verb: upgrade β†’ heal β†’ verify. When in doubt, run this.
ak dashboard
Local web dashboard β€” localhost-only, token-guarded, observation-only.
ak host
See, pick, and reversibly tear down execution hosts, routing, and provider bindings.
ak run
Execute a multi-worker activity pipeline (feature, security, refactor…) across hosts.
ak about Β· system
What each component is and why it's there Β· your machine's actual footprint.
ak uninstall
Leave cleanly. Project data is never touched; --purge offers the global packages too.

Power-user plumbing lives under ak x … (verify, harvest, statusline, mcp pick, reference sync…) β€” ak --help --all lists the lot. And every mutating command takes --dry-run and prints its plan, with reasons, before touching anything.

PANEL 03How it works

The convergence loop

Everything the kit does is one loop, run over and over for the life of your machine: detect what's drifted, converge back to healthy, prove the result against the real CLIs. Three verbs, three commands.

DETECT ak status CONVERGE ak sync PROVE ak x verify Β· real CLIs the loop runs for the life of the machine upstream ships a new release (drift enters here) upgrade first, re-heal what the upgrade wiped, self-update last health-history ledger so regressions get flagged
DWG 02 Β· Detect β†’ Converge β†’ Proveruns after every upgradeSheet 2 of 2
Detect Β· ak status

Truth, not vibes

Every subsystem gets a βœ“/⚠/βœ— β€” natives load-tested, memory pin checked, hosts and providers compared against what you chose. Each drift row says exactly what sync would do about it.

Converge Β· ak sync

One verb heals everything

Upgrades first, then re-applies everything an upgrade wipes: native builds, guidance blocks, provider wiring, routing policy, the Brain. The kit self-updates last, so new code never applies mid-run.

Prove Β· ak x verify

Evidence, end to end

Verification runs the real installed CLIs β€” a memory write that must land on disk, a security scan that must actually scan. If it can't be proven, status says so instead of guessing.

What that looks like β€” a real ak status, from a real machine

This is an unedited capture from the maintainer's own machine while writing this page. Note the two ⚠ rows: honest drift, each naming exactly what sync would do about it. A status that's all green all the time isn't honest β€” this one earns its checkmarks.

captured live Β· unedited
$ ak status
  βœ“ versions    ruflo 3.34.0 (latest)
  βœ“             agentic-qe 3.13.10 (latest)
  βœ“             @openai/codex 0.147.0 (latest)
  βœ“             opencode-ai 1.18.15 (latest)
  βœ“ ruvnet-brain release v4.0.28 (latest)
  βœ“ self        kit 4.0.0-alpha.41 (latest)
  βœ“ natives     native better-sqlite3 in 1 agentdb location(s)
  βœ“             ruflo memory runtime native (memory, cli)
  βœ“ memory      native-agentdb active writer: 2253 active entries
  βœ“ security    @claude-flow/security + aidefence present (defend functional)
  βœ“ learning    1337 patterns learned, 1400 trajectories (this project)
  βœ“ aqe         agentic-qe initialized here; RVF store healthy
  βœ“ agentdb     agentdb 3.0.0-alpha.17 (coherent with ruflo)
  βœ“ mcp         claude-flow registered (user scope), all families allowed
  βœ“ hosts       claude 2.1.226 (external β€” self-managed)
  βœ“             claude auth: oauth (subscription, $0)
  βœ“             codex 0.147.0 (npm) Β· oauth (subscription, $0)
  βœ“             opencode 1.18.15 (npm) Β· oauth (subscription, $0)
  ⚠ providers   provider config drifted (want claude+codex+opencode)
                β†’ sync re-applies provider env + aqe router
  ⚠ routing     12 activities β†’ 12 agent overrides β€” llm-config.json out of sync
                β†’ sync re-applies agentOverrides
  βœ“ daemons     2 running (one per active project is expected)
  βœ“ blocks      CLAUDE.md managed blocks in sync (9 in registry)
  βœ“ statusline  activation footer present and current
  βœ“ qe-court    qe-court panel valid (vendor-diverse, jury independent of writer)

Abridged only by removing a few repeated sub-rows for width β€” every line shown is verbatim. The full output runs 38 lines and covers 23 subsystems.

The honesty mechanisms β€” how "proven" is built in

🧾

Every guard cites its incident

Each protection traces to a filed upstream issue, with the investigative history archived in docs/archive/. No superstition-driven code.

πŸͺ§

Managed blocks, never clobbering

Guidance lands between BEGIN/END markers in ~/.claude/CLAUDE.md (and Codex's AGENTS.md) β€” merged backup-first; your own content is never touched.

πŸ”

Plans before mutations

Every mutating command takes --dry-run and prints its plan with reasons. You always see the impact before anything changes.

πŸ“‰

Regressions get remembered

Every sync appends a health snapshot; status flags backsliding β€” learning shrank, native slots dropped β€” instead of letting it pass silently.

Under the hoodPlain Node β‰₯ 22 ESM with zero runtime dependencies (SQLite embedded), one bin entry, and modules under src/. CI runs the suite on three OSes Γ— Node 22/24/26; a nightly job installs the latest live upstream packages and re-proves the kit against them β€” so upstream drift is caught the day it ships, not the day it bites you. There's even a monthly dev-container build check.
PANEL 04Who it's for

Two chairs at the same workbench

The kit was built by and for agentic engineers β€” people composing multi-agent systems who need their substrate to be provably on. But its "one command, self-healing" shape makes it just as useful if you'd rather never think about any of this. Both chairs are legitimate.

Chair one

The agentic engineer

  • Provable substrate. Memory, learning, and security verified against real CLIs β€” your agents stand on ground you can trust.
  • Multi-host routing. Claude for architecture and review, Codex for implementation and testing β€” per-activity, tunable, with cross-host escalation ladders.
  • Observability. The dashboard indexes your actual Claude/Codex/OpenCode transcripts: usage, limits, sessions, live agent activity.
  • Evidence discipline. Provider, model, and billing claims are labeled observed / configured / inferred / unknown β€” never conflated.
Chair two

The vibe coder

  • One command in, one command forever. ak setup once; from then on, "when in doubt, ak sync" is the entire mental model.
  • Self-healing you never see. Upgrades that would silently break memory or security get caught and repaired before you notice.
  • A dashboard instead of config archaeology. Open ak dashboard and see what's on β€” no spelunking through dotfiles.
  • No spend surprises. Background workers are local-only ($0) by default; anything token-spending is opt-in behind a budget.

The shared payoff: extra lift. Your AI-assisted sessions inherit persistent memory, grounded knowledge, quality gates, and honest status β€” without you maintaining any of it by hand.

PANEL 05Setup, dissected

What ak setup actually touches

One command, three concentric scopes. Knowing which is which is the whole trick to feeling safe: machine scope is global packages, user scope is your config files, project scope only triggers when you run it inside a git repo.

Once per machine

Global tools, built properly

Installs/updates ruflo, agentic-qe, and the pinned agentdb CLI globally β€” shepherding native SQLite builds past npm β‰₯ 11.17's allow-scripts gate (the usual silent-breakage culprit). Installs any enabled host CLI that's entirely absent.

npm i -g, healednatives load-testedhosts installed if absent
then your user-level config β€”
Once per user

Guidance, knowledge, and MCP

Merges managed guidance blocks into ~/.claude/CLAUDE.md (and ~/.codex/AGENTS.md on Codex machines), offers one-time MCP registration with a tool-family picker, installs the RuvNet Brain (~2 GB, prompted β€” skip with --no-ruvnet-brain), and deploys the token-audit skill.

managed blocksMCP pickerBrain (prompted)
and, if you're standing in a git repo β€”
Per project

The repo gets its instruments

A sanitized ruflo init, an absolute memory-path pin, a verified store→disk write, the statusline footer, and a background daemon with local-only ($0) workers. Fair warning, disclosed up front: project init runs ruflo init --full --force and can replace existing agent configuration — docs/SETUP.md spells out the contract, and --minimal skips project scope entirely.

memory pin + proofstatusline$0 daemon--minimal to skip
Flags worth knowing--yes accepts every prompt (containers, CI) Β· --codex / --opencode enable extra hosts Β· --primary-host codex flips who leads Β· --no-aqe / --no-security / --no-ruvnet-brain trim subsystems Β· and ak uninstall reverses the footprint cleanly.
PANEL 06The deeper features

Where it gets genuinely clever

Past the install-and-heal loop, three features do the heavy lifting for day-to-day work: multi-host execution, the honest statusline, and the local dashboard.

Feature file Β· 01

Hosts Γ— providers β€” two axes, never confused

A host is which agent CLI drives the session (Claude Code, Codex, OpenCode). A provider is which LLM serves inference (Anthropic, OpenAI, OpenRouter, Ollama…). The kit keeps these axes independent β€” OpenRouter is a provider behind a host, not another host β€” and converges both from one config with API keys kept in the environment, never written to disk.

Enable both frontier hosts and the kit seeds a per-activity routing policy β€” each kind of work goes to the host and model that suits it, and your edits survive every sync:

Activity
Leads
Why
architecture Β· design Β· review
claude
deep reasoning
implementation Β· testing
codex
fast iteration
security-scan (example)
opencode
explicit route only

Then ak run feature "add rate limiting" materializes a whole pipeline β€” architect β†’ coder β†’ tester β†’ reviewer β€” across hosts, with per-worker escalation ladders and --dry-run printing the exact plan first. Templates: feature, security, refactor, packaging, release.

Feature file Β· 02

A statusline that refuses to flatter you

Projects set up by the kit get an append-only footer under ruflo's own status line. Every segment appears only when genuinely active β€” so the line below is a health certificate, not decoration:

🧠 SONA patterns/trajectories Β· πŸ“ˆ route-RL metrics Β· πŸ›‘ aidefence Β· 🧿 Brain KB Β· βš™ daemons Β· πŸŽ“ AQE stats

Codex gets a managed native equivalent (ak x statusline codex native), kept converged by sync without rewriting the rest of your Codex config.

Feature file Β· 03

The dashboard β€” observation only, localhost only

One command opens a self-contained local web app on 127.0.0.1:7431, guarded by a per-session token, that never mutates anything. Five areas: About (a plain-words directory of everything the kit installed, and why), Overview (what's installed, wired, and routed β€” plus machine-wide intelligence), Usage (scorecards, limits, and sessions indexed from your local Claude/Codex/OpenCode transcripts), Observability (live and historical agent activity on an interactive canvas, with masked transcript evidence), and System (what the stack occupies on your machine β€” storage, runtime, catalog, and a project census).

Every capture below is real β€” taken from the maintainer's machine while this page was being written. First, Overview: the same subsystems as ak status, with the two warnings front and center and what sync would do about each:

127.0.0.1:7431 Β· #overview/summary Β· token-guarded
ak dashboard Overview area: System overview showing 2 warnings and 21 nominal subsystems, with providers and routing warning cards that each state the exact sync remediation, above a grid of green subsystem chips.

The Usage area turns your local transcripts into a scorecard β€” sessions, token volume, API-equivalent cost (clearly labeled list-price equivalent, not what a subscription bills), split by host, with a cost-per-day chart and a when-you-work heatmap:

127.0.0.1:7431 Β· #usage/score
ak dashboard Usage scorecard: 769 sessions, 17.2 billion tokens, 11,044 dollars API-equivalent, 128 engaged hours, 96.8 percent cache read rate, a cost-per-day bar chart, per-host cards for claude, codex and opencode, and a weekly work heatmap.

And Observability, watching live agent activity. This capture is pleasingly recursive: the session it's following is the Claude Code session that was writing this very page:

127.0.0.1:7431 Β· #observability/live
ak dashboard Observability Live view: one active session in the agentic-kit project, an execution map canvas showing a Claude Code coordinator node marked Process active just now, and a session stream panel awaiting selection.

A maintainer sibling, ak admin on :7432, tracks the project's own telemetry β€” repo traffic, npm momentum, CI state β€” with the same token discipline and zero external fetches from the page itself. Notice the tone: tiles say what they count and what they can't ("ak ships no opt-in counter β€” an honest gap, not a zero"):

127.0.0.1:7432 Β· ak admin Β· maintainer-only
ak admin panel: How many people section with tiles for 93 unique repo visitors, 3 contributors, 0 watching, and a deliberately blank opted-in installs tile explaining ak ships no telemetry, plus momentum sparklines for visitors, cloners and npm downloads.
FIELD TESTTry it in the next ten minutes

Three ways in β€” pick your risk appetite

Path A Β· The real thing

Install it on your machine

Node β‰₯ 22, npm, and the claude CLI are the whole prerequisite list. Two commands and the loop is yours.

Choose ifYou're ready to actually run with it, on real projects.
Path B Β· Zero footprint

A Codespace / dev container

Open the repo in GitHub Codespaces and pick the "try the published release" configuration β€” the kit installs into a disposable container with a sandbox repo, and your machine never knows.

Choose ifYou want to poke at it before installing anything locally.
Path C Β· Clean-room

The docker first-use env

cd docker && docker compose up --build ak replays a brand-new user's complete first run β€” install, setup, dashboard β€” in total isolation from your host tooling.

Choose ifYou like watching a full first-install prove itself end to end.
# Path A, in full β€” this is genuinely the whole thing:
npm install -g @pacphi/agentic-kit@next   # alpha channel until 4.0.0 GA
ak setup       # machine + user + (inside a repo) project β€” prompts disclosed
ak status      # see the proof: every subsystem, βœ“/⚠/βœ—
ak dashboard   # and here's your stack, in a browser

From then on, the entire maintenance story is one habit: when in doubt, ak sync.

FIELD NOTESThe questions everyone asks

Straight answers

Do I need to install ruflo or agentic-qe myself first?

No β€” and that's the point. agentic-kit is the only package you install by hand. ak setup installs ruflo, agentic-qe, and friends globally for you, builds their natives properly, then heals and proves them. (If you already have them installed, setup detects and reuses them.)

Will it clobber my existing config?

Managed content lands inside clearly-marked BEGIN/END blocks, merged backup-first; everything the kit writes is ownership-recorded so ak host off and ak uninstall can strip exactly its own footprint and nothing else. The one loud exception: project setup runs ruflo init --full --force, which can replace existing agent configuration β€” it's disclosed up front, documented in docs/SETUP.md, and skippable with --minimal.

I only use Claude Code. Is the multi-host stuff going to get in my way?

No. The default is claude-only, zero change β€” nothing is written for hosts you haven't enabled, and no routing policy is seeded for claude-only projects. Codex and OpenCode are strictly opt-in (ak setup --codex, ak host pick), and reversible (ak host off).

Does anything phone home or spend tokens without asking?

The dashboard is offline-first and localhost-only with a per-session token; background daemons run local-only ($0) workers by default, with token-spending AI workers opt-in behind a machine-wide budget. The one deliberate-egress surface, ak admin, proxies GitHub/npm server-side and never exposes your credential to the page.

And if I want out?

ak uninstall removes the kit's footprint cleanly β€” project data is never touched β€” and --purge additionally offers to remove the global packages it installed. --dry-run shows the exact plan first, like every other mutating command.