mirror of
http://10.0.2.1:3031/sauer/claude-code.git
synced 2026-06-30 12:46:58 +10:00
58 lines
2.1 KiB
TypeScript
58 lines
2.1 KiB
TypeScript
|
|
import type { ContentBlockParam } from '@anthropic-ai/sdk/resources/messages.js'
|
|||
|
|
import type { Command } from '../commands.js'
|
|||
|
|
import { isUltrareviewEnabled } from './review/ultrareviewEnabled.js'
|
|||
|
|
|
|||
|
|
// Legal wants the explicit surface name plus a docs link visible before the
|
|||
|
|
// user triggers, so the description carries "Claude Code on the web" + URL.
|
|||
|
|
const CCR_TERMS_URL = 'https://code.claude.com/docs/en/claude-code-on-the-web'
|
|||
|
|
|
|||
|
|
const LOCAL_REVIEW_PROMPT = (args: string) => `
|
|||
|
|
You are an expert code reviewer. Follow these steps:
|
|||
|
|
|
|||
|
|
1. If no PR number is provided in the args, run \`gh pr list\` to show open PRs
|
|||
|
|
2. If a PR number is provided, run \`gh pr view <number>\` to get PR details
|
|||
|
|
3. Run \`gh pr diff <number>\` to get the diff
|
|||
|
|
4. Analyze the changes and provide a thorough code review that includes:
|
|||
|
|
- Overview of what the PR does
|
|||
|
|
- Analysis of code quality and style
|
|||
|
|
- Specific suggestions for improvements
|
|||
|
|
- Any potential issues or risks
|
|||
|
|
|
|||
|
|
Keep your review concise but thorough. Focus on:
|
|||
|
|
- Code correctness
|
|||
|
|
- Following project conventions
|
|||
|
|
- Performance implications
|
|||
|
|
- Test coverage
|
|||
|
|
- Security considerations
|
|||
|
|
|
|||
|
|
Format your review with clear sections and bullet points.
|
|||
|
|
|
|||
|
|
PR number: ${args}
|
|||
|
|
`
|
|||
|
|
|
|||
|
|
const review: Command = {
|
|||
|
|
type: 'prompt',
|
|||
|
|
name: 'review',
|
|||
|
|
description: 'Review a pull request',
|
|||
|
|
progressMessage: 'reviewing pull request',
|
|||
|
|
contentLength: 0,
|
|||
|
|
source: 'builtin',
|
|||
|
|
async getPromptForCommand(args): Promise<ContentBlockParam[]> {
|
|||
|
|
return [{ type: 'text', text: LOCAL_REVIEW_PROMPT(args) }]
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// /ultrareview is the ONLY entry point to the remote bughunter path —
|
|||
|
|
// /review stays purely local. local-jsx type renders the overage permission
|
|||
|
|
// dialog when free reviews are exhausted.
|
|||
|
|
const ultrareview: Command = {
|
|||
|
|
type: 'local-jsx',
|
|||
|
|
name: 'ultrareview',
|
|||
|
|
description: `~10–20 min · Finds and verifies bugs in your branch. Runs in Claude Code on the web. See ${CCR_TERMS_URL}`,
|
|||
|
|
isEnabled: () => isUltrareviewEnabled(),
|
|||
|
|
load: () => import('./review/ultrareviewCommand.js'),
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export default review
|
|||
|
|
export { ultrareview }
|