@losthex/scribe
v0.2.0
Published
Lost Hex Scribe CLI
Readme
Scribe CLI
Lost Hex's command-line client for Scribe.
It exists for engagements Scribe has no repo access to: on those, the commits on your own machine are the only record of the work, so this CLI queues their metadata (repo, branch, sha, subject, timestamp, file count) and sends it to your own daily report. It never reads a diff, a file name or a message body.
Install
npm install --global @losthex/scribeSetup
Two commands. The issuer URL is the only value anybody has to know:
scribe login --issuer https://auth.scribe.losthex.com
cd ~/dev/the-repo-you-work-in && scribe installscribe install asks the server which engagements you are staffed to, and
which of those have no server-side collector. It then tells you what it found
and asks before it changes anything:
One of your engagements has no server-side collector, so this machine is
the only place its work is ever seen:
que Bonterra QUE (Bonterra)
Set this machine up for que? [Y/n]What it works out for you:
- which engagement — from your staffing. Several candidates means it shows them and asks; none means it says the CLI is unnecessary for you and installs nothing, rather than setting up something pointless
- which repos to capture —
org/reporead off this repository'sorigin. Narrow on purpose: nothing else on the laptop is ever looked at. Working on a second repo for the same engagement? Runscribe installin it too, and the patterns accumulate.--match <org>takes a whole org in one go - where to send — the
/amendand MCP endpoints, named by the server itself
The issuer stays yours to supply, because it is the thing being trusted. Get
it wrong and the sign-in still succeeds while every call afterwards is
refused, so scribe install and scribe status say so when the issuer you
are signed in against is not the one the server verifies.
Check it landed:
scribe statusNaming everything yourself
The flags still work, and still win over anything the server says — this is what a script or a provisioning step should use:
scribe install --project que --match bonterratech \
--issuer https://auth.scribe.losthex.com \
--amend-url https://scribe.losthex.com/amend \
--yes--yes accepts a single recommendation without a prompt; it will not choose
between several. --offline skips asking the server at all.
Commands
scribe login [--issuer URL] browser sign-in, tokens in the OS keychain
scribe install recommend an engagement, plant the hook
scribe capture queue the commit that just landed (the hook)
scribe flush push the queue to /amend
scribe amend "<note>" one bullet on today's report
scribe mcp stdio proxy to the Scribe MCP server
scribe status auth, endpoints, engagements, hook, queue
scribe log everything ever sent
scribe uninstall remove the hook, keep the stateUsing Scribe from an agent
Harnesses that speak remote-MCP OAuth take the URL directly — scribe status
prints it. Everything else runs the stdio proxy:
{ "mcpServers": { "scribe": { "command": "scribe", "args": ["mcp"] } } }