Pi extension layer for turnlog.
Provide a thin Pi-facing wrapper around the turnlog CLI for durable session and turn provenance.
Install the Rust CLI first:
cargo install turnlogThen install the Pi extension:
pi install npm:pi-turnlogFrom GitHub:
pi install git:github.com/ProbabilityEngineer/pi-turnlogFor local testing:
pi -e ./index.tsThe slash-command surface is intentionally compact:
/turnlog-status [--cwd /path/to/repo]— show current turnlog/VCS status./turnlog-start --goal "..." [--ticket ...] [--cwd /path/to/repo]— initialize.turnlog/if needed and start a new session./turnlog-record [--summary "..."] [--auto-init] [--auto-start] [--goal "..."] [--cwd /path/to/repo]— record the latest assistant turn only when repository changes make it meaningful.
One compact model-visible tool:
turnlog action: status/init/start/record/report/auto [cwd=/path/to/repo]
Use the tool when the user wants durable provenance, handoff records, or a session report. Agents should also use it proactively for meaningful repository work: code/docs/ticket changes, commits/pushes, ticket closures, multi-repo work, validation, and handoff context. Do not record routine chat-only turns. Before the final commit/push for a coherent repo change, record what changed, why, validation performed, tickets touched, and intended VCS finalization; if .turnlog/ is tracked in that repo, include those changes in the same commit. Do not record again after push unless committing that follow-up provenance record too. If turnlog is uninitialized or has no active session, use explicit auto-init/auto-start only for meaningful repo work unless the user forbids persistence.
pi-turnlog is a thin wrapper and does not install the Rust CLI for you. If the turnlog executable is missing, commands and tools print an explicit install hint:
cargo install turnlogIf turnlog is installed outside PATH, start Pi with:
TURNLOG_BIN=/absolute/path/to/turnlog pi- quoted arguments are supported
TURNLOG_BINoverrides the executable path- stdout/stderr are surfaced in Pi
- auto-recording is off by default and can be enabled with
turnlog action=auto enabled=true - pass
cwd(tool) or--cwd/-C(commands) when Pi is running in one directory but the agent is changing another repository - auto-record automatically initializes turnlog and starts a conservative session when meaningful repository changes exist in Pi's current cwd
- auto-record and
/turnlog-recordskip chat-only turns when no repository change is detected turnlog initthrough this extension adds.turnlog/to.gitignoreso local provenance is not pushed to GitHub by default/turnlog-record --auto-init --auto-start --goal "..." --summary "..."can initialize turnlog and start a session before recording; without those flags, failures remain explicit- source entrypoint is
index.ts