Skip to content

Language Capabilities

This matrix is generated from codenib.languages.LanguageSpec. It tracks which surfaces are enabled for each registered language and makes core parity coverage explicit for languages that are graph-capable, serial-only, or tree-sitter-only.

yes and active describe registered CodeNib capabilities, not the tools installed on the current machine. Run codenib doctor /path/to/repository --require graph before building a graph view.

Update the registry first, then refresh this table:

python scripts/language_capability_matrix.py --write docs/language_capabilities.md
python scripts/language_capability_matrix.py --check docs/language_capabilities.md
Language Chunker GT Agent Graph backend SCIP cold-start Incremental LSP command Core decoder Core parity
Python yes yes yes scip active lsp yes yes covered
Go yes yes yes scip active lsp yes yes covered
Rust yes yes yes scip active lsp yes yes covered
C/C++ yes yes yes clangd none clangd yes no n/a-no-core-decoder
C# yes yes yes scip active none yes no n/a-no-core-decoder
Java yes yes yes scip active none yes no n/a-no-core-decoder
Ruby yes yes yes scip active none yes yes covered
PHP yes yes yes scip active none yes no n/a-no-core-decoder
Kotlin yes yes yes scip active none yes no n/a-no-core-decoder
Swift yes yes yes none none none no no n/a-tree-sitter-only
Scala yes yes yes scip active none no no n/a-no-core-decoder
Lua yes yes yes none none none no no n/a-tree-sitter-only
JavaScript yes yes yes scip active lsp yes yes covered
TypeScript yes yes yes scip active lsp yes yes covered

SCIP Cold-Start States

State Meaning
active The active cold-start graph backend is SCIP or a SCIP-first hybrid route.
candidate A known SCIP indexer should be evaluated before treating the current LSP or tree-sitter-only path as final. It is not routed until smoke, backend alignment, decoder support, and parity gates pass.
none No SCIP cold-start option is currently tracked for the language.

Parity States

State Meaning
covered The language has an enabled C++ core decoder and belongs in the strict serial/core parity suite.
n/a-no-core-decoder The language has a graph backend but no C++ core decoder; parity is not applicable by construction.
n/a-tree-sitter-only The language currently supports chunking/retrieval surfaces only; graph/core parity is not applicable yet.