AI that reads your repo, fixes the bug, runs tests in a sandbox, and opens a pull request.
This repo hosts the public OpenAPI 3.1 spec for the ShipRepo API plus copy-paste recipes in your favourite language.
👉 Try it in 30 seconds — no signup: https://shiprepo.com/demo.html
Most "AI coding tools" are a chat window around a model. ShipRepo is an automation layer — a real multi-agent pipeline that runs in a hardened Docker sandbox and delivers a ready-to-merge pull request.
| What others do | What ShipRepo does |
|---|---|
| Generate code in a chat | Plan → Locate → Fix → Review → Test → Open PR |
| Leave you to copy-paste | Push a branch, open the PR, ping reviewers |
| Hope the model got it right | Retry loop + debug step + stronger-model escalation |
| One model, one prompt | Per-step model routing + BYOK + best-of-N on retries |
curl -sS -X POST https://api.shiprepo.com/v1/demo/token \
-H "Content-Type: application/json" \
-d '{"email": "you@company.com"}'You get an sr_demo_... token valid for 2 tasks on public repos — Planner → Locator → Inspector only, so you can eyeball the Locator accuracy without burning credits.
curl -X POST https://api.shiprepo.com/v1/tasks \
-H "Authorization: Bearer $SHIPREPO_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"repo_url": "https://github.com/expressjs/express",
"prompt": "find the file handling multipart uploads"
}'curl -N https://api.shiprepo.com/v1/tasks/{id}/logs/stream \
-H "Authorization: Bearer $SHIPREPO_TOKEN"Server-Sent Events: log (per step), state (every ~1.5s), end (done).
openapi-public.yaml— the public spec (tasks, streaming, BYOK, demo)examples/node.js— end-to-end Node.jsexamples/python.py— end-to-end Python +sseclientexamples/bash.sh— curl +jqexamples/github-action.yml— issue-label → PR
The spec is OpenAPI 3.1, works with any generator:
# TypeScript
npx @openapitools/openapi-generator-cli generate -i openapi-public.yaml -g typescript-fetch -o sdk-ts/
# Python
npx @openapitools/openapi-generator-cli generate -i openapi-public.yaml -g python -o sdk-py/
# Go
npx @openapitools/openapi-generator-cli generate -i openapi-public.yaml -g go -o sdk-go/Or drop it into Postman / Insomnia / Scalar in one click.
Every task runs through:
clone → Planner → Locator (grep + import graph) → Inspector
→ Fixer (best-of-N on Pro/Scale retries) → Reviewer
→ Validator (install · typecheck · lint · security · test)
→ debug loop (up to 2 retries, escalate to stronger model)
→ Git commit · push · PR (if GitHub connected)
→ save repo memory + accepted diff for next run
Sandbox is locked down: non-root user, read-only rootfs + tmpfs, dropped capabilities, network=none, 512 MB memory, 3-minute hard timeout, auto-destroyed.
Full details at https://shiprepo.com/docs.html.
Found a typo or want to suggest an endpoint? PRs welcome.
The spec itself is maintained server-side and regenerated on each release — cosmetic PRs here get merged quickly.
- Dashboard — https://cp.shiprepo.com
- Docs — https://shiprepo.com/docs.html
- Full API reference — https://shiprepo.com/api.html
- Interactive Swagger — https://api.shiprepo.com/docs
- Demo (30 sec, no card) — https://shiprepo.com/demo.html
- Changelog — https://shiprepo.com/changelog.html
© ShipRepo · MIT (the spec — the platform is commercial)