Skip to main content
Veryfront Code uses primitives to separate responsibility. A primitive is an ownership boundary: it names what kind of work is happening, what lifecycle owns that work, and where the runtime boundary sits. The goal is not to use every primitive. The goal is to pick the smallest one that explains the work clearly.

Primitives

How primitives combine

Features can combine primitives, but one primitive should own the triggering event and primary lifecycle. For example, an app route can receive a webhook. A workflow can coordinate the response. A task can run slow background work. An agent can reason about a user-facing decision. A skill can give the agent task-specific instructions. This keeps the project understandable. The app owns entry points. Agents own model decisions. Tools own deterministic actions. Tasks own background targets. Workflows own automation logic. Runs own durable execution. Extensions own replaceable runtime infrastructure. For task-focused selection, see Choose a primitive. For exact agent runtime APIs, see veryfront/agent.