feat(cli): .glint.yml config and inline suppression comments
Adds project-level configuration and per-job suppression directives:
.glint.yml (searched from pipeline dir up to the git root):
- ignore: [GL007, GL032] — suppress rules globally for the project
- severity: {GL004: warning} — override rule severity (error/warning/ignore)
- stages: [quality] — extra stages beyond the pipeline's stages: block
- token: / url: / cache_dir: — defaults for flags; lower priority than
CLI flags and environment variables
Inline suppression (# glint: ignore):
- Place "# glint: ignore GL007" immediately before a job definition to
suppress that rule for the specific job only
- Multiple rules: "# glint: ignore GL007, GL032" (comma or space separated)
- Wildcard: "# glint: ignore all" suppresses every finding for the job
- Suppressions are scoped to the annotated job; pipeline-level findings
are unaffected
- Parsed from yaml.Node head/line comments in the first parse pass;
stored in Pipeline.Suppressions (root file only, not includes)
New packages: internal/config (Load, walk-up search, .git boundary stop)
New files: cmd/glint/filter.go (applyConfig, isSuppressed helpers)
Tests: config_test.go, parser_suppress_test.go, filter_test.go
Validate fixtures: testdata/config_ignored/, config_severity/, config_suppress/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+3
-7
@@ -132,14 +132,10 @@ The SVG renderer and terminal tree cover the basic layout. These would bring it
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
## Configuration — ✓ shipped v0.2.19
|
||||
|
||||
- **`.glint.yml` config file** — project-level configuration for:
|
||||
- Rule suppression by rule ID (e.g. `ignore: [no-only, missing-stages]`)
|
||||
- Severity overrides (demote specific errors to warnings)
|
||||
- Custom `stages` allowlist for projects that use a non-standard default set
|
||||
- Token and URL defaults so flags are not needed in every invocation
|
||||
- **Inline suppression comments** — `# glint: ignore next-line <rule-id>` in the pipeline YAML
|
||||
- ~~**`.glint.yml` config file**~~ — ✓ shipped v0.2.19; `ignore:`, `severity:`, `stages:`, `token:`, `url:`, `cache_dir:`; searched from the pipeline directory up to the git root
|
||||
- ~~**Inline suppression comments**~~ — ✓ shipped v0.2.19; `# glint: ignore GL007` before a job definition; comma/space-separated rules; `# glint: ignore all` wildcard
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user