pbakaus/impeccable · error
overused-font is value-specific by default. Use ${IMPECCABLE
Error message
overused-font is value-specific by default. Use ${IMPECCABLE_COMMAND} hooks ignore-value overused-font <font> for a confirmed font, or ${IMPECCABLE_COMMAND} hooks ignore-rule overused-font --all-values only when the user asked to ignore overused fonts generally. What it means
overused-font is a value-specific rule: a single 'overused-font' suppression is meaningful only per font family, not as a blanket rule. Adding `overused-font` to ignoreRules without `--all-values` is therefore refused, with a message pointing to the value-scoped command (ignore-value) or the explicit whole-rule form. This is a guardrail against an accidental project-wide font suppression that the user did not actually confirm.
Source
Thrown at plugin/skills/impeccable/scripts/hook-admin.mjs:581
} else if (arg.startsWith('--')) {
throw new Error(`Unknown ignore-rule flag: ${arg}`);
} else {
positionals.push(arg);
}
}
return {
rule: normalizeRuleId(positionals[0]),
allValues,
};
}
function addIgnoreRule(cwd, args) {
const parsed = parseIgnoreRuleArgs(args);
const rule = parsed.rule;
if (!rule) throw new Error(`Pass a rule id, e.g. ${IMPECCABLE_COMMAND} hooks ignore-rule side-tab`);
if (rule === 'overused-font' && !parsed.allValues) {
throw new Error(`overused-font is value-specific by default. Use ${IMPECCABLE_COMMAND} hooks ignore-value overused-font <font> for a confirmed font, or ${IMPECCABLE_COMMAND} hooks ignore-rule overused-font --all-values only when the user asked to ignore overused fonts generally.`);
}
const config = mergeDetectorConfig(readRawDetectorConfig(cwd));
if (!config.ignoreRules.includes(rule)) config.ignoreRules.push(rule);
writeDetectorConfig(cwd, config);
return `Added "${rule}" to detector.ignoreRules. Current: ${config.ignoreRules.join(', ')}`;
}
function parseIgnoreFileArgs(args) {
const positionals = [];
let shared = false;
let local = false;
for (const raw of args) {
const arg = String(raw || '');
if (arg === '--shared') {
shared = true;
} else if (arg === '--local') {
local = true;View on GitHub (pinned to d14711ae3d)
Solutions
- If you want to ignore one confirmed font, use `hooks ignore-value overused-font <font>`.
- Only if you explicitly intend to ignore overused fonts project-wide, add `--all-values`: `hooks ignore-rule overused-font --all-values`.
Example fix
# before impeccable hooks ignore-rule overused-font # after (per-font, preferred) impeccable hooks ignore-value overused-font Inter # after (whole rule, explicit) impeccable hooks ignore-rule overused-font --all-values
Defensive patterns
Strategy: validation
Validate before calling
if (rule === 'overused-font' && !allValues) {
// route to ignore-value for a specific font, or require explicit --all-values
throw new Error('Use ignore-value overused-font <font>, or --all-values for the whole rule.');
} Prevention
- Treat overused-font as value-specific by default; prefer ignore-value overused-font <font>.
- Reserve `ignore-rule overused-font --all-values` for an explicit, confirmed project-wide suppression.
When it happens
Trigger: Running `hooks ignore-rule overused-font` with no `--all-values` flag.
Common situations: A user (or agent) trying to silence all overused-font findings in one shot instead of confirming a specific font; treating overused-font like any other rule id.
Related errors
- --reason is not supported for ignore-file because detector.i
- Pass only one scope flag: --shared or --local
- ${flag} requires a non-empty glob
- ${flag} requires a glob, got the flag ${glob}
- ${arg} requires a glob
AI-assisted analysis of pbakaus/impeccable@d14711ae3d (2026-08-13).
Data as JSON: /api/errors/902764c374506b2a.
Report an issue: GitHub.