Skip to content

Add lint groups for standard convention bundles #69

Description

@quick-ricon

Problem

Repos that opt into codebase lint currently enumerate every lint rule individually in mise.toml:

[_.codebase]
lint = ["mise-settings", "gum-table", "bats-test-helper", "bats-test-task", "mcr-scope", "or-true", "shellcheck", "caller-pwd-contract", "github-actions"]

That is explicit, but it creates overhead when many maintained-tool repos want the same convention bundle. It also makes README/docs surfaces more tempting to expose long internal rule lists.

Proposal

Add first-class lint groups / presets, for example:

[_.codebase]
lint_groups = ["maintained-tool"]

or:

[_.codebase]
lint = ["@maintained-tool"]

The exact syntax is open, but the behavior should:

  • expand to a stable bundle of named lint rules;
  • allow adding individual extra rules;
  • allow excluding one rule when a repo has a justified exception;
  • keep codebase lint "$PWD" output showing the concrete rules that ran;
  • make the group/preset discoverable from codebase --help or docs.

Trigger

This came up while reviewing KnickKnackLabs/shimmer#793. The shimmer README should not need to expose or maintain a long list of internal convention lint names just because the repo uses the standard maintained-tool bundle.

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