Developer guide
This section is for engineers extending Carina: new tools, gateways, skill packs, memory backends, and Scout integrations.
Start with the canonical inventory: Capability inventory (shipped vs configured vs optional).
Repository layout
The Carina mono-repo is organized by product domain:
| Directory | Purpose |
|---|---|
core.carinaai.uk/ | Carina agent (npm package carina-agent) |
docs.carinaai.uk/ | This documentation site (Docusaurus) |
console.labyrinthscout.com/ | Labyrinth Scout security server |
ops.carinaai.uk/ | VERLOX internal admin (not shipped) |
carinaai.uk/ | Marketing site |
Local development
cd core.carinaai.uk
pnpm install
pnpm dev # agent watch mode
pnpm test # Vitest suite
pnpm carina # CLI entry
Documentation site:
cd docs.carinaai.uk
pnpm install
pnpm start # http://localhost:3000
pnpm build
Extension points
| Area | Start here |
|---|---|
| Tools | Tool registry |
| Gateways | Channel adapters |
| Skill packs | Pack format |
| Memory | Memory backends |
| CLI | CLI architecture |
| Security | Scout integration |
Conventions
- TypeScript ESM, two-space indent, Vitest for tests
- Never commit
.envor API keys - Match existing patterns in the module you touch; avoid drive-by refactors