#!/usr/bin/env node 'use strict'; const MAX_STDIN = 1024 * 1024; let raw = ''; process.stdin.setEncoding('utf8'); process.stdin.on('data', chunk => { if (raw.length < MAX_STDIN) { const remaining = MAX_STDIN - raw.length; raw += chunk.substring(0, remaining); } }); process.stdin.on('end', () => { try { const input = JSON.parse(raw); const cmd = String(input.tool_input?.command || ''); if (/\bgh\s+pr\s+create\b/.test(cmd)) { const out = String(input.tool_output?.output || ''); const match = out.match(/https:\/\/github\.com\/[^/]+\/[^/]+\/pull\/\d+/); if (match) { const prUrl = match[0]; const repo = prUrl.replace(/https:\/\/github\.com\/([^/]+\/[^/]+)\/pull\/\d+/, '$1'); const prNum = prUrl.replace(/.+\/pull\/(\d+)/, '$1'); console.error(`[Hook] PR created: ${prUrl}`); console.error(`[Hook] To review: gh pr review ${prNum} --repo ${repo}`); } } } catch { // ignore parse errors and pass through } process.stdout.write(raw); });