Skip to content

Add aggregate codebase lint entrypoint#36

Merged
johnson-ricon merged 2 commits into
mainfrom
johnson/aggregate-lint-default
May 18, 2026
Merged

Add aggregate codebase lint entrypoint#36
johnson-ricon merged 2 commits into
mainfrom
johnson/aggregate-lint-default

Conversation

@johnson-ricon

@johnson-ricon johnson-ricon commented May 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add codebase lint [target] as the aggregate configured lint entrypoint.
  • Share codebase lint config/scope parsing via lib/codebase-config.sh.
  • Make generated pre-commit hooks delegate to codebase lint "$REPO_ROOT".
  • Generate GitHub Actions lint steps through the aggregate entrypoint.

Verification

  • bash -n lib/codebase-config.sh lib/shell-files.sh .mise/tasks/pre-commit .mise/tasks/test .mise/tasks/scan .mise/tasks/migrate/task-pattern .mise/tasks/lint/*
  • shellcheck --exclude=SC1091,SC2034,SC2154 lib/codebase-config.sh .mise/tasks/lint/_default .mise/tasks/pre-commit .mise/tasks/lint/github-actions
  • mise run test test/lint/default.bats test/lint/relative-paths.bats test/pre-commit/pre-commit.bats test/lint/github-actions/github-actions.bats
  • mise run test

@johnson-ricon

Copy link
Copy Markdown
Contributor Author

Self-review / parent review complete after Or's review.

I found one issue and pushed 2f313c2 to fix it: lint:github-actions --fix could generate run: codebase lint "$PWD" while leaving an existing old "shiv:codebase" = "0.2.0" pin untouched. That generated workflow would install a codebase version without the aggregate lint entrypoint. The fix now updates existing codebase tooling to latest when emitting aggregate-lint workflows, matching the existing absent-tool provisioning behavior, and adds regression coverage.

Verification after the fix:

  • bash -n lib/codebase-config.sh lib/shell-files.sh .mise/tasks/pre-commit .mise/tasks/test .mise/tasks/scan .mise/tasks/migrate/task-pattern .mise/tasks/lint/*
  • shellcheck --exclude=SC1091,SC2034,SC2154 lib/codebase-config.sh .mise/tasks/lint/_default .mise/tasks/pre-commit .mise/tasks/lint/github-actions
  • mise run test test/lint/default.bats test/lint/relative-paths.bats test/pre-commit/pre-commit.bats test/lint/github-actions/github-actions.bats — 57/57
  • mise run test — 212/212
  • git diff --check
  • GitHub checks after 2f313c2: ubuntu + macOS passed

I don't see remaining blockers.

@johnson-ricon
johnson-ricon merged commit 68c093d into main May 18, 2026
2 checks passed
@johnson-ricon
johnson-ricon deleted the johnson/aggregate-lint-default branch May 18, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants