Skip to the content

Using it

The terminal review

You don’t have to leave the terminal. After a watch, press ↵ on the verdict card, or run slowship review any time, and the whole review opens full screen.

#Open it

slowship review

It reviews the last watch again, from memory, without reading anything twice.

slowship review
      slowship  /home/you/code/my-app                                                       ◆ Held in port.   
     Ship safe, slowly.   189 aboard · 23 Oct, 08:00 pm                               6 held · 10 to glance  
                                                                                                             
   Review  16    Aboard  189    Keys  1    Blind spots  100.0%                                                        

 ◆ my-app                       Runs on open ┃   ◆ Held   Runs on open                                              
   Decodes hidden data and runs it as code … ┃                                                                      
                                              ┃  my-app                                                              
 ◆ my-app                         Your build ┃  /home/you/code/my-app                                               
   A window with Node.js on and isolation o… ┃                                                                      
                                              ┃  What it says it does                                                
 ◆ notes-window                   Your build ┃    What opening this project runs on its own: your coding agent's    
   A page in your app can call this IPC han… ┃    hooks, VS Code's folder-open tasks, and the scripts they start.   
                                              ┃                                                                      
 ◆ table-tidy                          Skill ┃  ◆ Decodes hidden data and runs it as code in the same function      
   Reads credential files and sends network… ┃     Held                                                             
                                              ┃    ▣ .claude/setup.mjs  new Function() builds code at runtime        
 ◆ tiny-date-fmt 1.0.0               Package ┃    Decoding data and running it as code in the same function is how  
   Reads credential files and sends network… ┃    hidden payloads start.                                            
                                              ┃                                                                      
 ◆ trusted-date-fmt 1.0.0            Package ┃  ◆ Runs on its own when the project opens, and what it runs hides    
   Reads credential files and sends network…     code, builds code at runtime or reaches for secrets               
                                                   Held                                                             
 ● @pinojs/redact 0.4.0              Package     ▣ .claude/settings.json  runs `node .claude/setup.mjs` when your  
   WriteFileSync()                               ▣ .vscode/tasks.json  runs `node .vscode/setup.mjs` as soon as t  
                                                                                                                    
 ● ajv 8.20.0                        Package   ● Reads a secret token from the environment and sends network       
   New Function() builds code at runtime         requests right next to it                                         
                                                   Worth a glance                                                   
 ● Django 3.2.0                      Package     ▣ .vscode/setup.mjs  fetch()                                      
   66 known vulnerabilities, the worst crit…     A token from the environment next to a request is often a tool    
                                                  using its own key, and sometimes a token thief.                   
                                                                                                   0% · PgUp PgDn   
  ↑↓  move   ←→  tabs   PgDn  read   c  clear   u  undo   /  search   o  browser   r  rewatch   ?  keys   q  quit     

#What’s on the screen

Four tabs run along the top:

Beside the list is the inspector: what the item says, what its code does with the real lines around each finding (the flagged one lit), the model’s note, the IPC map, what compiled files are built from, and the keys it holds.

#Keys

KeyWhat it does
↑ ↓Move through the list
← →Switch tabs
↵Open the selected item in the inspector
cClear it. It slides away.
uUndo the last clear
/Search, or type a command like /discord
fFilter by kind
oOpen the morning report in the browser
rWatch again
?Show every key
EscStep back. It never quits.
qQuit. The terminal is always put back as it was.

The mouse works too: click to pick, use the wheel to scroll. When the last thing is cleared, the ship sails.

#Commands inside the review

Press / and type a command:

#Small and odd terminals

Below 110 columns, the inspector opens over the list instead of beside it. Below 60 by 16, it asks for more room rather than drawing something broken.

It uses true colour where the terminal has it, and 256 or 16 colours where it doesn’t.

#Plain text, no motion

When the output is piped, in CI, overnight, with NO_COLOR set, or with --plain, slowship prints plain text instead of drawing, and the exit code is the same. --no-motion (or SLOWSHIP_NO_MOTION) keeps the drawing but stops all animation.

Suggest a change to this page

Esc