lsh

lsh · the LogiShell CLI

Read any repo
as a map.

Point lsh at a repository. It hands back a map an agent can read, verdicts it cannot fake, and a door into the rest of your work.

$ curl -fsSL lsh.dev | sh

01 · map

Blocks, not a file tree.

One command reads packages, files and, with --depth sym, what every symbol calls. Names come from your own paths. Nothing is guessed: what it could not prove, it says it could not prove.

  • lsh scan . the map, as markdown or --format json
  • lsh project-map code by language and directory, and what was never built
  • --open the same report, in your browser
~/site
$ lsh scan .
# site · repository map

1 packages · 23 files · languages: ts
depth `file` · 0 proven · 24 unproven

## Verdict
Imports reach fetch, node:child_process
and node:fs: that is where the risk lives.

## Run it
read from the manifests, nothing guessed
- npm run build
- npm run test

02 · verify

Verdicts your agent cannot sign itself.

A person writes down what must stay true. lsh checks the code against it, the same way every time, and caches the answer by hash. The tool that writes code never confirms its own contract: confirmation is a human act in the terminal.

  • lsh blocks verify a draft reaches the shelf only with every test green
  • lsh blocks shelf what is proven here, and how often it is reused
  • lsh product check red the moment the registry stops matching the tree
~/payments
$ lsh blocks verify refund.yaml
✓ refund.amount never exceeds charge
✓ refund never logs card data
✗ refund is idempotent by key
  second call wrote a new row

nothing written · 2 of 3 green
fix the red test, run it again

03 · door

One door for every agent.

Claude Code, Codex or your own harness: lsh mcp serve gives them the map, the decisions and the other sessions of the same repo. Sign the machine in once and LOG sees it from your phone.

  • lsh login a short code and a QR, this machine gets its own token
  • lsh mcp serve the local door for this working copy, over stdio
  • lsh claude mode install the LogiShell mod for Claude Code
~/any-repo
$ lsh login
code  K7Q-4MX
confirm it where you are already signed in
✓ signed in as you · this machine: studio

$ lsh mcp serve
door open over stdio · map, decisions, sessions

lsh, in five answers

What is lsh?

lsh is the command line tool of LogiShell. It reads a repository as a map of blocks (packages, files and what each symbol calls), checks code against contracts a person confirmed, and opens one door for coding agents such as Claude Code and Codex.

How do I install lsh?

Run curl -fsSL lsh.dev | sh in a terminal. Without installing anything you can also run npx logishell scan . in any repository.

What does lsh scan show?

A markdown map of the repository: packages, files, languages, where imports reach the network or the file system, and how to run the project, read from its manifests. Add --format json for a machine, or --open to see it in a browser.

Does lsh work with Claude Code and Codex?

Yes. lsh mcp serve exposes the map, decisions and sessions of a working copy to any MCP client over stdio, and lsh claude mode install adds the LogiShell mod to Claude Code.

Which systems does lsh run on?

macOS, Linux and Windows. The install script picks the right binary, and the binaries are also published at lsh.dev/dl.