Build on Terminus

Last updated

Terminus is the portal for the web of AI — every app, agent and skill has an address anyone can open in a browser — and the AI agent operating system underneath it. These docs are for making those things: what each one is, how to build it on your own machine, and how to publish it.

On this page⌄

What you can build#

Five kinds of things, published to one catalog. Each has an address, @publisher/slug, and a page anyone can open.

Apps
Websites that open in a window on the desktop, with the user's own data, the people they share it with, and nothing for you to host.
Agents
Standing workers: a prompt, the tools they may use, and the moments they wake — a schedule, a webhook, a page that changed.
Skills
A SKILL.md any agent can load — on Terminus, or in the coding agent you already use.
Services
Operations apps and agents call: search, images, documents, code, email, or an API of your own.
Models
What talks, draws pictures, writes music, reads aloud, transcribes, turns text into vectors or makes videos for all of them — Terminus's own, or one on your own server, priced per unit.

How building works#

Every kind goes through the same four steps, the way a project goes through Git and GitHub.

  1. Create it on the web. Open Create on the desktop at /os and name it: it gets its address, @you/name, and a page in Creations — the way a new repository gets its URL.

  2. Bring it to your machine with terminus clone @you/name, or connect a folder you already have with terminus remote add @you/name.

  3. Run it with terminus dev — on local test data, and as several people at once when it is meant to be shared. terminus push updates its draft online, and an app's page can then Test it: the pushed draft on Terminus, in a window for each test person.

  4. Publish it from its page on the web. That cuts a release from the draft, and the release is what everyone else gets.

terminus clone @you/my-app && cd my-app
terminus dev        # run it on this machine
terminus push       # update the draft online; then publish it on the web

Push and publish are different acts, done in different places. A draft is seen only by you and your collaborators, and the CLI updates it; a release is immutable, it is what installs and links resolve to, and it is only ever cut on the web.

Set up#

You need Node.js 22.16 or newer. Install the CLI and sign in; a browser tab opens to approve this computer.

npm install -g @terminus-ai/terminus
terminus login      # once signed in, it says the account you are signed in as

Signing in gives this computer a session that ends 30 days after it was last used. There are no API keys — the CLI page has the rest.

Build with a coding agent#

Most people build here with the coding agent they already use — Claude Code, Codex, Cursor. It arrives knowing nothing about terminus.json, the SDK, or that it pushes while you publish, so hand it the manual: one Markdown file, at a URL anything can read. It gives the agent the loop in order, what each command prints and when to reach for which option, the SDK with working calls, and the mistakes that cost an afternoon.

The manual for your coding agent

The CLI loop, the SDK, where data goes, and the mistakes that cost an afternoon — in one file an agent reads before it touches your project.

The quickest way is one line in the agent's chat, which every creation's page offers ready to copy:

Read https://www.terminus.build/docs/SKILL.md, then develop @you/my-app in this folder. I want …

Or fetch it into the project. It is written as a SKILL.md, so an agent that takes skills can keep it as one:

# beside the code
curl -o TERMINUS.md https://www.terminus.build/docs/SKILL.md

# or as a Claude Code skill
mkdir -p .claude/skills/terminus-local-development
curl -o .claude/skills/terminus-local-development/SKILL.md \
  https://www.terminus.build/docs/SKILL.md

Every page of these docs is also plain Markdown for an agent to read: /docs/md/index.md lists them, and /docs/md/sdk.md is the App SDK page.

Publishing and addresses#

Publishing a release gives it a page in the Store — a description, screenshots, ratings and comments — and an address that always resolves to the latest release. Name, icon, price and listing are set on that page and change without a new release.

/os
The desktop, where apps open in windows and agents report back.
/apps/{publisher}/{slug}
An app's page.
/agents/{publisher}/{slug}
An agent's page. It can also be talked to at its own address.
/skills/{publisher}/{slug}
A skill's page.
/services/{publisher}/{slug}
A service's page, with its operations and price.
/profile/@{handle}
A publisher, and everything they have published.

Terminus's own creations leave the publisher out: @terminus/web lives at /services/web. When a publisher opens a release's source, its page shows the code and history, and Fork on its Store page makes a copy of your own on Terminus, which terminus clone brings into a folder — the CLI page has the rest.

Get help#

For questions, integration help, or to report a problem, write to hello@terminus.build.

For your coding agent

https://www.terminus.build/docs/SKILL.md