Create goscan/, a Go-language analyzer built on core/ from day one. This is the validation of the whole extraction (rule of three): a new language should only need the adapter layer.
Blocked by Phase 2 (#8–#11); recommended after Phase 3 (#12) so the core API is proven by two adopters.
Adapter surface to implement (everything else comes from core)
Positioning notes
- Competitor gap: staticcheck/golangci-lint don't do clone detection or health scoring;
dupl is weak — clone detection + health score is the differentiator
- Timing is a product decision: infrastructure cost is low after Phase 2/3, so this can wait for demand signal
🤖 Generated with Claude Code
Create
goscan/, a Go-language analyzer built oncore/from day one. This is the validation of the whole extraction (rule of three): a new language should only need the adapter layer.Blocked by Phase 2 (#8–#11); recommended after Phase 3 (#12) so the core API is proven by two adopters.
Adapter surface to implement (everything else comes from core)
go/ast(stdlib) →core/apted.TreeNodeconversion + fragment extractioncore/cfg.CFGStatementClassifier/NoOpClassifier,ComplexityContributor(short-circuit operators), GoCostModel,CommentStripper(//,/* */)AbstractnessFunc= interface/exported ratio)goscan/vX.Y.Zrelease setupPositioning notes
duplis weak — clone detection + health score is the differentiator🤖 Generated with Claude Code