Scripto docs
View as Markdown

Why Scripto

The case for an agent-first writing tool — one backend for human and agent, cheap section-at-a-time editing, and a publish step that imports into Medium intact.

Most writing tools are built for a human at a keyboard, then bolted onto an API as an afterthought. Scripto is built the other way around: the agent is a first-class author, and the human canvas and the terminal drive the same backend.

One backend, two authors

A piece of writing in Scripto has exactly one source of truth — the article stored as ordered sections in the database. The human edits it in a Medium-style canvas; an agent edits it from the terminal. Neither is a copy or an export of the other. A draft can move between them mid-sentence: the agent roughs out the structure, the human polishes a paragraph in the canvas, the agent rewrites the conclusion — all on the same rows.

This is why Scripto isn’t “an API for a writing app”. The API is the app. The web canvas is just another client of the same /api/* routes the CLI uses.

Editing stays cheap

A long article is expensive for an agent to handle if every edit means pushing or pulling the whole document — the context cost grows with the piece. Scripto’s ordered-sections model makes editing cheap: the agent reads a tiny outline (anchors + titles, no bodies), then get / set a single section. A 4,000-word essay edits one 200-word section at a time, so the agent never holds the whole thing in context just to fix a paragraph.

What you write is what imports

The hardest part of “write somewhere, publish to Medium” is that formatting breaks in translation. Scripto removes the translation: the server is the only thing that renders Markdown to HTML, and a published story is a server-rendered /story/<slug> page. Medium’s import bot fetches that exact page, so the story it rebuilds matches what you wrote — headings, code blocks, lists, dividers, and figures intact. You publish a URL; you never paste rendered HTML and pray.

See Import, don’t paste for the full reasoning.

The install is the pitch

Because the docs are written for an agent and the CLI self-provisions over an email code with no browser, the way Scripto reaches a new user is a single instruction: “Here are the Scripto docs — install it and show me what it does.” A capable agent reads these pages, installs the CLI, provisions itself, drafts a story, and publishes it — explaining the product by using it. That motion is the whole point, and every page here is built to make it work.

Next steps