@theglitchking/gimme-the-lint 1.1.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/.claude-plugin/marketplace.json +9 -7
  2. package/.claude-plugin/plugin.json +8 -6
  3. package/CHANGELOG.md +46 -0
  4. package/README.md +193 -319
  5. package/bin/gimme-the-lint.js +115 -33
  6. package/commands/lint-baseline.md +27 -17
  7. package/commands/lint-status.md +18 -15
  8. package/commands/lint.md +34 -26
  9. package/commands/policy.md +16 -0
  10. package/commands/relink.md +6 -0
  11. package/commands/status.md +6 -0
  12. package/commands/update.md +6 -0
  13. package/hooks/hooks.json +15 -0
  14. package/hooks/session-start.mjs +8 -0
  15. package/lib/adapters/adapter.js +192 -0
  16. package/lib/adapters/biome.js +103 -0
  17. package/lib/adapters/clippy.js +109 -0
  18. package/lib/adapters/eslint.js +100 -0
  19. package/lib/adapters/golangci-lint.js +100 -0
  20. package/lib/adapters/index.js +65 -0
  21. package/lib/adapters/ruff.js +86 -0
  22. package/lib/baseline-store.js +119 -0
  23. package/lib/baseline.js +125 -0
  24. package/lib/check.js +137 -0
  25. package/lib/config-manager.js +1 -2
  26. package/lib/dashboard.js +67 -0
  27. package/lib/diff-engine.js +109 -0
  28. package/lib/drift.js +140 -0
  29. package/lib/fingerprint.js +45 -0
  30. package/lib/gtl-manifest.js +90 -0
  31. package/lib/index.js +31 -0
  32. package/lib/installer.js +50 -3
  33. package/lib/migrate.js +108 -0
  34. package/lib/project-model.js +140 -0
  35. package/lib/report.js +114 -0
  36. package/lib/toolchain.js +71 -0
  37. package/lib/units.js +87 -0
  38. package/lib/violation.js +60 -0
  39. package/package.json +17 -10
  40. package/scripts/dashboard.sh +10 -186
  41. package/scripts/eslint-baseline.sh +11 -244
  42. package/scripts/link-skills.mjs +22 -0
  43. package/scripts/ruff-baseline.sh +10 -243
  44. package/scripts/run-checks.sh +10 -310
  45. package/uninstall.sh +1 -2
  46. package/README.backup.md +0 -310
  47. package/bin/postinstall.js +0 -29
  48. package/scripts/validate-version.sh +0 -46
@@ -5,14 +5,14 @@
5
5
  "email": "theglitchking@users.noreply.github.com"
6
6
  },
