shelve
Temporarily hide a GitHub pull request from daily checks and status reports while keeping it tracked.
Instructions
Shelve a PR to temporarily hide it from daily checks and status reports without untracking it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| prUrl | Yes | Full GitHub PR URL to shelve |
Implementation Reference
- packages/mcp-server/src/tools.ts:453-464 (registration)MCP tool registration for 'shelve' — maps to runMove with target='shelved'
// 16. shelve — Shelve a PR server.registerTool( 'shelve', { description: 'Shelve a PR to temporarily hide it from daily checks and status reports without untracking it.', inputSchema: { prUrl: githubPrUrlSchema.describe('Full GitHub PR URL to shelve'), }, annotations: { readOnlyHint: false, destructiveHint: false }, }, wrapTool((args: { prUrl: string }) => runMove({ prUrl: args.prUrl, target: 'shelved' })), ); - Input schema definition for the 'shelve' tool — validates GitHub PR URL format
const githubPrUrlSchema = z .string() .url() .regex(GITHUB_PR_URL_REGEX, 'Must be a GitHub PR URL like https://github.com/owner/repo/pull/123'); const githubIssueOrPrUrlSchema = z - StateManager.shelvePR() — the lowest-level helper that adds a PR URL to the shelvedPRUrls array and triggers autosave
shelvePR(url: string): boolean { if (!this.state.config.shelvedPRUrls) { this.state.config.shelvedPRUrls = []; } if (this.state.config.shelvedPRUrls.includes(url)) { return false; } this.state.config.shelvedPRUrls.push(url); this.autoSave(); return true; }