← Back to issue list

Add a basic linter service

View original Github issue

Metadata

Project
craft-application
Number
#141
Type
issue
State
closed
Author
lengau
Labels
—
Created
Updated
Closed

Current evaluation

Implemented the extensible linter framework in craft-application by merging PR #907 (commit a76bcaa6), providing shared linter registration and execution for downstream apps.

Resolution: closed resolved

Reason: PR #907 merged as commit a76bcaa6 and added AbstractLinter, LinterService, Testcraft integration, and documentation. It also closed the equivalent New Linter Service work in #782.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done Add a basic linter service that provides an extensible linter framework ### Why it needs to get done Both snapcraft and charmcraft implement linters in pretty similar ways. We should provide a linter service to take care of most of that so all craft applications can use it.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Implemented the extensible linter framework in craft-application by merging PR #907 (commit a76bcaa6), providing shared linter registration and execution for downstream apps.
stealth/space-bunny-alpha — closed resolved The requested linter framework was implemented in merged craft-application PR #907 (commit a76bcaa6), adding an extensible LinterService for downstream applications.
qwen/qwen3.6-35b-a3b — — Closed without implementation. The proposal to build a shared extensible linter service was deferred to internal Jira ticket CRAFT-2602 and subsequently abandoned.
qwen/qwen3.8-27b
Impact: 10
Quick Win: 4
Staleness: 80
Complexity: 55
Confidence: 85
Support Request: 0
close stale Feature request for a shared, extensible linter service for craft applications. The LinterService framework was merged in PR #907; the issue is stale (last activity 465 days ago, bot comment only) and can be closed as implemented.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 45
Confidence: 85
Support Request: 5
close stale Feature request for a shared linter service across snapcraft and charmcraft. Unlabelled, unassigned, and inactive for over 14 months with no maintainer discussion or progress.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 65
Confidence: 70
Support Request: 10
needs triage Feature request to implement a shared linter service for snapcraft and charmcraft. Unassessed, unlabelled, and inactive for over a year.

Update history

Date Change
closed

Related work

Related issues

Issue Project State Summary Similarity
#907 feat(linter): add linter service framework craft-application merged Merged PR #907 as commit a76bcaa6, adding a shared Linter Service for consistent downstream registration and execution of linters and closing craft-application#782.
87%
#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.
79%
#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.
79%
#5971 Use Craft Application's Linter Service snapcraft open Triaged refactor to replace Snapcraft's bespoke linter runner and reporting with Craft Application's LinterService; the prerequisite is merged, but migration remains unimplemented.
77%
#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.
74%
#2546 Use Craft Application's Linter Service charmcraft open Charmcraft’s triaged refactor to adopt Craft Application’s merged LinterService remains open; 11 custom checkers still run through Charmcraft’s AnalysisService.
73%