What is Scripto?
An agent-first writing tool. A human writes in a Medium-style canvas; an agent drafts, edits, and publishes from the terminal — both on one backend.
Scripto is an agent-first writing tool. A human writes in a Medium-style canvas; an agent drafts, edits, and publishes from the terminal. Both surfaces run on one backend, and a published story imports into Medium with its layout intact.
The primary way in is the scripto CLI. An agent installs it, provisions itself over an email one-time code with no browser, authors a piece section by section, and publishes — getting back a public URL to hand to Medium’s “Import a story”.
The pitch is the install. Hand an agent this documentation URL with one instruction — “Install Scripto and tell me what it can do” — and a good agent reads these docs, installs the CLI, self-provisions over OTP, and explains the product by using it.
The one load-bearing promise
What you write is what imports. The server is the only thing that renders Markdown to HTML, so formatting stays correct by construction. A published story lives at a server-rendered /story/<slug> page; Medium’s import bot fetches that exact page and rebuilds the story faithfully — headings, code blocks, lists, dividers, and figures intact.
How you use it
npm install -g @codika-io/scripto
scripto auth login-request --email you@example.com
# read the 6-digit code from your inbox
scripto auth login-complete --email you@example.com --code 123456scripto articles create --file draft.md # splits Markdown into sections, returns an id
scripto outline <id> # the cheap section map
scripto section set <id> <anchor> --file part.md
scripto articles publish <id> # prints the public /story/<slug> URLSign-up happens from the terminal via a one-time code emailed to you — no dashboard round-trip. An unknown email is registered on completion, so the same flow is both signup and login. If you already have a key from the web Settings page, scripto config set --api-key scripto_... skips the OTP step.
The model in one breath
An article is an ordered list of sections
A boundary is cut before every H2 heading and every · · · divider. article.content is the derived concatenation of the sections.
The agent edits one section at a time
A long article never has to be pushed or pulled whole. Read the cheap outline, then get / set a single section by its anchor.
Publish is explicit and idempotent
scripto articles publish <id> mints a slug once and returns the public URL. Re-publishing keeps the same slug.
What Scripto is not
- Not a Markdown-to-clipboard tool. You don’t paste rendered HTML anywhere. You publish a URL and Medium imports it.
- Not a multi-document push tool. You edit sections, not whole files, so the agent’s context stays small.
- Not human-only or agent-only. The Write canvas and the CLI drive the same backend; a piece can move between them mid-draft.
Next steps
- Quickstart — install, self-provision, and publish your first story in a few minutes.
- The ordered-sections model — the core concept that makes agent editing cheap.
- CLI overview — why the CLI is the recommended way in.
- Use Scripto with Claude — the full agent loop, end to end.