Keep work moving between tools

Carry coding work across quota walls.

handover captures repo-local task state before one tool taps out, then lets the next tool resume from stable handover files instead of rebuilding context from scratch.

  • Repo-local
  • MIT licensed
  • openusage-backed
.handover/current/ stable entrypoints

summary.md

A short brief the next tool can actually use.

Task
finish the product page and publish to GitHub Pages
Next step
claim the bundle and continue from the current repo state
Resume in
Codex, Cursor, Continue, or another file-aware tool

Why it works

It turns agent handoff into normal project state.

Repo-local by default

The handoff lives inside the repository, so the next tool can inspect it, diff it, and trust it.

Prompt-driven capture

handover reacts to real tool activity instead of polling or guessing when the snapshot should happen.

One daemon, one CLI

openusage provides usage state. handover stays short-lived and file-oriented.

Workflow

A simple handoff loop.

  1. 01

    A real tool event happens

    Native hooks call handover on-event when a prompt submit, stop, or turn completion matters.

  2. 02

    Capture only when policy says to

    openusage provides normalized usage state, and handover writes the bundle only when the threshold is crossed.

  3. 03

    Resume from stable files

    The next tool reads .handover/current/summary.md and .handover/current/workspace.patch, or claims a pending bundle with pickup or run.

Files

The handoff lives in ordinary files.

.handover/current/summary.md

The stable summary with the current task, next step, and enough context to continue.

.handover/current/workspace.patch

A binary-safe patch for local uncommitted work that should travel with the handoff.

.handover/bundles/

Timestamped captures that can stay pending until the next tool claims them for the current project.

.handover/rendered/

Tool-facing material derived from the same canonical state when a specific surface needs custom output.

Current CLI

One small surface for setup, capture, pickup, and inspection.

Bootstrap

enable disable init install

Capture

capture on-event session-start

Resume

pending pickup run

Inspect

render inspect status adapters print-config

Questions

Direct answers.

Why keep the handoff in repo files?

Because the next tool can inspect, diff, and reuse the same state without depending on a hidden export format.

Does handover run in the background?

No. handover stays short-lived. openusage is the only daemon in the model.

What is the fastest path to value?

Run enable, let real tool hooks drive capture, and use manual capture when a source tool surface is weak.