Summary
Implement core Go language scanner using tree-sitter WASM, establishing reusable infrastructure for future language support.
Background
Part of Epic #128: Go Language Support
Tasks
Tree-sitter Infrastructure
Go Scanner Core
Basic Testing
Technical Notes
Dependencies:
{
"web-tree-sitter": "^0.22.x",
"tree-sitter-go": "^0.21.x"
}
File Extensions: .go
Scanner Interface:
class GoScanner implements Scanner {
readonly language = "go";
readonly capabilities: ScannerCapabilities = {
syntax: true,
types: true,
documentation: true,
};
canHandle(filePath: string): boolean;
async scan(files: string[], repoRoot: string): Promise<Document[]>;
}
Acceptance Criteria
References
- Scanner types:
packages/core/src/scanner/types.ts
- TypeScript scanner example:
packages/core/src/scanner/typescript.ts
Summary
Implement core Go language scanner using tree-sitter WASM, establishing reusable infrastructure for future language support.
Background
Part of Epic #128: Go Language Support
Tasks
Tree-sitter Infrastructure
web-tree-sitterdependencytree-sitter-goWASM grammarGo Scanner Core
GoScannerclass implementingScannerinterfaceBasic Testing
Technical Notes
Dependencies:
{ "web-tree-sitter": "^0.22.x", "tree-sitter-go": "^0.21.x" }File Extensions:
.goScanner Interface:
Acceptance Criteria
GoScannerextracts functions, structs, interfaces, types from.gofilesReferences
packages/core/src/scanner/types.tspackages/core/src/scanner/typescript.ts