Multi-agent system with a central orchestrator, specialized agents for research and writing, an evaluation harness, and MCP tool server. Agents coordinate through the orchestrator, each with distinct roles and capabilities, and reach a model through the ModelGateway of the Platform tenant chart the stack deploys with.
Render it
# CLI
npx @nanohype/sdk render-composite agent-team --out ./my-app
# SDK
import { LocalSource, renderComposite } from "@nanohype/sdk";
const result = await renderComposite(source, "agent-team", variables);
# MCP — from an agent
get_composite({ name: "agent-team" })
What it draws together
Variables
Required
ProjectName string- Project name used across all templates Must be lowercase kebab-case.
Optional
LlmProvider string — defaults to gateway- LLM provider the packages deployed on the substrate call: gateway, the Platform ModelGateway, which holds the Bedrock role there, so none of them holds a model credential. The eval harness runs on a CI runner and keeps its own bedrock default
Tenant string — defaults to ${ProjectName}- Owning team: the tenants-<team> namespace the Platform, BudgetPolicy and ModelGateway CRs are applied in, the Platform's spec.tenant, and the team label on the tenant chart's resources and telemetry
Image string — defaults to ${ProjectName}- Container image repository the tenant chart deploys, without a tag; each values-<env>.yaml pins one
AppMetric string — defaults to http- Prefix of the RED series the tenant chart's Grafana dashboard reads: <prefix>_requests_total, <prefix>_errors_total and <prefix>_request_duration_seconds. The default, http, is the prefix a ts-service emits them under; set it to the prefix the deployed service emits