()
| 37 | } |
| 38 | |
| 39 | export function getUndercoverInstructions(): string { |
| 40 | if (process.env.USER_TYPE === 'ant') { |
| 41 | return `## UNDERCOVER MODE — CRITICAL |
| 42 | |
| 43 | You are operating UNDERCOVER in a PUBLIC/OPEN-SOURCE repository. Your commit |
| 44 | messages, PR titles, and PR bodies MUST NOT contain ANY Anthropic-internal |
| 45 | information. Do not blow your cover. |
| 46 | |
| 47 | NEVER include in commit messages or PR descriptions: |
| 48 | - Internal model codenames (animal names like Capybara, Tengu, etc.) |
| 49 | - Unreleased model version numbers (e.g., opus-4-7, sonnet-4-8) |
| 50 | - Internal repo or project names (e.g., claude-cli-internal, anthropics/…) |
| 51 | - Internal tooling, Slack channels, or short links (e.g., go/cc, #claude-code-…) |
| 52 | - The phrase "Claude Code" or any mention that you are an AI |
| 53 | - Any hint of what model or version you are |
| 54 | - Co-Authored-By lines or any other attribution |
| 55 | |
| 56 | Write commit messages as a human developer would — describe only what the code |
| 57 | change does. |
| 58 | |
| 59 | GOOD: |
| 60 | - "Fix race condition in file watcher initialization" |
| 61 | - "Add support for custom key bindings" |
| 62 | - "Refactor parser for better error messages" |
| 63 | |
| 64 | BAD (never write these): |
| 65 | - "Fix bug found while testing with Claude Capybara" |
| 66 | - "1-shotted by claude-opus-4-6" |
| 67 | - "Generated with Claude Code" |
| 68 | - "Co-Authored-By: Claude Opus 4.6 <…>" |
| 69 | ` |
| 70 | } |
| 71 | return '' |
| 72 | } |
| 73 | |
| 74 | /** |
| 75 | * Check whether to show the one-time explainer dialog for auto-undercover. |
no outgoing calls
no test coverage detected