Skip to content

Run a post-baseline tool-gap and overlap audit #54

Description

@szmyty

Outcome

After the current universal MegaLinter remediation pass is complete, perform a deliberate tool-gap and overlap audit before adding any more linters or formatters to EgoLint.

The result should be a small evidence-backed set of adopt/adapt/defer/reject decisions rather than an ever-growing collection of redundant tools.

Context

The current proving-ground work has nearly completed configuration and fixture coverage for the large MegaLinter surface. The next planned step is to ask whether complementary tools add unique value outside that baseline.

Candidate examples surfaced during the work include:

  • Flynt for Python modernization transforms;
  • shellharden/shfmt for shell formatting or hardening;
  • Taplo for TOML;
  • dprint for cross-language formatting;
  • ty or basedpyright for Python typing experiments;
  • other maintained tools discovered during remediation.

Biome is already covered by #13 and Betterleaks has its own evaluation issue; those should be consumed rather than duplicated here.

Evaluation model

Classify capabilities by responsibility:

  • formatting;
  • linting;
  • type checking;
  • security/secrets;
  • licenses/SBOM;
  • spelling/prose/links;
  • schemas;
  • repository policy;
  • CI/workflow validation;
  • modernization/refactoring.

For every candidate answer:

  1. What concrete gap does it fill?
  2. Which existing EgoLint/MegaLinter tool overlaps?
  3. Does it replace, complement, or merely duplicate an existing capability?
  4. Is it universal, profile-specific, lifecycle-specific, or host/editor-only?
  5. Can it be pinned and run deterministically without network installation during lint execution?
  6. Does it emit usable machine-readable evidence?
  7. Does it support safe check/fix separation?
  8. What are maintenance, license, supply-chain, runtime, and image-size costs?
  9. Does adding it improve the developer experience enough to justify another dependency/config surface?

Required artifact

Produce a versioned tool matrix with at least:

  • tool and version evaluated;
  • capability/responsibility;
  • applicability predicates;
  • canonical owner it would replace or complement;
  • overlap score/rationale;
  • runtime/image cost;
  • editor/hook/CI integration implications;
  • output/diagnostic formats;
  • fix safety;
  • maintenance/license/supply-chain notes;
  • decision: adopt, adapt, defer, reject;
  • decision rationale and follow-up issue when adopted.

Acceptance criteria

Related

Non-goals

  • Running every available linter or formatter.
  • Replacing mature language-native tools without evidence.
  • Increasing default image size or runtime merely to maximize tool count.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions