The guardian that ships.
An autonomous, full-cycle software engineering agent powered by a Mixture of Agents.
In myth, Talos circled the shores of Crete three times a day — tireless and incorruptible. Talos circles your codebase the same way: not a copilot that waits for you to type, but a full-cycle software engineer that scaffolds repos from zero, writes tests, debugs in loops, and ships to production.
It is orchestrated by a Mixture of Agents that propose work in parallel, debate to resolve conflicts, and gate every merge behind tests and cross-agent review — while accumulating persistent project memory and evolving skills the more it touches a repository.
- Mixture of Agents (MoA) — layered proposers → aggregator → verifier. No single model is a single point of failure.
- Dynamic topology — a typo wakes one agent; a migration wakes the whole swarm.
- Persistent project memory — decisions, conventions, and past bugs survive across runs, per repository.
- Skill evolution — repeated work distills into named skills that level up (L1–L10) and transfer across repos.
- Cross-agent review — frontend critiques backend, devops blocks unsafe merges, before anything lands.
- Pluggable deploys — Vercel, Railway, Fly.io, AWS, Cloudflare, Render.
- Model-agnostic — runs fully offline out of the box; drop in
ANTHROPIC_API_KEYto go live. - Zero runtime dependencies in the core engine.
# install
npm install
# build the workspace
npm run build
# run the offline demo (no API key needed)
npm run demo
# or drive the CLI directly
npm run talos -- init payments-api
npm run talos -- run payments-api "add stripe checkout + webhook" --target railway
npm run talos -- skills payments-apiGoing live is a single environment variable:
export ANTHROPIC_API_KEY=sk-...
npm run talos -- run payments-api "add stripe checkout + webhook"import { Talos } from "@talos/core";
const talos = new Talos({ ephemeral: true });
const run = await talos.ship("payments-api", "add stripe checkout + webhook", {
deployTarget: "railway",
});
console.log(run.phase); // "completed"
console.log(run.deploy?.url); // https://payments-api.up.railway.app
console.log(run.skillGains); // [{ skill: "stripe-webhooks", delta, levelAfter }] ┌─────────────────────────────────────────┐
task ──▶ │ LAYER 0 · PROPOSERS │
│ Hermes-FE Hermes-BE Agent-Smith │ parallel candidates
└───────────────┬───────────────────────────┘
▼
┌─────────────────────────────────────────┐
│ LAYER 1 · AGGREGATOR │ structured debate +
│ consensus / conflict resolution │ deterministic merge
└───────────────┬───────────────────────────┘
▼
┌─────────────────────────────────────────┐
│ LAYER 2 · VERIFIER │ tests + cross-agent
│ green or block · the deploy gate │ review
└───────────────┬───────────────────────────┘
▼
deploy · memory · skill evolution
See docs/ARCHITECTURE.md for the full design.
talos/
├── packages/
│ ├── core/ @talos/core — engine: orchestrator, memory, skills, agents
│ └── cli/ @talos/cli — the `talos` command-line interface
├── examples/ runnable demos
├── docs/ architecture, design notes, CLI reference
└── .github/ CI + issue templates
npm run build # build all packages
npm test # run the test suite
npm run typecheck # type-check without emitting
npm run lint # eslint
npm run format # prettier --writeApache-2.0 · ⚜ built on open research.