# Keep your codebase current on a schedule

> Automate codebase maintenance: schedule missions that upgrade dependencies, fix flaky tests and triage advisories, and review the pull requests they open.

Available now, for engineering teams.

Pick a maintenance template, such as dependency upgrades, and set a schedule. Each run that finds work hands you a pull request that passed your CI, a review and a test.

- **For:** Teams with a dependency, security and flaky-test backlog.
- **Instead of:** Maintenance tickets that wait for a free sprint.

The first line of the dependency upgrades template, one of the three you can start from.

```
Upgrade this project's dependencies and open a single reviewable pull request.
```

## Set it once and review what lands

1. **Pick a template or write a prompt.** Start from the dependency upgrade, flaky test sweep or security advisory triage template, or write your own prompt with checkbox acceptance criteria.
2. **Choose a cadence.** Run it daily, weekly or monthly at the time and time zone you set, or start a run on demand.
3. **Review the pull request it opens.** Each run files an issue in your project's tracker, and the agents take it through plan, build, review and test. Merging stays yours unless you turn on auto-merge.

## Let the backlog shrink while you build

- **Skip a run while the last one is open.** A scheduled run is skipped while the previous run's mission is still open, so a weekly automation never stacks conflicting pull requests. The rule is on by default, and you can turn it off.
- **Record every run, the quiet ones too.** Every run is logged with its outcome and cost, linked to the mission it started, and a skipped run records why, so a run you never watched still has an account.
- **Run any automation on demand.** Start one now from the console, the API or the MCP server. A manual run goes ahead even while the last one is open, and the run log records that a person started it.
- **Cap what an unattended run can spend.** A mission pauses at 2 credits, or 6 agent-hours, until a member of your team approves more, so an unattended run cannot run away with your budget.
- **Drive automations from the API.** Create, list and run automations over the HTTP API or the MCP server, with the same templates the console offers.

## Browse 224 tickets ready to assign or schedule

SHIP publishes 224 use cases across 29 categories, from dependency and runtime upgrades to security patching and flaky tests. Each is written as a ticket you can assign or turn into an automation.

- [Browse the use cases](https://letsship.ai/use-cases)

## Frequently asked questions

### What happens in a week with nothing to upgrade?

The run ends with no code change and reports that, because every template names its empty outcome. You see a clean run in the automation's run history instead of an empty pull request.

### Can an automation change my CI configuration?

No. SHIP blocks any change under .github/workflows unless a person authorizes it, and an unattended run has nobody to authorize it.

### What does an automation cost?

Each run is an ordinary mission: one credit covers up to 3 agent-hours, and credits come back when a mission ends in failure or needs attention with no pull request. A skipped run starts no mission and uses no credit. Model usage is billed by your own provider.

### Do automations need a tracker?

Yes. Each run files an issue in the project's tracker and hands it to SHIP, so a project set up with no tracker cannot run automations.

### Can automation issues carry my tracker labels?

Yes. Name labels that already exist in your tracker, and SHIP attaches them to every issue the automation files. SHIP never creates a label, so a name your workspace does not have is left off.

### Do I still need my dependency bot?

Keep it if it works for you. SHIP's dependency upgrades template batches routine bumps into one pull request, applies the migrations a changelog asks for, and holds back what it cannot upgrade safely with the reason. That pull request passes your CI, a review and a test before it is ready to merge.

## Put your maintenance on a schedule

Pick a template, set a cadence, and review the pull requests it opens.

Source: https://letsship.ai/platform/auto-maintenance
