Reference

Commands

Every voodoo command, on one page.

The same list voodoo --help prints.

Plain voodoo

In a terminal, voodoo with no command opens the terminal UI, starting the daemon if none is running. Piped, it prints the status instead, so a script gets something it can read.

Projects and what is running

CommandWhat it does
voodoo add [folder]Start keeping track of a project. This folder, if you don’t say.
voodoo statusThe daemon, and what’s running.
voodoo worktreesThe git worktrees cut for agents, and what is in each.
voodoo worktrees remove <which>Delete a worktree: its folder, and its branch. By its number in voodoo worktrees, or by its branch.

Sharing work

Run from inside a worktree or a project. The daemon decides what may go up, so an agent running these gets the same answer you would.

CommandWhat it does
voodoo pushPush the branch you are on. Never forced, and never main, master or origin’s default branch from an agent’s worktree.
voodoo prPush, then open a pull request through gh, or find the one already open.

Phones

CommandWhat it does
voodoo pairShow a code for the Voodoo app to scan, and wait for the phone.
voodoo phonesThe phones paired with this machine.
voodoo unpair <which>Forget a phone, by its name or the start of its key. Its key can’t reach this machine after this.

The daemon

CommandWhat it does
voodoo setupHave the daemon start at login, start it, and check what voodoo needs. Safe to run again.
voodoo updateInstall the latest release over this voodoo, and restart the daemon as it. Sessions keep running.
voodoo stopStop the daemon, and every session with it.
voodoo restartStop the daemon and start it again.
voodoo logsFollow the daemon’s log.

Options

OptionWhat it does
--discardWith worktrees remove, lose whatever in it hasn’t landed.
-V, --versionPrint the version.
-h, --helpShow the help.

How they speak

One mark to a line: ✓ went well, ! worth a look, ✗ failed, › a plain fact. An error is one sentence that says what is wrong and then what to do, and it goes to stderr, so a script reading stdout never mistakes it for output. Colour is left out when the output isn’t a terminal, and under NO_COLOR.