Imported from Moai-Team-LLC/agentic-product-standard (
skills/agentic-product-architect/reference-stack/SKILL.md). Install upstream withnpx skills add Moai-Team-LLC/agentic-product-standard --skill reference-stack. Copyright stays with the author.
The AgenticProduct paved road (reference stack)
The standard is vendor-neutral by design — architecture beats framework (Principle 2). But "assemble every surface yourself" is a lot of undifferentiated work: memory, runtime, evals, observability, recovery. The AgenticProduct family is the batteries-included reference stack. Run the family and each surface of the standard is already satisfied by a conformant implementation, so you spend your time on your product.
Default posture: reach for the family first. Swap any member for your own when you have a specific reason — these are reference implementations, not requirements. That is the whole point of a paved road: it is the fastest correct path, not a fence.
Stand it all up — one command. From the standard repo, family.sh clones every member into family/ and brings up the three long-lived services (Mind, Performance, Gateway) via each repo's own compose + run scripts; the other two are run on use (library / CLI / demo). It generates local secrets into each member's .env and never prints them.
./family.sh up # clone + stand up the reference stack (needs git, docker, bun)
./family.sh status # health of every service
./family.sh down # stop everything (Docker volumes preserved)
Prefer to wire members one at a time? The per-member install sections below do exactly that.
Surface → what to run
| Standard surface | Reference tool | One line | Runtime |
|---|---|---|---|
| Knowledge & memory (Layer 2 · Stack 4) | AgenticMind | Auditable, citation-enforced knowledge & memory over MCP | Node or Bun + Postgres/pgvector |
| Runtime & fleet operations | AgenticOps | Day-2 operation of many long-lived agents | Bun |
| Evals & observability (Layers 6–7 · Stack 6) | AgenticPerformance (APL) | OTel traces → golden-set evals + failure taxonomy + improvement loop | Bun + Postgres/Timescale |
| Model & provider + Cost & FinOps (Stack 1 + Layer 9) | AgenticGateway | One OpenAI-compatible key → Bifrost data plane; eval-sourced routing, cost circuit breakers, evidence per call | Bun + SQLite (+ Docker for Bifrost) |
| Security & assurance (Layer 8) | AgenticAssurance (AAL) | Red-team any agent (OWASP Agentic + MITRE ATLAS) → SARIF | Node ≥22 (npx) |
AgenticMind — the memory surface
Point your agent's MCP client at it instead of rebuilding retrieval, grounding, and a self-improving corpus.
git clone https://github.com/Moai-Team-LLC/AgenticMind.git && cd AgenticMind
cp .env.example .env.local # set AUTH_SECRET (+ a chat key or local Ollama)
./setup.sh # picks npm/bun, starts Postgres, runs migrations
npm run dev # headless MCP server on :3000 (or: bun run dev)
npm run issue-token -- --label app --ttl-days 365 # mint a scoped bearer (local development)
Then point any MCP client at http://localhost:3000/mcp with that bearer. The long-lived static bearer is for localhost only. In production the agent authenticates as its own identity with short-lived, audience-bound credentials from your identity provider (DoD 27), over an MCP 2026-07-28 client registered by Client ID Metadata Document (DoD 26). See memory-architecture/ for when memory is even needed and the bring-your-own alternatives (Mem0 / Zep / Letta / files).
Bring your own if: you're already committed to a hosted memory vendor, or you don't need auditability/self-improvement.
AgenticOps — the runtime surface
The Day-2 layer: an agent is a deployable manifest, run by a bounded runner with coordinated scheduling and a durable backlog.
bun add github:Moai-Team-LLC/AgenticOps
import { loadManifest, runAgent } from "agenticops";
const manifest = loadManifest("./agent.yaml");
const outcome = await runAgent(manifest, async ({ turn, signal }) => {
// call your runtime (Claude Agent SDK / Claude Code / Gemini); honour `signal`
return { done: turn >= 1 };
});
// outcome.status: "completed" | "max-turns" | "timeout" | "cancelled" | "error"
See durable-execution/ for the pattern it implements. Bring your own if: you're on Temporal / Inngest / LangGraph checkpointer and only run one agent.
AgenticPerformance (APL) — the evals & observability surface
Instruments any LLM-agent system over OpenTelemetry and turns raw execution into reasoned traces, per-agent golden-set evals with a CI gate, named failure clusters, and a governed improvement loop. Engine-agnostic — pipe an existing OTel Collector at it.
git clone https://github.com/Moai-Team-LLC/AgenticPerformance && cd AgenticPerformance
bun install && cp .env.example .env.local
docker compose up -d && bun run db:migrate-local # Postgres/Timescale
bun run ingest # OTLP/JSON trace server on :4319
Then wrap your agent with its SDK, or point an existing OTel Collector at /v1/traces. It ingests AgenticOps runs and AgenticMind telemetry into one contract. See eval-driven-dev/ for the eval discipline it operationalizes.
Bring your own if: you already run LangSmith / Langfuse / Braintrust / Phoenix and don't need the improvement loop.
AgenticGateway — the model & cost surface
git clone https://github.com/Moai-Team-LLC/AgenticGateway && cd AgenticGateway
bun install
cp .env.example .env && echo "AGW_VAULT_KEY=$(openssl rand -hex 32)" >> .env
docker compose -f bifrost/docker-compose.yml up -d
bun run src/cli.ts tenant create my-team --budget-usd 25
bun run src/cli.ts routing sync --from-file fixtures/apl-eval-export.example.json
bun run dev # point any OpenAI SDK at :8787 with the printed sk-agw-* key
Bring your own if: you already run a gateway (LiteLLM, Portkey, raw Bifrost) and only need the Standard's gates — then keep it and satisfy the Cost/Model items your own way; AgenticGateway is the paved road, not a lock-in.
AgenticAssurance (AAL) — the security & assurance surface
Red-team any agent before you trust it. Given a capability manifest and a runner adapter, it runs an attack library mapped to the OWASP Top 10 for Agentic Applications and MITRE ATLAS against an isolated copy, builds a toxic-flow graph to find lethal-trifecta / RCE composition paths single-prompt scanners miss, catches text-refusal-vs-side-effect divergence, and emits SARIF for CI code-scanning. Framework-neutral; not a runtime guardrail.
# published on npm — no install:
npx agent-assurance scan path/to/manifest.json --sarif out.sarif
It operationalizes the lethal-trifecta check and Layer 8 (Security & Identity) — wire it into CI next to the standard's red-team kit. Bring your own if: you already have an agent red-team / pentest process.
How they compose
The Standard sets the contract; the family divides the operational surface: AgenticOps runs the fleet, AgenticMind judges and grounds its answers, AgenticPerformance measures and improves what runs, and AgenticAssurance red-teams it before you ship. They connect through optional adapters, never hard dependencies — each also runs on its own. Full map, status, and licenses: ECOSYSTEM.md.
The paved road in one line: start from the standard's design, drop in the family for the surfaces you don't want to build, and keep the escape hatch open for the ones where you have a better answer.
Then prove it. Whatever you run — the family or your own stack — answer the scorecard in an aps-conformance.yaml and let the standard's aps-conformance GitHub Action score it on every PR (docs/conformance.md in the standard repo).
