Scripto docs
View as Markdown

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 123456

Sign-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