Language support
Frigg publishes its live language capability matrix at frigg://policy/support-matrix.json. Capability tiers are core, optional_accelerator, and unsupported.
Core parsed languages
Section titled “Core parsed languages”Every language below has core source filtering, Tree-sitter-backed document symbols, structural search, symbol corpus support, and read-only navigation. Navigation can combine source heuristics, graph evidence, and optional precise artifacts.
| Language | Indexed extensions |
|---|---|
| Rust | .rs |
| PHP | .php |
| Blade | .blade.php |
| TypeScript / TSX | .ts, .tsx |
| Python | .py |
| Go | .go |
| Kotlin / KTS | .kt, .kts |
| Java | .java |
| Lua | .lua |
| Roc | .roc |
| Nim | .nim, .nims |
Blade is a template surface with bounded source/template navigation. The other entries use the general source-language path.
Grammar packaging
Section titled “Grammar packaging”Frigg links registry grammars for every core language. Blade, Kotlin, Nim, and Roc parser sources are vendored inside the crate so the published binary does not depend on unpublished grammar packages at runtime.
Semantic chunking
Section titled “Semantic chunking”Semantic code chunks are currently supported for:
- Rust
- PHP
- Blade
The semantic index also accepts Markdown, JSON, TOML, plain text, and YAML files. Other core programming languages still participate in lexical, symbol, structural, graph, and source-backed workflows; semantic chunking is currently unsupported for them.
Precise artifacts and generators
Section titled “Precise artifacts and generators”Precise artifact assistance is optional across the registered language matrix. Built-in generator discovery is narrower:
| Generator family | Typical tool |
|---|---|
| Rust | rust-analyzer |
| Go | scip-go |
| TypeScript / JavaScript | scip-typescript |
| PHP | scip-php |
| Python | scip-python |
| Kotlin | Gradle/KTS workspace tooling |
For other languages, use Frigg’s heuristic navigation or provide compatible artifacts under .frigg/scip/. Generator availability depends on repository shape and host-installed tools; Frigg does not install those toolchains.
Interpretation
Section titled “Interpretation”- Core means Frigg provides the capability without semantic or external precise setup.
- Optional accelerator means the capability contributes only when runtime configuration and repository state support it.
- Unsupported applies to that specific capability, not the entire language. For example, Python has core parsed search and navigation while semantic chunking remains unsupported.
Related
Section titled “Related”Source Anchors
Section titled “Source Anchors”../frigg/crates/cli/src/languages/registry.rs../frigg/crates/cli/src/vendor_grammars.rs../frigg/crates/cli/src/mcp/guidance.rs../frigg/crates/cli/src/mcp/server/precise_graph/generation.rs../frigg/crates/cli/src/indexer/semantic.rs