Skip to content

Daily use ​

What a job is ​

When a subscribed PR gets activity you’ve enabled (triggers), Night Porter waits for it to go quiet (debounce, 2 minutes by default) and turns everything new into one job. The agent runs in its own worktree, Night Porter checks its commits, and then, depending on the level, the job pushes and replies or waits for you.

The TUI ​

Run nightporter. It has four tabs:

keytab
1Queuejobs that need you, and jobs that are running
2Inboxevents from people you don’t trust yet
3Historyfinished jobs
4Reposyour clones; space toggles the subscription, R rescans
?Help

Move with the arrow keys or j/k, g/G for the first and last item. Enter opens a job. p pauses and resumes. q quits.

On a job ​

keydoes
aapprove: push and post
Aapprove even though a blocking check failed (asks first)
rreject: nothing is pushed or posted (asks first)
tretry: run the same requests again as a new job
htake over in herdr
ccopy the push command (for suggest jobs)
ycopy the reply text

In the inbox ​

Comments from people who aren’t trusted never reach the agent. They wait here.

keydoes
olet this one event through; the author stays untrusted
atrust the author on this repo
Atrust the author on every repo (asks first)
iignore this event
dnever act on this author

The CLI ​

Everything in the TUI also works from the command line, which is handy for scripts and screen readers.

sh
nightporter status               # plain-text summary of what needs you
nightporter show 42              # a job: checks, replies, diff, log
nightporter approve 42
nightporter approve 42 --override-blocking
nightporter reject 42
nightporter retry 42
nightporter handoff 42           # take over in herdr

nightporter inbox list
nightporter inbox allow-once <event>
nightporter inbox allow alice --repo acme/api    # or --global
nightporter inbox deny mallory --global
nightporter inbox ignore <event>

nightporter pause                # no new jobs; running ones finish
nightporter resume
nightporter gc                   # remove idle worktrees (--all: every unused one)

Run nightporter --help or nightporter <command> --help for the full list.

Notifications ​

You get a desktop notification when a job needs approval, fails or finishes, and when a new author lands in the inbox. Turn any of them off under [notifications] in config.toml.

MIT or Apache-2.0