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 β runs scoped checks against the installed tools and reports gaps in the evidence.
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:
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.
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.
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:
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.
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.
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.
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.
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.
sync would do about it.feature, security, refactorβ¦) across hosts.--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. Use --dry-run where offered to preview managed changes, and consult command help for its scope.
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.
ak statusEvery 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.
ak syncUpgrades 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.
ak x verifyVerification 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.
ak status, from a real machineThis historical excerpt was captured with agentic-kit 4.0.0-alpha.41; the capture date was not recorded. It illustrates the status layout, not current releases or current machine health. In particular, later fixes qualify the active-writer and billing assertions shown below. Use the current guides and status output for today's behavior.
$ 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.
Each protection traces to a filed upstream issue, with the investigative history archived in docs/archive/. No superstition-driven code.
Guidance lands between BEGIN/END markers in ~/.claude/CLAUDE.md (and Codex's AGENTS.md) β merged within owned spans. Project initialization and legacy whole-file provider teardown have separate limits; review the setup and provider guides.
Use the documented preview mode before authorizing changes. Some reads also refresh caches; a preview is not a guarantee that every upstream side effect is known.
Every sync appends a health snapshot; status flags backsliding β learning shrank, native slots dropped β instead of letting it pass silently.
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.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.
ak setup once; from then on, "when in doubt, ak sync" is the entire mental model.ak dashboard and see what's on β no spelunking through dotfiles.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.
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.
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.
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.
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.
--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.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.
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 out of kit.json; native authentication stores have their own persistence rules.
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:
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.
Projects set up by the kit get an append-only footer under ruflo's own status line. Segments reflect their documented presence and metric checks β so the line below summarizes those particular observations, not every capability or session:
Codex gets a separate managed native field preset (ak x statusline codex native), kept converged by sync without rewriting the rest of your Codex config.
One command opens a self-contained local web app on 127.0.0.1:7431, guarded by a per-session token, that offers explicit, guarded actions in System β Maintenance. 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).
Left to right, every tab and what's behind it β the floor plan, not just the five headline rooms:
ak status, warnings first
Hosts & Routing
Providers
Runtime
Intelligence β machine-wide SONA/route-RL/AQE rollup, any project
Orange tiles get a real capture below, not just a description β the rest keep the one-line summary above until they earn their own.
Starting with tile 1 β About, the orientation surface (ADR-0026), landing view intentionally excepted. This capture is genuinely current: real markup, real client render logic, real shipped directory data, fed a synthetic /api/status so every chip state β installed, needs attention, not working, and honestly unknown β has something to show:
The captures below are historical illustrations from the alpha.41-era page, not current UI or release evidence. Current behavior is documented in docs/DASHBOARD.md. First, Overview: the same subsystems as ak status, with the two warnings front and center and what sync would do about each:
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:
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:
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"):
The System tab's Projects view got sharper too: a worktree now nests under the repository it shares instead of masquerading as a separate installation β ampel and ampel-feature share one Git identity, so their language icons and skill counts group where they actually belong. Unlike the alpha.41 captures above, this one is genuinely current: real dashboard markup, styles, and client code, rendered today against the same fixture data its own Playwright regression test drives:
And Usage's Models view β Model Lifecycle Intelligence, otherwise absent from this whole page until now. It separates configured from observed from catalogue-available, and when a routed model is being retired upstream, it says so with the exact fix:
Also genuinely current, same technique: real markup and client code, fed the exact JSON a real dashboard server emits for a hand-built model snapshot β not the mock's numbers, the pipeline's.
OpenAI retired the standalone codex mcp-server transport. A registration made under it doesn't un-register itself, though β it can keep sitting in ~/.claude.json or a project's .mcp.json, at user or project scope, while ak sync reports convergence anyway. ak host align audits both scopes (--all-projects adds a bounded census across every project it knows about) and previews the exact, scoped fix before touching anything; --apply asks for confirmation, then removes only that one registration, writes a recovery backup beside the file it edited, and remembers the exact recipe for next time.
The same repair now lives in the Maintenance dashboard too, under More views β Host alignment, filterable by User or Project. Opening a finding shows the same exact-registration preview and a Realign action β reversible only through its recovery backup, since automatic dashboard Undo doesn't cover this recipe yet, and that gap is disclosed rather than hidden. Ruflo's dual-mode execution and AQE's native provider routing are explicitly preserved; ambiguous or hand-edited configurations stay review items instead of getting an unsafe auto-apply. Full mechanism and upstream sourcing: ADR-0051 (docs/adr/0051-supported-peer-delegation-and-host-realignment.md).
Not a historical capture β this is the dashboard's real markup, styles, and client code, rendered against the same synthetic fixture its own regression test drives. The row shown is a stale Claude registration one click from an exact, backed-up repair.
The package declares Node β₯ 22 and requires npm. Use a maintained Node patch release with node:sqlite support. Setup can install missing enabled host CLIs; inference authentication is separate.
Open the repo in GitHub Codespaces and pick the "try the published release" configuration β the kit installs into a container with a sandbox repo; container resources and any configured shared mounts remain explicit boundaries.
cd docker && docker compose up --build ak replays a brand-new user's complete first run β install, setup, dashboard β with separate integration directories and a deliberate artifacts bind mount.
# 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.
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.)
Managed content lands inside clearly-marked BEGIN/END blocks, merged backup-first; ownership handling depends on the surface. Exact-value teardown preserves edited keys on supported paths, while legacy provider-router undo can restore a whole backup file. Review the setup and provider guides before teardown. 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.
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).
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 browser stays same-origin, but dashboard status checks can query version services and persist caches. Explicit scans/catalog refreshes can also contact their documented sources. ak admin deliberately proxies GitHub/npm server-side without sending its credential to the page.
ak uninstall removes the kit's footprint cleanly β project memory and transcripts are retained by default β and --purge additionally offers to remove the global packages it installed. Consult ak uninstall --help and use --dry-run to inspect the selected teardown scope.