---
title: "Coding agents"
description: "Use typeship from Claude Code, Codex, VS Code, and the other agents: the one-line prompt, the runbook, the CLI's agent contract, the hosted MCP server, and the skills."
url: https://typeship.dev/docs/guides/coding-agents
markdown: https://typeship.dev/docs/guides/coding-agents.md
section: "Get started"
---
> ## Documentation index
> Fetch the complete documentation index at https://typeship.dev/llms.txt (every page, one line each) or the full text at https://typeship.dev/llms-full.txt.
> Append .md to any docs URL, or send Accept: text/markdown, for the markdown twin of that page.

# Coding agents

Use typeship from Claude Code, Codex, VS Code, and the other agents: the one-line prompt, the runbook, the CLI's agent contract, the hosted MCP server, and the skills.

typeship is built to be driven by an agent as readily as by a person: the CLI prints JSON and stops with structured envelopes, the MCP server exposes every operation as a tool, every docs page has a markdown twin, and one hosted file tells an agent how to set everything up. This page is the map. Nothing on it is agent-only; the same commands work at a keyboard.

## The one line

Paste this into your agent:

```text
Read https://typeship.dev/agents.md and set typeship up for this repo.
```

[/agents.md](https://typeship.dev/agents.md) is a runbook written to the agent: detect the situation, install the CLI, pick a path (no account, has a key, needs a key, REST only, connect the MCP server), verify, report. It works with no account: the first path generates a package from any spec anonymously.

## Set a machine up in one command

With a key in hand (create one under **api keys** in the [console](https://typeship.dev/console/keys)):

```bash
npx -y typeship-ax@latest init --all -k ak_...
```

`init` stores the key, installs the [typeship skills](#skills), writes the [hosted MCP server](https://typeship.dev/docs/typeship-api/mcp) into every agent client found on the machine (with `${TYPESHIP_TOKEN}` as an env reference, never the key itself), and adds a `typeship` block to `AGENTS.md` (or `CLAUDE.md`) with the auth rules, the discovery commands, and a compact index of every command. Run it again any time; the block is replaced in place.

## What the CLI promises an agent

The full contract is on the [CLI platform page](https://typeship.dev/docs/platforms/cli#output-and-exit-codes), and `typeship agent-guide --format json` prints it. In short:

* JSON on stdout. Every failure is one envelope on stderr: `{status, issues: [{code, message}], docs_url, next_steps, detail}`; branch on `issues[].code`.
* Agent mode (`--mode agent`, `TYPESHIP_MODE=agent`, or no terminal) never prompts and never opens a browser.
* Deletes need `--force`; without it the CLI returns `CONFIRMATION_REQUIRED` and the exact command.
* `typeship generate run ... --out sdk/` writes a generated package straight into a directory, no account needed.
* `typeship auth check`, `typeship doctor`, `typeship help --json`, `typeship docs search <term>`.

## Per harness

**Claude Code**

```bash
claude mcp add --transport http typeship https://typeship.dev/mcp-oauth   # signs you in; see the MCP page for the key form (CI)
/plugin marketplace add typeship-ax/skills
/plugin install typeship@typeship-skills
```

Or `typeship init --all` for both. In a session: "Read [https://typeship.dev/agents.md](https://typeship.dev/agents.md) and set typeship up for this repo."

**Codex**

```bash
codex mcp add typeship --url https://typeship.dev/mcp-oauth && codex mcp login typeship
codex plugin marketplace add typeship-ax/skills
```

**VS Code**

`.vscode/mcp.json`:

```json
{ "servers": { "typeship": { "type": "http", "url": "https://typeship.dev/mcp-oauth" } } }
```

VS Code signs you in on first use. `typeship mcp install --vscode` writes the key-based entry instead (`/mcp` with `${TYPESHIP_TOKEN}`), for machines without a browser.

**Windsurf, Gemini CLI, OpenCode, Zed**

`typeship mcp install --windsurf | --gemini | --opencode | --zed` writes each client's config with the hosted URL and the env reference. `typeship mcp` alone prints the entry and which clients were detected.

**Claude Desktop, claude.ai**

Add `https://typeship.dev/mcp-oauth` as a custom connector (Settings, Connectors); it signs you in. The desktop config file only launches stdio servers, so `typeship mcp --claude-desktop` registers the local `typeship-mcp` instead.

Cursor is left out until Cursor speaks MCP 2026-07-28, the only protocol version typeship's servers serve; `typeship mcp install --cursor` writes the entry on request with that note.

## Skills

The [typeship skills](https://github.com/typeship-ax/skills) are Agent Skills that wrap the CLI: a router (`typeship`), `typeship-cli`, `typeship-api` (REST without the CLI), `typeship-spec-prep` (make a spec generate well), `typeship-mcp-clients`, and `typeship-ci`.

```bash
npx skills add typeship-ax/skills
```

## Docs for agents

* [/llms.txt](https://typeship.dev/llms.txt): every page, one line each. [/llms-full.txt](https://typeship.dev/llms-full.txt): everything in one fetch.
* Append `.md` to any docs URL, or send `Accept: text/markdown`, for that page as markdown with frontmatter and absolute links.
* `search_docs` and `read_docs` on the [MCP server](https://typeship.dev/docs/typeship-api/mcp) need no key.
* Every page has **Copy page**, **View as Markdown**, **Open in Claude**, and **Open in ChatGPT** under its title.

## Without a key

An agent with a spec and no typeship account can still get a package: `typeship generate run` and `POST /v1/generate` work anonymously (the first 25 operations, rate limited per address), and the MCP server's `generate_run` does the same. The response's `limits` object says what was held back and where to sign up. Everything else needs a key from the console; the runbook tells the agent to ask for one rather than to guess.

## Sitemap

[Every page of these docs](https://typeship.dev/llms.txt)
