Skip to main content

Language Support

Constellation indexes code metadata from your source files, building a shared knowledge graph that AI coding assistants query to understand your codebase. This section covers which languages are supported, what gets extracted, and how to get the most out of each.

Supported Languages

LanguageStatusWhat's extracted
TypeScriptSupportedSymbols, types, imports, call graph, generics, decorators
JavaScriptSupportedSymbols, imports, call graph, JSDoc annotations
PythonSupportedSymbols, imports, call graph, type annotations
GoSupportedFunctions, methods, structs, interfaces, generics, goroutines
C#SupportedNamespaces, classes, interfaces, structs, records, enums, delegates, methods, properties, fields, events, using directives, attributes, call graph
SwiftSupportedFunctions, methods, classes, structs, enums, actors, protocols, extensions, properties, generics, call graph, protocol conformance
JavaSupportedClasses, interfaces, enums, records, annotations, methods, constructors, fields, imports, call graph, inheritance
RustPending
CPending
C++Pending
PHPPending

Languages are auto-detected from file extensions during indexing. However, your project's constellation.json file must have your desired supported languages configured. You can re-run the CLI command const init at any time to update the configuration file automatically.

What "Supported" Means

Privacy Guarantee

Constellation extracts structural metadata only. Your source code never leaves your environment. What gets transmitted is the structural shape of your code (symbols, types, relationships) not the text of your functions or the values of your strings.

Specifically, Constellation never transmits:

  • Function or method bodies
  • String literals or comments
  • Raw source text

What Gets Extracted

For every supported language, Constellation builds a knowledge graph that includes:

  • Symbols: functions, methods, classes, interfaces, types, variables, and constants with their signatures and locations
  • Relationships: imports, calls, inheritance, implementation, and dependency edges between symbols and files
  • Structural metadata: parameter types, return types, visibility modifiers, and language-specific constructs

What Is Not Extracted

  • Function body logic (what the code does is not captured — only what it is)
  • Computed or runtime values
  • Comments and documentation strings (unless they contribute to the structural shape, e.g., JSDoc type annotations)

How to Enable a Language

Enable support for specific languages in your project by running const init from the root of your Git repository and selecting the desired languages, and the tool will update the constellation.json config file for you automatically.