Agents & CLI Overview
ShipMore is agent-native: every operation a human can perform via the admin UI is also exposed via the shipmore CLI and the MCP plugin, on top of the same service layer. Agents drive the box; the admin is the safety net.
Four interface layers
| Layer | When to use it |
|---|---|
CLI (shipmore) | Default for humans and agents driving the box. Every operation is a command. JSON output on non-TTY. Pipe it into cron, scripts, Claude Code, CI. |
MCP (plugin-mcp) | Conversational agent workflows. Same operations as the CLI, structured for chat. SKILL.md tells agents how to use it. |
| Admin (Payload) | Human review, draft approval, overrides. Safety layer for the operate loop. |
| REST (Payload built-in) | Canonical wire protocol the other three speak. Public for external integrations. |
Custom Code (Next.js / API routes) stays for true edge cases; anything that repeats should graduate into the service layer (and therefore into every surface).
The agent boundary
ShipMore has no LLM. No model SDK, no API key, no inference calls inside the platform — so there’s no per-token cost baked into your deployment. The intelligence layer is your own harness — Claude Code, Claude Desktop, any MCP-capable agent.
The split is simple:
- ShipMore ships deterministic primitives — commands, endpoints, storage — and produces structured facts.
- Your harness agent brings the judgment: it reads the data, interprets ShipMore’s output, and decides what to change.
SKILL.md teaches the agent how to operate the box; the operator confirms anything consequential through the admin. See Patterns for the safety rules.
SKILL.md
SKILL.md lives at the repo root and ships with the CLI. Any MCP-capable agent (Claude, GPT, Gemini) can read it and operate the deployment. It defines:
- The glossary (tenant, import batch, records, product, block, page).
- The agent protocol — JSON output, no prompts, exit codes, error envelope.
- The 4-phase workflow for end-to-end builds (Understand → Propose & ASK → Apply → Build).
- The command overview and pointers to references for flags, errors, recipes.
When an agent picks up a ShipMore deployment, this is the only file it needs to start.
Draft / publish workflow
Agents create content as drafts by default:
await payload.create({
collection: 'pages',
data: { title: 'Doctor Landing Page', layout: [...] },
draft: true,
})Humans review and approve via the Payload admin. Drafts never go live without explicit publish. Every agent action is auditable through Payload’s version history.
Where to next
- CLI — install, auth, command overview, JSON contract.
- MCP Plugin — current config, what’s enabled, how to extend.
- Patterns — adapter rule, tenant scoping, hook safety, two operating modes.