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.
Problem
Repos that opt into
codebase lintcurrently enumerate every lint rule individually inmise.toml: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:
or:
The exact syntax is open, but the behavior should:
codebase lint "$PWD"output showing the concrete rules that ran;codebase --helpor 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.