7
7
  "metadata": {
8
- "description": "Official marketplace for gimme-the-lint - Progressive linting with directory-chunked baselines and drift detection",
9
- "version": "1.1.2"
8
+ "description": "Official marketplace for gimme-the-lint - polyglot progressive linting with per-app baselines and drift detection",
9
+ "version": "2.0.0"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "gimme-the-lint",
14
- "description": "Progressive linting system with directory-chunked baselines, drift detection, and auto-healing for monorepo projects (Python + JS/TS)",
15
- "version": "1.1.2",
14
+ "description": "Polyglot progressive linting for monorepos — adapter-driven baselines, per-app drift detection, and idempotent skips across JavaScript/TypeScript, Python, Go, and Rust.",
15
+ "version": "2.0.0",
16
16
  "author": {
17
17
  "name": "TheGlitchKing"
18
18
  },
@@ -22,12 +22,14 @@
22
22
  "keywords": [
23
23
  "linting",
24
24
  "progressive-linting",
25
- "eslint",
26
- "ruff",
27
- "python",
25
+ "polyglot",
28
26
  "monorepo",
29
27
  "git-hooks",
30
28
  "drift-detection",
29
+ "eslint",
30
+ "ruff",
31
+ "golangci-lint",
32
+ "clippy",
31
33
  "claude-code"
32
34
  ],
33
35
  "category": "productivity",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gimme-the-lint",
3
- "description": "Progressive linting system with directory-chunked baselines, drift detection, and auto-healing for monorepo projects (Python + JS/TS)",
4
- "version": "1.1.2",
3
+ "description": "Polyglot progressive linting for monorepos — adapter-driven baselines, per-app drift detection, and idempotent skips across JavaScript/TypeScript, Python, Go, and Rust.",
4
+ "version": "2.0.0",
5
5
  "author": {
6
6
  "name": "TheGlitchKing",
7
7
  "email": "theglitchking@users.noreply.github.com"
@@ -12,11 +12,13 @@
12
12
  "keywords": [
13
13
  "linting",
14
14
  "progressive-linting",
15
- "eslint",
16
- "ruff",
17
- "python",
15
+ "polyglot",
18
16
  "monorepo",
19
17
  "git-hooks",
20
- "drift-detection"
18
+ "drift-detection",
19
+ "eslint",
20
+ "ruff",
21
+ "golangci-lint",
22
+ "clippy"
21
23
  ]
22
24
  }
package/CHANGELOG.md CHANGED
@@ -5,6 +5,52 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.0] - 2026-05-17
9
+
10
+ A ground-up rearchitecture: gimme-the-lint is now a language-agnostic
11
+ progressive-lint engine that owns its own baseline diffing, driven by
12
+ per-directory linter adapters.
13
+
14
+ ### Breaking Changes
15
+ - **Baseline layout moved** from `frontend/.lttf/` + `backend/.lttf-ruff/` to a
16
+ single per-app tree, `.gtl/apps/<app>/baseline.json`, plus a global
17
+ `.gtl/manifest.json`. Run `gimme-the-lint migrate` to convert (it backs up
18
+ the legacy directories and re-baselines).
19
+ - **Baseline file format changed** to a linter-agnostic fingerprint map.
20
+ - **Config schema changed**: the `frontend`/`backend` model is replaced by an
21
+ optional `apps` map binding directories to linters; `skipPatterns` added.
22
+ `lttfDir`/`ruffBaselineDir` keys removed.
23
+ - **`check` flags removed**: `--frontend-only`, `--backend-only`, `--verbose`.
24
+ - **GitHub Action inputs changed**: `frontend`/`backend` removed (linting is
25
+ now polyglot auto-detect); `strict` added. Pin `@v2`.
26
+ - The `lint-to-the-future` dependency is gone — gimme-the-lint no longer shells
27
+ out to it; ESLint progressivity is handled by the in-house engine.
28
+
29
+ ### Added
30
+ - In-house progressive-diff engine: line/column-independent violation
31
+ fingerprints, so baselined violations survive code shifting in a file.
32
+ - Linter adapter interface — each linter is a self-contained adapter.
33
+ - **Go** support via `golangci-lint` and **Rust** support via `cargo clippy`,
34
+ alongside ESLint and **Biome** (JS/TS) and Ruff (Python).
35
+ - **Biome** adapter: a `biome.json` binds an app to Biome and supersedes the
36
+ default ESLint binding for that app.
37
+ - Polyglot project model: apps auto-discovered by walking for package
38
+ manifests; monorepo workspaces handled; `_template-*` dirs skipped.
39
+ - Per-app drift detection (app add/remove, config, linter version, age) —
40
+ a change in one app never churns unrelated baselines.
41
+ - Idempotent skips: an app with code but no installed linter is warn-skipped
42
+ (never blocks), or fails loudly under `--strict`.
43
+ - `--offline` install for air-gapped environments (no npm/pip fetches; fails
44
+ loudly on a missing toolchain).
45
+ - `--no-baseline` greenfield install / `baseline --empty` — "strict from day
46
+ one" with nothing grandfathered.
47
+ - `gimme-the-lint migrate` — one-shot v1 → v2 migration.
48
+
49
+ ### Changed
50
+ - `run-checks.sh`, `eslint-baseline.sh`, `ruff-baseline.sh`, `dashboard.sh` are
51
+ now thin shims over the Node engine.
52
+ - The dashboard renders from `.gtl/manifest.json` with per-app drift.
53
+
8
54
  ## [1.1.2] - 2026-04-11
9
55
 
10
56
  ### Fixed