Skip to main content

Quickstart

From install to your first briefing. Five steps, one optional.

1. Install the CLI​

uv tool install 'daimon-briefing[pretty]'

pipx install 'daimon-briefing[pretty]' works identically. The [pretty] extra adds rich tables and panels to status and brief; without it you get plain text.

2. Connect an LLM​

Serialization — turning a finished session into a checkpoint — needs an LLM endpoint. Run:

daimon configure

If the claude CLI is on your PATH, this prints ✓ ready and you are done — zero configuration. Otherwise, point daimon at any OpenAI-compatible endpoint:

daimon configure --backend litellm \
--base-url https://generativelanguage.googleapis.com/v1beta/openai \
--api-key <YOUR-KEY> --model gemini-2.5-flash

Then verify the backend end-to-end before trusting it:

daimon configure --test

This sends one tiny prompt through the resolved backend and reports pass or fail. Config is written to ~/.daimon/env — see Configuration for every variable, and the backends matrix for field-measured model combinations.

3. Hook up your host​

Hooks are what capture your sessions. For Claude Code, install the plugin — it registers the session hooks itself:

/plugin marketplace add Daily-Nerd/daimon
/plugin install daimon@daimon

For Windsurf, Codex, or Gemini CLI, follow your host's page in Hosts — each host has a different hook surface, and the per-host guides cover the exact registration steps and caveats.

Hooks capture sessions; the skill teaches the agent on the other side how to use the briefing — read it at session start, treat verbatim items as immutable quotes, verify stale-looking claims before repeating them:

daimon skill install claude

daimon skill list shows the install targets for other hosts. Run daimon skill install with no host to let daimon detect what this machine runs, or daimon skill install --all to wire every host it finds without being asked.

5. End a session, start the next​

That's the whole loop:

  1. Work a normal session in your agent.
  2. End it. The session-end hook serializes a checkpoint in the background.
  3. Start the next session. The briefing is injected at session start:
While you were away — here's where we left off.

Decisions made:
- [✓ verbatim] Postgres advisory locks over Redis locks for the scheduler — "let's not add a Redis dependency for this"

VERIFY BEFORE TRUSTING (state may have changed outside this session):
- [✓ verbatim] PR #212 state — you said you'd merge it yourself from the UI — "I'll merge it after the demo"

Open loops:
- [✓ verbatim] Retry policy for the payments webhook — exponential or fixed? — "don't ship the retry loop until we pick a policy"

Active topic: Migrating the scheduler off cron to the new worker pool

[✓ verbatim] means a deterministic checker found that quote in the session transcript; [~ inferred] marks the model's own conclusions. The full tag system is the point of the product — see Trust classes.

You can also read it in a terminal anytime with daimon brief.

Short sessions are skipped by design

A session shorter than DAIMON_MIN_MESSAGES (default: 10 messages) is not serialized — there is nothing worth remembering in a two-message exchange. If you are evaluating daimon and want your short test sessions captured, lower the threshold for now:

echo 'DAIMON_MIN_MESSAGES=4' >> ~/.daimon/env

Check that it's working​

daimon status

Status reports capture health honestly — failures, skips, and crashes included. The lines that matter on a fresh install:

project checkpoint: <session id>, written <n>m ago
last serialize result: success — wrote checkpoint: ...

If the last serialize failed or a session was never captured, a failed capture self-heals on the next session start — or run daimon heal to retry immediately.

Before you end a session​

If you are leaving work unfinished, pass the baton — one imperative line the next session sees above everything else in its briefing:

daimon handoff "Finish the migration first. Beware: the staging DB is stale."

A checkpoint reconstructs what happened; the baton carries what you intended next. Full story in the item lifecycle.

Where to next​

  • CLI reference — every verb, one page.
  • Configuration — every environment variable, including the DAIMON_DISABLE kill switch.
  • Hosts — per-host setup detail and known limitations.
  • Team memory — share checkpoints with teammates through a private git remote (opt-in).