Skip to the content

Getting started

Install

You need Node.js and five minutes. A local model makes slowship sharper, but it works without one.

#What you need

WhatNeeded?Why
Node.js 22.19 or newerYesslowship is a Node program with three small dependencies, all parsers.
Ollama with gemma4:e2bRecommendedThe local model that compares each description with what the code does. Without it, slowship runs on its rules alone and says so.
REAOptionalLets 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

  1. Get the code
    git clone https://github.com/nirajkhetre/slowship
    cd slowship
  2. Install its dependencies and link the command
    npm install
    npm link

    npm link puts a slowship command on your computer that points at this folder.

  3. Check it works
    slowship help

    You should see the mark and the list of commands:

slowship help
                                                                                      
                                                                  
                                                            
                                                                   
                                                                                    
                     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:e2b

It’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 slowship

On 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-agents

slowship 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 install

To remove it, turn off the nightly watch first, then unlink it and delete its folder of memory:

slowship schedule --off
npm unlink -g slowship

slowship 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.

Suggest a change to this page

Esc