Skip to the content

How it works

What it reads

Four kinds of cargo, found in one pass with no setup. Everything is read where it already sits, except MCP servers that live on npm, which are downloaded into quarantine first.

#Packages

slowship reads your package-lock.json, so it reads exactly what you’ll ship, at the versions you’ll ship, including every dependency of a dependency. The code itself is read from node_modules.

No lockfile? It falls back to reading node_modules directly and says so, because then versions aren’t pinned.

#Agent skills

Skills are folders of instructions and scripts that coding agents load. slowship reads the skill folders that coding agents use, in your home folder and in the project, plugin folders included. For example ~/.agents/skills and ~/.codex/skills.

A skill has two parts, and both are read:

#MCP servers

MCP servers are the tools your agents connect to. slowship finds them in the MCP settings of popular coding agents and editors (Cursor, VS Code, Codex and others).

None are ever started.

#Compiled files

With REA installed, compiled files stop being blind spots. That covers a compiled MCP server, or a .node, .exe or .dll inside a package.

KindWhat slowship learns
Go and RustWhat they were built from: modules or crates and their versions, the toolchain, dependencies swapped in at build time, builds from uncommitted changes.
.NETIts references and the native functions it declares, like starting programs, raw network, keystroke hooks, writing into other programs, or decrypting what Windows protects for you. Then, method by method, the framework calls each method makes and the strings it loads.
C and C++They leave no build record, so they are named, not read.

So a .NET method that decodes base64 and loads it as code, or names the browser’s password file and then posts, is held just like the same JavaScript function.

#Your build

Only when you ask, with --app or in Settings. slowship looks for:

#What it leaves out

Test and example files inside packages are left out on purpose: they ship, but they don’t run when you use the package. Files over 2 MB, usually generated bundles, are skipped and named. Both appear in Blind spots.

Suggest a change to this page

Esc