Everywhere
Jevie from scripts
Five small commands that let any script, cron job or coding agent use Jevie with plain text: pick from a list in the palette, keep a line of status in the notch, steer sessions by writing to files, tag sessions, and get a nightly report on your extensions.
FreeMac
Use itHow it worksLimitsWhere it's kept
Use it
Pick from a list
ls ~/Projects | jevie pick | xargs openThe folders appear as the palette's rows; type to narrow, ↵ to pick, and the line you picked is printedgit branch --format='%(refname:short)' | jevie pick --title Branch | xargs git switchSwitch branch from the palettejevie pick --indexPrint the line's number (from 0) instead of the line- Esc, the chip's ×, or
--timeout 60running out: nothing is printed and the command exits 1, so&&stops there
A status line
jevie status "deploy 3/7"Shown in the notch,3/7
and40%
as progress; set it again to change itjevie status --done "Deployed"·jevie status --failed "Tests failed"The last words shown a moment, then gonejevie status --keep --key vpn "VPN up"Stays after the script ends, untiljevie status --clear vpn(an hour at most unless--for SECONDSsays)jevie status --listThe lines up now
Sessions as files
jevie live onA folder for each terminal in~/.jevie/live/(off:jevie live off)tail -f ~/.jevie/live/<session>/outWhat the session prints, as it prints itecho "run the tests" >> ~/.jevie/live/<session>/inTyped into the session, Return afterecho "Ctrl+C" >> ~/.jevie/live/<session>/keysKeys pressed in ordercut -f1 ~/.jevie/live/*/statusWhat each session is doing
Tags on sessions
jevie tag <session> +release +jevie·jevie tag <session> -releaseGive or take away tags; every session is also under its folder's namejevie tagsEvery tag in use, with how many sessions carry itjevie tagged jevie+teamThe sessions under either tagjevie tag show jevie+teamStudio's side lists only those, with a chip for each tag;jevie tag showlists every pane again
What still works
jevie check· Each installed extension loaded again, and eachimprove/*branch merged with main in memory; what fails says why- every night Jevie runs the same check and tells you once what broke since the day before
How it works
jevie pick hands the lines to Jevie, which opens the palette locked to them, the title on a chip at the start of the field. The rows narrow as fzf narrows them: every word you type must fit. The line printed is exactly the line given. Closing the palette, or pressing Ctrl-C in the script, lets the list go.
A status line belongs to the program that set it: when that process exits, the line goes, so a script that crashes leaves nothing behind. The line changes only when it is set, so nothing runs on a timer to show it.
Sessions as files follow your access settings for agents: a terminal set off has no folder, and in and keys type only into a terminal set to drive (jevie-term agents <session> drive), never over words you have typed and not sent, and never while the session waits on you. A line that was not typed says why in err. out adds only new lines: a spinner's changing seconds are not new, and the line under the cursor waits until the next line comes.
Tags live beside each session as <id>.tags, one per line, so the app and the command line read the same file.
The nightly check runs after 3 am, at most once a day. Branches are merged with git merge-tree in git's memory: nothing is checked out and your files are never touched.
Limits
jevie picktakes up to 5,000 lines and shows 60 at a time; the palette list is on the Mac (elsewhere the field gets the list's name and you type to narrow).- Up to 12 status lines at once.
outis cut at 5 MB (the older part moves toout.1); a full-screen program that redraws everything adds the lines that changed.- Up to 16 tags on a session; a tag is one word of a-z, 0-9,
.,_or-. - The check only loads extensions and merges branches; it never runs a command that changes anything.
Where it's kept
~/.jevie/live/, ~/.jevie/terms/<id>.tags, ~/.jevie/still-applies.json.
In Jevie, help jevie pick
answers from this page as you type.
Related
Updated 6 November 2026 · Something wrong or missing? Tell us