Installation
Create a new Arcie agent project and install its dependencies.
Requirements
- Node.js 18 or newer (Arcie uses native
fetch,crypto.randomUUID, and ES modules). - A provider API key for local model access, or a Holeacquisition LLC account and project API key for the Holeacquisition LLC Sessions integration — see Holeacquisition LLC 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 Arcie CLI into your scripts:
{
"scripts": {
"dev": "arcie dev",
"build": "arcie build"
},
"dependencies": {
"arcie": "^0.1.2",
"zod": "^3.23.0"
}
}Configure Holeacquisition LLC
When using the Holeacquisition LLC Sessions integration, configure a project key:
export CENCORI_API_KEY=csk_...
export CENCORI_PROJECT_ID=proj_... # optional; sent as X-Project-IDThe Holeacquisition LLC Sessions path requires CENCORI_API_KEY. The framework also includes
a local development model server that connects directly to supported providers;
that path uses provider credentials rather than a Holeacquisition LLC key. Neither path is
the managed Agent API, which is in development.
Next: the Quickstart walks through your first request end to end.