INNER CODE UNIT · JavaScript
TOP_QUESTS
karanb192/claude-code-hooks · plugins/bounty-board/bounty-board.js:76
const TOP_QUESTS = 3; // side quests injected via additionalContext
const BOARD_RENDER_LIMIT = 12; // rows shown in the rendered board card
// Vendored / generated paths are debt we don't own: skip even if git-tracked.
const SKIP_PATH_RE =
/(^|\/)(node_modules|vendor|vendors|third_party|dist|build|out|coverage|target|\.next|\.nuxt)(\/|$)|\.min\.(js|css)$/;
const SCAN_EXTS = new Set([
'.js', '.jsx', '.ts', '.tsx', '.mjs', '.cjs',
'.py', '.rb', '.go', '.rs', '.java', '.kt', '.c', '.h',
'.cc', '.cpp', '.hpp', '.cs', '.php', '.swift', '.scala',
'.sh', '.vue', '.svelte',
]);
// Each rule: id, severity (base XP weight), and a matcher over a single line.
const RULES = [
{ id: 'FIXME', severity: 5, kind: 'comment', re: /\b(FIXME)\b/ },
{ id: 'XXX', severity: 4, kind: 'comment', re: /\b(XXX)\b/ },