const e=[{id:`no-grep-search`,forbidden:`grep_search`,alternative:`search`,severity:`error`,reason:`Hybrid search across all indexed + curated content`,matchPattern:`grep_search`},{id:`no-semantic-search`,forbidden:`semantic_search`,alternative:`search`,severity:`error`,reason:`Hybrid search across all indexed + curated content`,matchPattern:`semantic_search`},{id:`no-read-file-understanding`,forbidden:`read_file (for understanding)`,alternative:`file_summary or compact`,severity:`error`,reason:`Structure, exports, imports — 10x fewer tokens`,matchPattern:null,heuristic:`read_file with range > 50 lines and no subsequent edit`},{id:`no-terminal-test`,forbidden:`run_in_terminal (for test)`,alternative:`test_run`,severity:`error`,reason:`Run tests with structured output`,matchPattern:null,commandPatterns:[`vitest`,`jest`,`mocha`,`pnpm test`,`npm test`]},{id:`no-terminal-typecheck`,forbidden:`run_in_terminal (for tsc/lint)`,alternative:`check`,severity:`error`,reason:`Typecheck + lint combined, summary output`,matchPattern:null,commandPatterns:[`\\btsc\\b`,`pnpm check`,`pnpm typecheck`,`pnpm lint`,`biome`]},{id:`no-terminal-grep`,forbidden:`run_in_terminal (for find/grep)`,alternative:`find or search`,severity:`error`,reason:`No shell needed, richer results`,matchPattern:null,commandPatterns:[`\\bgrep\\b`,`\\bfind\\b`,`\\brg\\b`,`Select-String`]},{id:`no-read-file-large`,forbidden:`read_file (> 50 lines to understand)`,alternative:`file_summary → compact → digest`,severity:`warning`,reason:`Use compressed context, not raw reads`,matchPattern:null,heuristic:`read_file with endLine - startLine > 50 and no subsequent edit on same file`},{id:`no-fetch-webpage`,forbidden:`fetch_webpage`,alternative:`web_fetch`,severity:`error`,reason:`Readability extract + token budget — richer output`,matchPattern:`fetch_webpage`},{id:`no-subagent-present`,forbidden:`present (from subagent)`,alternative:`Return findings as structured text`,severity:`error`,reason:`Subagent present calls are invisible to user`,matchPattern:null,heuristic:`present called in subagent context`}];function t(){return[`| NEVER use this | USE THIS AI Kit TOOL INSTEAD | Why |`,`|---|---|---|`,...e.filter(e=>e.severity===`error`).map(e=>`| \`${e.forbidden}\` | \`${e.alternative}\` | ${e.reason} |`)].join(`
`)}function n(){return e.map(e=>({id:e.id,description:`${e.forbidden} → use ${e.alternative}`,toolMatch:e.matchPattern,commandPatterns:e.commandPatterns??null,heuristic:e.heuristic??null}))}export{e as POLICIES,t as generateForbiddenTable,n as generateScorerRules};