---
title: "Maintainer mode"
description: "Let your whale keep a repository healthy on GitHub, with a spending limit only you change."
works_on: []
---

# Maintainer mode

Let your whale keep a repository healthy: it answers requests on GitHub, then
comes back with a draft pull request or an honest answer. It never merges.

**Works on:** Not available yet. Maintainer mode is in the desktop app, but it
needs you signed in and Codewhale's servers to run tickets, and neither is
open yet. Until then, **Repositories** says "Not available yet". The phone and
the web: not available yet.

## Turn it on for a repository

Open **Routines** from the sidebar. Your repositories are listed under
**Repositories**. If you're not signed in, press **Start** on **Keep a
repository healthy** and Codewhale asks you to sign in right there.

Select a repository, then turn on **Maintainer mode**. On GitHub, your whale
posts as Codewhale Agent (`codewhale-agent[bot]`). A repository shows **Not
set up yet** until Codewhale Agent is on it: "Your organization's owner adds
it."

## At first, it watches

When you turn it on, the whale first only watches anything nobody asked for,
such as a new issue or a failing check. **Maintainer mode** says until when:
"Watching until … Requests get answers; anything else waits under Would have
done."

What it would have taken on, and why, is under **Would have done**. "While it
watches, nothing here is posted. Anything not confirmed is dropped quietly."

Requests are different: someone you allow asks with `@codewhale`, and the
whale acts from the first day. It replies once to say it's on it, then once
more with the result.

## Choose whose requests it takes

Under **Takes requests from**, type a GitHub account and press **Add**. "Only
these GitHub accounts can ask with @codewhale." Press **×** next to an account
to remove it; the last one stays.

## Choose what it does

Under **What it does**, set each activity to **Off**, **Watch only** or
**Act**:

| Activity | What it does |
| --- | --- |
| Sort new issues | Labels them and asks for what's missing. |
| Reproduce bugs | Confirms a bug, or says honestly it couldn't. |
| Fix bugs | Opens a draft pull request. Never merges. |
| Review pull requests | Leaves comments. Never approves or merges. |
| Prepare releases | Drafts notes and a checklist. Never tags or publishes. |

## Follow a ticket

Each request becomes a ticket under **Tickets**, with what it's doing now, who
asked and what it has spent. It ends **Ready** with a draft pull request, or
**Could not reproduce**. Right-click a ticket, or focus it and press
Shift+F10:

| Choose | Letter | What happens |
| --- | --- | --- |
| Open on GitHub | G | Opens the issue. |
| Open pull request | P | Opens its draft pull request. |
| Allow more | A | Lets a ticket at its limit continue, by one ticket's limit. |
| Stop | S | Stops the ticket. |

## The spending limit

Under **Spending** you see what the whale has spent today against the day's
limit, and the limit itself: up to an amount a ticket and an amount a day.
Only you change it; your whale never raises it.

When a ticket reaches its limit, it stops spending and shows **Needs you ·
spending limit**. Press **Allow … more** to let it continue by one ticket's
limit.

To change the limit, press **Change limit…**, set **Per ticket (US$)** and
**Per day (US$)**, and press **Save limit**. "A ticket can be $0.50 to $50, a
day $1 to $500, and a ticket never more than a day." The page shows who
changed it and when. A change from anywhere but a person is refused.

## What stays with you

Merging, approving pull requests, tagging and publishing releases, and the
spending limit stay with people. The whale opens draft pull requests, leaves
comments and drafts release notes; it never merges, approves, tags or
publishes.

## Notifications

You get a desktop notification when a ticket needs you or finishes, only
while you're not using the app. Select it to open the repository. Codewhale
never sends email.

## Not available yet

- **Open ticket conversation** and **Take over** in a ticket's menu.
- Maintainer mode itself, until signing in on the desktop and Codewhale's
  servers for it are open.

## Related

- [Routines](routines.md)
- [Review what changed](review.md)
- [Run your organization](organization.md)

Previous: [Run your organization](organization.md) · Next: [Customize](customize.md)
