Skip to content

DRAFT: FD comment linter experiment#12702

Draft
BagToad wants to merge 5 commits intotrunkfrom
kw/fd-linter-poc
Draft

DRAFT: FD comment linter experiment#12702
BagToad wants to merge 5 commits intotrunkfrom
kw/fd-linter-poc

Conversation

@BagToad
Copy link
Member

@BagToad BagToad commented Feb 16, 2026

Adds a go/analysis-based linter that requires // TODO <identifier> comments above if-statements referencing featuredetection struct fields. This ensures feature detection branches are tagged for cleanup when GHES gains support.

The linter checks for a matching TODO comment within the 10 lines above each flagged if-statement. It runs standalone via go run ./pkg/linter/featuredetection/cmd/featuredetection-lint ./... and is added as a CI step in .github/workflows/lint.yml.

BagToad and others added 2 commits February 16, 2026 14:50
Add greppable TODO identifiers above all if-statements that reference
featuredetection struct fields, as required by the featuredetection
linter. This ensures every feature detection branch is tagged for
future cleanup when GHES gains support.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a go/analysis-based linter that checks if-statements referencing
featuredetection struct fields (IssueFeatures, PullRequestFeatures,
RepositoryFeatures, SearchFeatures, ReleaseFeatures) have a
`// TODO <identifier>` comment within 10 lines above.

Feature detection code branches behavior between GHES and github.com,
and becomes dead code when GHES gains support. The named TODO tag
provides a greppable identifier so all related code can be found and
cleaned up when the time comes.

Usage:
  go run ./pkg/linter/featuredetection/cmd/featuredetection-lint ./...

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

1 participant