Getting started
Install
You need Node.js and five minutes. A local model makes slowship sharper, but it works without one.
#What you need
| What | Needed? | Why |
|---|---|---|
| Node.js 22.19 or newer | Yes | slowship is a Node program with three small dependencies, all parsers. |
Ollama with gemma4:e2b | Recommended | The local model that compares each description with what the code does. Without it, slowship runs on its rules alone and says so. |
| REA | Optional | Lets slowship read compiled Go, Rust and .NET files, map your Electron app’s IPC, and read Electron fuses. All without running them. |
It works on Windows, macOS and Linux. The nightly watch uses Task Scheduler on Windows and one crontab line elsewhere.
#Install slowship
- Get the code
git clone https://github.com/nirajkhetre/slowship cd slowship - Install its dependencies and link the command
npm install npm linknpm linkputs aslowshipcommand on your computer that points at this folder. - Check it works
slowship helpYou should see the mark and the list of commands:
Ship safe, slowly. Does everything aboard do what it says? Watch slowship [dir] read dir (here by default), then review it slowship review review the last watch again slowship ui the morning report, in your browser slowship schedule [dir] --at 03:00 keep watch every night (--off, --status) Options --app <build/> also check your own build before it ships --no-model rules only, no local model --packages-only, --agents-only read only one side --offline don't fetch npx MCP packages to read them --json <file> write everything found as JSON --approve <name|notable|review> mark results as seen --plain plain text: no colour, no screens (also when piped) --no-motion no animation Your coding agent (optional) slowship connect let it watch, and check before it installs; only you clear Morning ping (optional) slowship discord send the verdict to a Discord channel after each nightly w slowship telegram or to a Telegram chat, through a bot you make slowship notify [test|off] what's connected; send a test; disconnect In the review ↑↓ move ←→ tabs ↵ open c clear u undo / search o browser ? keys q quit Reads code, never runs it. Exit code 2 when something is held, so it can gate CI.
“slowship is not recognized”? Open a new terminal after npm link, so it picks up the new command. If it still isn’t found, run npm prefix -g and make sure that folder is on your PATH. You can always run it directly with node bin/slowship.js from the slowship folder.
#Add the local model
Install Ollama, then pull the model slowship uses by default:
ollama pull gemma4:e2bIt’s small enough for a laptop. Ollama runs it on your own machine, so nothing you scan is uploaded. To use a different model, set SLOWSHIP_MODEL:
SLOWSHIP_MODEL=the-model-you-pulled slowshipOn Windows PowerShell, that’s $env:SLOWSHIP_MODEL = "the-model-you-pulled" before running slowship.
#Add REA (optional)
REA reads compiled files statically. With it, a compiled MCP server or a native .node, .exe or .dll stops being a blind spot: slowship can say what it was built from and, for .NET, which native functions it declares.
npm install -g rea-agentsslowship finds a global install by itself. If you keep REA somewhere else, point SLOWSHIP_REA at its scripts/rea.mjs. slowship only ever runs REA’s static readers, with fixed arguments and a timeout.
#Update or remove it
To update, pull the latest code in the slowship folder and install again:
git pull
npm installTo remove it, turn off the nightly watch first, then unlink it and delete its folder of memory:
slowship schedule --off
npm unlink -g slowshipslowship keeps what it remembers in ~/.slowship (or wherever SLOWSHIP_HOME points). Delete that folder to forget everything, including what you’ve cleared and any morning ping you connected.