Class BowireLintConfig

Namespace
Kuestenlogik.Bowire.Linting
Assembly
Kuestenlogik.Bowire.dll

Per-workspace lint configuration (#189), the shape of .bowire/rules.json: which rules run and at what severity. A rule is on unless a setting turns it enabled: false; a setting may also override the rule's severity. Rules with no entry keep their built-in defaults, so an empty (or absent) config means "run everything as shipped".

public sealed class BowireLintConfig
Inheritance
BowireLintConfig
Inherited Members

Remarks

Example:

{
  "rules": {
    "BWR-LINT-MISSING-VERSIONING": { "enabled": false },
    "BWR-LINT-PII-RESPONSE": { "severity": "high" }
  }
}

Constructors

BowireLintConfig()

public BowireLintConfig()

Properties

Rules

Per-rule settings keyed by rule id (matched case-insensitively).

[JsonPropertyName("rules")]
public Dictionary<string, BowireLintRuleSetting> Rules { get; init; }

Property Value

Dictionary<string, BowireLintRuleSetting>

Methods

IsEnabled(string)

True unless a setting explicitly turns the rule off.

public bool IsEnabled(string ruleId)

Parameters

ruleId string

Returns

bool

Parse(string)

Parse a .bowire/rules.json document. Throws on malformed JSON.

public static BowireLintConfig Parse(string json)

Parameters

json string

Returns

BowireLintConfig

SeverityOverride(string)

The configured severity override for a rule, or null to keep its default.

public BowireLintSeverity? SeverityOverride(string ruleId)

Parameters

ruleId string

Returns

BowireLintSeverity?