Skip to main content
VectorLint uses two configuration files with distinct responsibilities. .vectorlint.ini in your project root controls which rules run on which files, how strictly violations are scored, and the path to your custom rule packs. You store your large language model (LLM) provider credentials in ~/.vectorlint/config.toml. For more information, see Configuring LLM providers. Run vectorlint init to generate both files with commented placeholders.

Global settings

These settings go at the top of .vectorlint.ini, outside any file pattern section.

File pattern sections

File pattern sections map glob patterns to rule packs. VectorLint evaluates a file only if at least one pattern matches it.

RunRules

RunRules takes a comma-separated list of pack names to run on matching files. Pack names correspond to subdirectory names inside RulesPath.
To explicitly skip a set of files, set RunRules to empty:

Using the bundled preset

VectorLint includes a VectorLint preset containing rules for AI pattern detection, pseudo-advice, and repetition. You can use it without setting RulesPath:
This is separate from the VECTORLINT.md file in which you write your style standards as plain-language instructions.

Cascading configuration

When multiple patterns match the same file, VectorLint applies all of them — general patterns first, specific patterns second. Rule packs accumulate; settings override.
A file matching content/docs/api.md runs both GeneralRules and TechDocs, with a final strictness of 9.

Strictness overrides

Check rules score content based on error density. Strictness controls the penalty per percentage point of error density, letting you apply tighter standards to critical content without changing the rule itself. Set strictness per rule, per pattern:

Strictness levels

Use numeric values for precise control or named levels for readability. Both are valid:

Global style context (VECTORLINT.md)

Place a VECTORLINT.md file in your project root to define style instructions that apply to every evaluation. VectorLint prepends its contents to the system prompt for every rule, automatically applying your tone, terminology, and baseline standards across all checks. Keep VECTORLINT.md concise. VectorLint emits a warning if the file exceeds 4,000 tokens, as large context blocks degrade evaluation performance and increase costs.

Zero-config mode

If no .vectorlint.ini exists, VectorLint detects VECTORLINT.md and creates a synthetic rule from its contents automatically. This approach requires no additional configuration:

Combined mode

When .vectorlint.ini is present alongside VECTORLINT.md, the two work together. VECTORLINT.md sets the baseline context and rule pack files enforce specific, measurable criteria on top of it.

Confidence threshold

VectorLint filters raw LLM candidates through gate checks before surfacing violations. The confidence threshold controls how aggressively this filter applies. Set it in your .env file or as an environment variable:
Invalid values fall back to the default of 0.75.

Complete example