Reference · v0.44.0
Interoperability
From the pinned CLI source. Read upstream.
Current format policy: Portable .tine files default to v5 (since 0.42). --for-legacy writes v4. The .tine/ repository format is v3. tine evidence export writes v4.
Agent Trace export (0.19)
tine export RUN --format agent-trace # record on stdout
tine export RUN --format agent-trace --output trace.json
Writes one Agent Trace record (RFC 0.1.0, validated
against https://agent-trace.dev/schemas/v1/trace-record.json). Each file the
run's successful tool calls wrote is a files entry with one conversation per
model, contributor ai, model_id spelled provider/model when the provider was
recorded. Line ranges are emitted only when they are known: a whole-file write
that is the run's last write to that path covers lines 1..N. Edits, patches and
shell redirects get file-level attribution (an empty ranges array). Absolute
paths are made relative to the enclosing repository (the nearest directory with
.git, else the current directory); paths outside it are left out and counted.
vcs and conversation url are omitted, since a run records neither; the run
id rides in metadata["io.github.0xcircuitbreaker.opentine"]. version is "0.1", the spelling the
published schema accepts. --endpoint is refused.
Entire checkpoint import (0.19)
tine import . --format entire --save run.tine # newest checkpoint, last session
tine import .::a3b2c4d5e6f7/0 --format entire --repo runs
Entire commits coding-agent sessions to the
entire/checkpoints/v1 branch (<id[:2]>/<id[2:]>/metadata.json, one numbered
directory per session with metadata.json, full.jsonl and prompt.txt).
SOURCE is the git repository; ::ID picks a checkpoint by id or unique prefix and
/N a session (0-based, in the summary's order). The branch is read with
git cat-file, never checked out; origin/entire/checkpoints/v1 is used when
there is no local branch. --format auto recognizes a directory SOURCE. The
session transcript is imported by the Claude Code, Codex or Gemini CLI importer;
any other agent imports as one human step carrying its prompt, with an import
warning. attributes["entire"] on the first step keeps the checkpoint and session
ids, agent, model, strategy, branch, commit, files touched and Entire's token
usage. full.jsonl holds the session up to that checkpoint, so the run is the
session so far. Session metadata over 1 MiB and transcripts over 64 MiB are
refused before they are read.
Per-checkpoint refs, --all and export (0.42)
tine import . --format entire --save run.tine # refs first, v1 branch as fallback
tine import . --format entire --all --repo runs # every checkpoint session, one run each
tine export run.tine --format entire --output ~/proj # write the run as a checkpoint ref
Current entireio/cli keeps one ref per checkpoint,
refs/entire/checkpoints/<id[-2:]>/<id>, whose commit tree is the checkpoint
(metadata.json, 0/, 1/ ...; sessions listed as /<N>/metadata.json).
Those refs are read first, newest commit first; any checkpoint id found only on
the entire/checkpoints/v1 branch is read from there. attributes["entire"] ["layout"] says which (refs or branch). --all records each session of
each checkpoint on heads/entire/<id, lowercased>/<N> and needs --repo
(--save, --ref and --fleet are refused with it); with --json it prints
{"command": "import", "format": "entire", "all": true, "runs": [...]}.
export --format entire writes the run, redacted, as one checkpoint in the
--output git repository: a 12-hex id derived from the run id, a Claude Code
full.jsonl, prompt.txt, content_hash.txt and both metadata files, committed
with Entire's Checkpoint: <id> message and Entire-Session/-Strategy/-Agent
trailers. Only git objects and that one ref are written. Exporting the same run
again is a no-op; a changed run becomes a child commit on the same ref.
Cline and Roo Code task import (0.42)
tine import ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/tasks/1730985600000 --save run.tine
tine import --from-default-location --format roo-task # list Roo Code tasks
SOURCE is a task directory (or its api_conversation_history.json);
ui_messages.json and Cline's task_metadata.json beside it are read when
present. Each assistant message is a model step, tool results (native
tool_result blocks or the [tool for 'x'] Result: text convention) are tool
steps, and other user turns human steps, with <environment_details> blocks
dropped. Token usage comes from the matching api_req_started record (Roo's
apiProtocol: "openai" counts cache reads inside tokensIn), else from the
message's metrics. auto tells Roo from Cline by the
rooveterinaryinc.roo-cline folder in the path. Windsurf is not supported: it
has no documented local session format.