-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
3 / 33 of 3 issues completedLabels
epicLarge feature spanning multiple issuesLarge feature spanning multiple issues
Description
Overview
Enable dev-agent to index Go codebases with the same quality as TypeScript - semantic search, relationship queries, and context assembly for Go projects.
Target: v0.5.0 or v0.6.0
Motivation
- Team uses Go as primary language
- Python deprioritized (not used by team)
- Go support enables dogfooding on real, mature Go codebases
Scope
In Scope
- Tree-sitter WASM infrastructure (reusable for future languages)
- Go scanner extracting: functions, structs, interfaces, types, constants
- Method extraction with receiver information
- Go doc comment extraction
- Exported detection (capital letter convention)
- Generics support (
[T any]) - Generated file skipping (
// Code generated) - 90%+ test coverage (matching TypeScript scanner quality)
Out of Scope (Future)
- Package/module context from
go.mod - Import relationship tracking
- Build tag awareness
- Cross-package analysis
Technical Approach
Parsing: Tree-sitter with WASM bindings (web-tree-sitter + tree-sitter-go)
- No Go installation required to index Go code
- ~2MB grammar file
- Reusable infrastructure for Python/Rust later
Document Types:
| Go Construct | Document Type | Example |
|---|---|---|
func foo() |
function |
CreateEmbedding, TopK[T any] |
func (e *Exp) Method() |
method |
ExpBackoff.MarkFailAndGetWait |
type Server struct {} |
class |
ExpBackoff, SplitClient |
type Reader interface {} |
interface |
DistributedRateLimiter |
type ID string |
type |
MapStringAny |
const/var (exported) |
variable |
ErrNotFound, ErrAuth |
Sub-Issues
- feat(core): Go scanner with tree-sitter infrastructure #129 feat(core): Go scanner with tree-sitter infrastructure ✅
- feat(core): Go scanner - methods, receivers, and generics #130 feat(core): Go scanner - methods, receivers, and generics ✅
- feat(core): Go scanner - registry integration and 90%+ test coverage #131 feat(core): Go scanner - registry integration and 90%+ test coverage ✅
Success Criteria
-
dev index .successfully indexes mature Go codebases -
dev_searchfinds Go functions, structs, interfaces by meaning -
dev_refstraces Go method callers/callees - Scanner has 90%+ test coverage
- Generated files (
.gen.go,.pb.go) are skipped - Documentation updated with Go examples
References
- Scanner README:
packages/core/src/scanner/README.md - TypeScript scanner PR: feat(scanner): Multi-language repository scanner with 94.47% test coverage #13
Sub-issues
Metadata
Metadata
Assignees
Labels
epicLarge feature spanning multiple issuesLarge feature spanning multiple issues