← Back to issue list

feat(linter): add linter service framework

View original Github issue

Metadata

Project
craft-application
Number
#907
Type
pull request
State
merged
Author
HamdaanAliQuatil
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #907 as commit a76bcaa6, adding a shared Linter Service for consistent downstream registration and execution of linters and closing craft-application#782.

Resolution: closed resolved

Reason: PR #907 was approved and merged as commit a76bcaa6, delivering the shared linter service framework and resolving issue #782.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [x] Have you followed the guidelines for contributing? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] Have you successfully run `make lint && make test`? - [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)? --- Closes #782 This PR introduces a shared Linter Service to craft-application so downstream apps (Snapcraft, Charmcraft) can add and run linters consistently. The design of the Linter Service is as discussed in #782

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #907 as commit a76bcaa6, adding a shared Linter Service for consistent downstream registration and execution of linters and closing craft-application#782.
stealth/space-bunny-alpha — closed resolved Merged PR #907 as commit a76bcaa6, adding a shared Linter Service so downstream apps can register and run linters consistently.
qwen/qwen3.6-35b-a3b — — Merged a shared Linter Service framework for craft-application, enabling consistent linting across downstream apps. Approved by three reviewers, passed all CI checks, and closed issue #782.

Update history

No update history recorded yet.

Related work

  • Related To: craft-application#782 (confidence 100%)

    The linter-service design issue explicitly closed by merged PR #907.

Related issues

Issue Project State Summary Similarity
#141 Add a basic linter service craft-application closed Implemented the extensible linter framework in craft-application by merging PR #907 (commit a76bcaa6), providing shared linter registration and execution for downstream apps.
87%
#782 New Linter Service craft-application closed Merged PR #907 (commit a76bcaa6), adding AbstractLinter, LinterService, Testcraft integration, and linter-author documentation; this completed the bounty and closed #782.
78%
#5542 Use Craft Application's Linter Service snapcraft closed Closed by mr-cal (2026-01-21) as a bounty with no implementation. craft-application#907 (commit a76bcaa6) merged the shared Linter Service, and the migration work was moved to charmcraft#2546, still open.
77%
#2315 Use Craft Application's Linter Service charmcraft closed LinterService bounty closed without implementation; craft-application#907 delivered the shared service, and Charmcraft migration was retriaged as canonical/charmcraft#2546.
74%
#451 Handle linters when building (CRAFT-325). charmcraft merged Merged PR #451 (commit 5e30db2a, branch facundobatista/analint08-enforce-linter-maybe, commit 74ec7adc) wiring linters into the build/pack flow: reports errors and warnings, fails on errors unless pack got --force. Depended on merged #449.
70%