Skip to content

Hand off the change, review the pull request

Shipyard is MergeHarbor's coding agent. Give it a task and it drafts a plan for you to approve, makes the change in an isolated sandbox, runs your tests and lint, and opens a pull request that MergeHarbor reviews.

An add-on on every plan: $15 per active developer per month, or $12 billed annually. One 14-day free trial per organization.

Sample task
  1. Issue labelled in Jira

    ACME-212 Add an endpoint to look up one refund

    Trigger: label shipyardPlaybook: Add an API endpoint

  2. Plan approved

    Edit 3 files, add 2 tests

    Approved by DanaDeep tierCap 40 credits

  3. Sandbox

    Tests and lint pass

    • go test ./...Passed
    • golangci-lint runPassed

    Network: none

  4. Pull request

    #482 opened and reviewed by MergeHarbor

    mergeharbor/task-104322 credits used

How a task runs

Four steps, and a person decides at the second one.

  1. Hand it a task

    From the console, Slack, Microsoft Teams, Google Chat, an issue's Implement this, the API or a trigger. Pick the repository and tier, and see the credits cap before it starts.

  2. Approve the plan

    Shipyard lists the files it expects to touch, its approach and the tests it will add. By default nothing is written until someone allowed to approve it says yes.

  3. Change and test in a sandbox

    It works on its own branch in an isolated sandbox, running your tests and lint until they pass or a limit stops it.

  4. Review the pull request

    The pull request carries the plan, a summary, the tests it ran and the credits it used. MergeHarbor reviews it like any other.

Write the instructions once

A playbook is markdown your team hands to Shipyard for the changes it makes again and again: adding an endpoint, upgrading a dependency, fixing a flaky test.

  • Personal, or shared across the organization. Editing organization playbooks needs the playbooks.manage permission.
  • Every save is a version, with history, a diff against any earlier one, and restore.
  • Import and export as .md files with front matter.
  • Usage counts show which playbooks your team relies on.
add-api-endpoint.mdSample playbook
---
title: Add an API endpoint
scope: organization
version: 3
default_repository: acme/api
default_paths: [internal/api]
default_tier: deep
---

Add the handler under internal/api and register its route.
Cover the success and error cases in one table test, and
update the OpenAPI spec in the same pull request.
Version 3Used in 14 tasks

Set up the sandbox like your CI

A toolchain is a reusable sandbox setup you attach to repositories, so every task installs, tests and lints the way your pipeline does.

  • A runtime, or an image from your installation's allowlist.
  • Install, setup, test and lint commands, and dependency cache paths.
  • No network, or allowlisted package registries only.
  • Variables, and secrets that are write-only and sealed.
  • Run check tries the setup on a repository before a task needs it, at 1.2 credits per sandbox minute.
Go servicesSample toolchain
Runtime
go
Install
go mod download
Test
go test ./...
Lint
golangci-lint run
Cache
~/go/pkg/mod
Network
Allowlisted package registries
Secret
GOPRIVATE_TOKENSealed, write-only
ReadyRun check on acme/api: 2 min 10 s, 2.6 credits

Start tasks from issues and alerts

A trigger starts a task when an issue is opened or labelled in GitHub, GitLab, Jira, Azure Boards, Linear or Asana, when Sentry, Datadog or PagerDuty raises an alert, or when a signed webhook arrives.

  • Each trigger picks the repository, playbook, tier and credits cap.
  • A daily cap from 1 to 50 tasks, 5 by default, and at most one task per issue or incident.
  • The plan waits for a person unless auto-approve for triggers is turned on.
TriggersSample
  • Jira: Issue labelled shipyard

    Up to 5 a day

    acme/apiPlaybook: Add an API endpointDeepCap 40 credits

  • Sentry: New alert

    Up to 3 a day

    acme/billingPlaybook: Fix a production errorStandardCap 15 credits

  • Webhook: Signed request

    Up to 5 a day

    acme/webPlaybook: NoneStandardCap 15 credits

InstructionsResolve {{key}}: {{title}}

See what Shipyard ships

The Overview shows tasks started, pull requests opened and merged, merge rate, median time to merge, credits used and credits per merged pull request, by repository, person and playbook.

Overview, last 30 daysSample
Tasks started
64
Pull requests merged
41
Merge rate
76%
Median time to merge
5 h 40 min
Credits per merged pull request
13.8

Merged pull requests by repository

  • acme/api22
  • acme/billing12
  • acme/web7

Right now

  • 2 working
  • 1 plan needs approval
  • 3 open pull requests

Bounded before it starts

You know the most a task can cost before it runs, and administrators set the limits in Shipyard settings.

Approval by default
Every plan waits for a person. Administrators can auto-approve, separately for the console, chosen chat roles and triggers.
A credits cap on every task
Each tier has a fixed price per step and a default cap. A task never uses more than its cap.
A monthly budget
An optional coding-task budget. Running tasks reserve their cap against it, so a task that could go over is refused.
Network and paths
The sandbox has no network unless you allow package registries. Blocked paths, such as your CI workflows, are never edited.
Untrusted text stays untrusted
Playbook and issue text is treated as guidance, not commands, and secrets are redacted from everything Shipyard shows.
A record of every task
Created, approved, cancelled, failed and pull request opened are all in the audit log.

An add-on for every plan

Shipyard is available on Essentials, Team, Advanced and Enterprise, for the same active developers as your plan.

$15

per active developer / month

$12 billed annually

  • A 14-day free trial, once per organization, started by a billing admin under Billing → Plan
  • Task runs use credits from your pooled allowance
  • A credits cap per task and an optional monthly coding-task budget

Frequently asked questions

Who can start or approve a task?

Starting, approving and cancelling a task needs the pulls.fix permission on the repository. From chat, the channel must also be mapped to the repository with the fix or approver role. Organization playbooks need the playbooks.manage permission to edit.

Can a task change anything without a person seeing it first?

Not by default. Every plan waits for approval. Administrators can let console tasks, chosen chat roles or triggers start without a separate approval, and every task still stops at its credits cap.

What does Shipyard cost?

Shipyard is an add-on on every plan: $15 per active developer per month, or $12 billed annually, for the same active developers as your plan. Task runs use credits. Each organization can try it free for 14 days once.

Does the agent see our secrets?

The sandbox never receives your code-host credentials or model keys. Toolchain secrets are write-only and sealed; they are passed to the sandbox commands and redacted from everything Shipyard shows.

Have another question? Ask our support team

Give Shipyard its first task

Start a MergeHarbor trial, then turn on the 14-day Shipyard trial under Billing → Plan.