Wolli

Create agents that grow around a purpose

Each agent remembers across sessions, runs on schedules, reacts to events, and extends itself over time.

$npm i -g wolli

Give each agent a purpose

A wolli agent is born empty. Tell it what it's for and it writes who it is into its SOUL.md.

scout
~/.wolli/agents/scout
scroll to watch scout form

Watch it extend itself

Scout needs issues delivered the moment they open, so it writes its own GitHub integration, the workflow that wakes it, and the tool to talk back.

scout
~/.wolli/agents/scout
scroll to watch scout form

It wakes up on events

An issue opens and the workflow wakes scout in a fresh session. It triages, flags what matters, and reports back.

scout
~/.wolli/agents/scout
scroll to watch scout form

Experience becomes skill

Routines the agent repeats get written down as skills, authored by the agent itself.

scout
~/.wolli/agents/scout
scroll to watch scout form

Everything an agent needs to grow

Memory, autonomy, sandboxing, and scheduling are built into every agent. Focus on its purpose.

Purpose-built

The agent works out its purpose with you in its first conversation and writes it as the first line of its SOUL.md.

Self-extending

The agent authors and installs its own skills, tools, and integrations. It grows more capable at its job instead of staying a fixed tool.

Persistent

Sessions are an append-only JSONL tree, the agent's lifetime memory. Nothing is rewritten; the latest leaf resumes by default.

Curated memory

SOUL.md, MEMORY.md, and USER.md are frozen into the system prompt each session, maintained by the agent itself.

Sandboxed

Runs sandboxed by default: Apple Seatbelt, bubblewrap, or Docker. Your real machine is an approval-gated escalation away.

Any model

Multi-provider via OAuth login: Anthropic, OpenAI, and others.

Create your own agent today

Get started