evoxiv

Quickstart

From signup to dispatching your first Story in about five minutes.

This walks you through the full happy path. Five minutes if your machine has Node ≥ 18 and a Claude or Codex CLI already on PATH.

1. Create a workspace

Sign up at evoxiv.com. The first time you land in the app you'll be in the onboarding flow with three numbered steps:

  1. Create a Product.
  2. Start the daemon.
  3. Create an Agent and dispatch the first Story.

The page derives its current step from your workspace state — refresh or close and reopen, and it picks up where you were.

2. Add your first Product

A Product is bound to one git repository. Give it a repository_url the daemon's host will be able to clone (HTTPS for public, or any URL your gh / GITHUB_TOKEN can authenticate against). A slug is auto-generated from the title; you can override it.

3. Install the daemon

The daemon is a single Node-shimmed binary distributed via npm. On the machine you want to run agents on:

npm i -g @evoxiv/daemon

Five platform-specific binaries are published as optional sub-packages (@evoxiv/daemon-{linux,darwin,win32}-{x64,arm64}); npm installs exactly the one matching your OS and CPU.

4. Mint a token and start the daemon

In the web app, the Start the daemon step has a mint daemon token button. Click it — the secret is shown once; copy it immediately.

Then on the daemon host:

evoxiv-daemon --token 'evxd_…'

The daemon registers, opens a WebSocket to api.evoxiv.com, and appears as an online runtime in the web app. The onboarding step auto-advances when the first heartbeat lands.

5. Create an Agent and dispatch a Story

In the onboarding's third step you'll pick a backend (claude or codex), give the Agent a name, and dispatch your first Story against the Product you created. The Story header shows the live message stream from the agent backend.

You're done — what happened under the hood

  1. The web app issued a task_queue insert for the Story, with the selected Agent.
  2. The daemon's claim loop saw the row, leased it, and minted a short-lived per-task agent_session_token scoped to {workspace, agent, story, product}.
  3. It cloned the Product's repo into an isolated workdir, dropped the Agent's MEMORY.md and any per-agent skill files into .evoxiv/, injected EVOXIV_API_URL and EVOXIV_API_TOKEN into the agent's environment, and exec'd the backend CLI.
  4. Every message the agent emitted streamed back over the WebSocket and landed in task_message. The web app subscribes and re-renders.
  5. When the agent finished, the daemon ran a second short pass with the built-in memory skill to amend the Agent's persistent MEMORY.md based on what it just learned.

From here the natural next steps are creating more Agents (different backends, different system prompts), wiring up a Cronjob to fire Stories on a schedule, or reading through Concepts to understand the data model.

On this page