shelve
Temporarily hide a GitHub pull request from daily checks and status reports while keeping it tracked in the system.
Instructions
Shelve a PR to temporarily hide it from daily checks and status reports without untracking it.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| prUrl | Yes | Full GitHub PR URL to shelve |
Implementation Reference
- packages/mcp-server/src/tools.ts:284-295 (handler)The 'shelve' tool is registered in packages/mcp-server/src/tools.ts. It delegates its execution to `runMove` with the 'shelved' target.
// 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: z.string().describe('Full GitHub PR URL to shelve'), }, annotations: { readOnlyHint: false, destructiveHint: false }, }, wrapTool((args: { prUrl: string }) => runMove({ prUrl: args.prUrl, target: 'shelved' })), ); - packages/core/src/commands/move.ts:55-65 (handler)The core logic for shelving a PR is implemented in `runMove` within packages/core/src/commands/move.ts, which updates the state via `stateManager`.
case 'shelved': { stateManager.batch(() => { stateManager.shelvePR(options.prUrl); stateManager.clearStatusOverride(options.prUrl); }); return { url: options.prUrl, target, description: 'Shelved — excluded from capacity and actionable items', }; }