# shared/strings/rule.strings.ts

> 24 lines of code and 8 definitions.

Tree: Governance tree
Language: typescript
Layer: product
Canonical: https://banes-lab.com/anatomy/governance#file-governance-shared-strings-rule-strings-ts
Source text: https://banes-lab.com/source/governance/shared/strings/rule.strings.ts.txt

Listed in [shared/strings](https://banes-lab.com/api/source/governance/shared/strings.md), after [shared/strings/manifest.strings.ts](https://banes-lab.com/source/governance/shared/strings/manifest.strings.ts.md) and before [shared/strings/taxonomy.strings.ts](https://banes-lab.com/source/governance/shared/strings/taxonomy.strings.ts.md).

## Definitions

- `stylesheetRuleUnnamed` (lexical_declaration, line 13, exported)
- `budgetNotNumber` (lexical_declaration, line 1, exported)
- `indexedLine` (lexical_declaration, line 5, exported)
- `stylesheetIndexedLine` (lexical_declaration, line 9, exported)
- `markersLine` (lexical_declaration, line 17, exported)
- `budgetLine` (lexical_declaration, line 21, exported)
- `checksLine` (lexical_declaration, line 25, exported)
- `unreadableDeclaration` (lexical_declaration, line 29, exported)

## Used by

- [rules/plugins/stylelint.plugin.ts](https://banes-lab.com/source/governance/rules/plugins/stylelint.plugin.ts.md)

## Source

```typescript
export const budgetNotNumber = function budgetNotNumber(concern: string): string {
    return `[govlab-rules] qualityMaster.concerns.${concern} is not a number. The file budget has one home, so set it there.`;
};

export const indexedLine = function indexedLine(rules: number, wrappers: number, folder: string): string {
    return `[govlab-rules] indexed ${String(rules)} local rules + ${String(wrappers)} plugin wrapper(s) → ${folder}\n`;
};

export const stylesheetIndexedLine = function stylesheetIndexedLine(rules: number, file: string): string {
    return `[govlab-rules] indexed ${String(rules)} local stylesheet rule(s) → ${file}\n`;
};

export const stylesheetRuleUnnamed = function stylesheetRuleUnnamed(label: string, ruleName: string): string {
    return `[govlab-rules] the stylesheet rule ${label} does not default-export createPlugin("${ruleName}", rule). Name the rule for its file.`;
};

export const markersLine = function markersLine(count: number, file: string): string {
    return `[govlab-rules] derived ${String(count)} exclusion marker(s) → ${file}\n`;
};

export const budgetLine = function budgetLine(budget: number, file: string): string {
    return `[govlab-rules] derived the file budget (${String(budget)}) → ${file}\n`;
};

export const checksLine = function checksLine(count: number, file: string): string {
    return `[govlab-rules] indexed ${String(count)} check declaration(s) → ${file}\n`;
};

export const unreadableDeclaration = function unreadableDeclaration(file: string, callee: string): string {
    return `[govlab-rules] ${file} calls ${callee} with an argument the index cannot read. Pass one object literal whose detects and enforces are arrays of string literals.`;
};
```
