Uniques

Windows you talk through

A unique is one interactive medium: a static web app that speaks LIP, lives in its own repository, and gets the companion, chat and components from the shell for free.

graph default

Talk to Claude in diagrams. A dark-violet node/edge board where you draw the thing you mean while you chat, and the companion reads, points, suggests and edits the same board.

installed with letsverified in lets-storereference implementation
  • Nodes in seven kinds, edges, auto-layouts, undo for everything.
  • Paste a screenshot: it becomes a node and Claude reads the file.
  • Send to Claude hands the board over; "continue" brings it back. new in 0.4.0

den default

Doto's home. One calm page that shows what the companion has learned about you, where you edit or forget any of it by pointing.

installed with letsverified in lets-storenew in 0.6.0
  • Persona, six trait sliders, likes, dislikes, nicknames, memory lines and special skills: change or forget each one where it sits.
  • The seven secret moves (found ones lit, the rest a "?") and how you work: pace, clicks per minute, dwell, favourite regions.
  • Send to Claude hands it over for a memory review in the chat; "continue" brings it back live.

cocode in the store

Talk in code. An editor for any language, even one that doesn't exist. Claude predicts your next lines, prepares the real program while you type, and reads what you send as a question, a task or a note.

not a defaultverified in lets-storenew
  • Claude's next lines appear as a dim ghost at the caret: Tab accepts, Esc dismisses. When Claude is away, a local predictor offers weaker ones.
  • While you type, Claude builds the real program (Python, JavaScript, …) in the Build pane, so Run (Ctrl+Enter) is instant and the output streams in.
  • Ask (Ctrl+K, or a line starting with ??) and Send to Claude carry the code as the message; Claude reads it as a question, a walkthrough, a task, a fix, a review or a note.
  • Answer in code: Claude's whole answer comes back as code in your language, nothing else; also /lets cocode output without a window. new in 0.2.0
  • Reach: a line that asks for what no sandbox can do (ping('google.com'), claude.browser(url), research(topic), $ cmd) is done for real by Claude: the real ping, the browser pane, a web search, a sub-agent, the shell. Never a function that prints what a ping would say. new in 0.3.0

mors in the store

Talk in Morse. One key, one tape. You key your message in dots and dashes and send it to Claude, who reads it as a prompt: one line saying what it read, then it does what the message asks.

not a defaultverified in lets-storenew
  • Hold Space or the key: a short press is a dot, a long one a dash. A pause closes the letter, a longer one the word. With auto on, the speed follows your hand.
  • It assumes you know Morse: just the key, the tape and Send to Claude. Only Doto helps, from his menu: read it back, spell a word (Tab keys a letter for you), check what you keyed, the chart, a full controller.
  • Claude can answer in Morse on a second track of the tape, with its own lamp and a lower tone.

pulse template

A dial you talk through. A full-screen mood dial: drag the violet ring to set a value from 0 to 100 and pick a mode chip (calm, focused, wild); the companion reacts, and Claude can move the dial itself.

not a defaultverified in lets-storestart here to build
  • The whole unique contract in a handful of files: events pulse.value, pulse.mode; commands pulse.set, pulse.glow.
  • A keyboard-accessible dial, Send to Claude / resume demonstrated with a session block, and validate scaffolding. new in 0.2.0
  • Use it as a GitHub template, rename pulse, build yours.

Defaults vs the store

Two lists, two jobs.

defaults.json

The list of uniques every installation gets, kept in the engine repo. The engine clones them into ~/.lets/uniques the first time it runs, or the first time you open one. Today that list is graph and den. Defaults are trusted by the list and still validated before they are served; LETS_NO_DEFAULTS=1 opts out.

The store

Where community uniques live. lets-store is a git repository whose index.json points at uniques by git URL. Install with /lets store <name>: you see the permissions and the verified flag, and nothing installs until you say yes. cocode and mors are the first store-only uniques by the maintainers.

What "verified" means →

New candidates grow in the store first; once a unique is solid it can be proposed for defaults.json.

Proposed next: waves (a board for /lets plan), triage (a card stack for verdicts) and pins (point at a screenshot), open as unique proposals in the lets issues. Ideas, not promises.

Propose a unique

Built something? Validate it with node engine/bin/lets.mjs validate, then open a pull request to lets-store adding your entry to index.json. A maintainer reviews the manifest and marks it verified.