Skip to main content
The Go extractor maps tree-sitter Go CST nodes to canonical concepts. It detects structural changes at the package level: functions, methods, types, and interfaces.

Detected concepts

Example

Two versions of a Go package. The second version moves the method body into a new helper function:
old.go
new.go
Running differens old.go new.go:
Methods include their receiver type in human and LLM output, such as Store.ValidateEmail. Matching uses receiver identity to keep same-named methods on different types apart, including when a helper takes over an existing body. This example reports the new helper and the method edit; it does not classify an extraction as a separate action.

Known limitations

  • Implicit interfaces (structural typing) are not tracked. An interface implemented by coincidence is not flagged as a relationship.
  • Package and import changes are syntax edits. The correlator detects supported declaration moves across files; it does not resolve package relationships.
  • Cgo blocks are treated as opaque; the extractor does not descend into C preambles.
  • Generic type parameters (Go 1.18+) are parsed structurally but type parameter renames may not be detected as renames (reported as structural changes).