++
Installation
Create a new Zett agent project and install its dependencies.
Requirements
- Node.js 18 or newer (Zett uses native
fetch,crypto.randomUUID, and ES modules). - A Cencori account and project API key for running agents — see Cencori integration.
Scaffold a project
The fastest way to start is the init command, which scaffolds a complete agent
from a template:
npx arcie@latest init my-agentThis creates a my-agent/ directory:
my-agent/
├── agent/
│ ├── agent.ts # defineAgent({ model, cencori })
│ ├── instructions.md # the system prompt
│ ├── tools/ # defineTool files
│ ├── skills/ # defineSkill files
│ ├── hooks/ # lifecycle hooks
│ ├── channels/ # HTTP / Slack / custom ingress
│ ├── schedules/ # cron jobs
│ ├── subagents/ # nested specialist agents
│ ├── sessions/ # durable-execution config
│ └── policies/ # security + budget guardrails
├── package.json
└── tsconfig.jsonEmpty slots ship as .gitkeep placeholders — fill them in as you need them.
Templates
Pass --template to choose a starter (defaults to default):
npx arcie@latest init my-agent --template defaultRunning init with no name scaffolds into the current directory.
Install dependencies and run
cd my-agent
npm install
npm run devThe generated package.json wires the Zett CLI into your scripts:
{
"scripts": {
"dev": "arcie dev",
"build": "arcie build"
},
"dependencies": {
"arcie": "^0.1.2",
"zod": "^3.23.0"
}
}Configure Cencori
Running an agent calls the Cencori Sessions API, which needs a key:
export CENCORI_API_KEY=csk_...
export CENCORI_PROJECT_ID=proj_... # optional; sent as X-Project-IDCENCORI_API_KEY is required at run time. Without it, arcie dev and runAgent
throw Cencori API key required. See Cencori integration.
Next: the Quickstart walks through your first request end to end.