Quickstart · Documentation · Ten-minute evaluation · Discord
bifrost is Brokk's Rust-based static analysis toolbox for AI coding harnesses,
editors, and large repositories.
Bifrost gives every supported language a shared intermediate representation, so the same structural query and navigation workflows work across a mixed-language repository instead of stopping at language boundaries.
- One multi-language IR. Parse unbuilt or partially broken workspaces and normalize their source structure for cross-language analysis.
- A real query language. Use JSON CodeQuery or the Rune Query Language (RQL) to find language-neutral code shapes and traverse indexed declarations, references, calls, imports, and type relationships.
- Built for agents and editors. Expose structured MCP tools to coding agents, LSP features to editors, and the same analyzer through the CLI, Python, and Rust.
- Designed for active repositories. Snapshot isolation, incremental updates, content-based caching, and git/worktree awareness keep analysis responsive as a repository changes.
See Choose Bifrost for the right interface for your workflow, and the Language and Analysis Capabilities matrix for language-by-language support, precision tiers, and current analysis boundaries.
Install the released CLI, clone the small verified evaluation fixture, and run its saved RQL query:
cargo install brokk-bifrost --locked
git clone --depth 1 https://github.com/BrokkAi/bifrost.git
cd bifrost/docs/fixtures/ten-minute-evaluation
bifrost --root . --query-file queries/find-audit.rqlThe result identifies the normalized Python call and its exact source location:
{
"isError": false,
"structuredContent": {
"results": [
{
"enclosing_symbol": "src.app.handle",
"end_line": 5,
"kind": "call",
"language": "python",
"path": "src/app.py",
"result_type": "structural_match",
"start_line": 5,
"text": "audit(value)"
}
],
"truncated": false
}
}Continue with the ten-minute evaluation to run the same query through the CLI, an MCP-connected coding agent, and VS Code.
Select a source construct and run Bifrost: Show Rune IR to inspect its
language-neutral .rune form and get a conservative starter RQL query. Run that
query from the editor, browse typed results grouped by file, and jump to the
exact source range. The extension also provides definitions, references, hover,
rename, symbols, hierarchy, diagnostics, completion, and other LSP features.
Run saved RQL or JSON queries directly, or call the same named tools exposed over MCP for shell scripts and reproducible analysis workflows.
Bifrost includes analyzers for C, C++, C#, Go, Java, JavaScript, PHP, Python, Ruby, Rust, Scala, and TypeScript. See the capability matrix for the supported analysis and precision boundaries in each language.
The public documentation site lives in docs/ and is published at
brokkai.github.io/bifrost.
Useful starting points:
- Choose the right Bifrost interface
- Third-party notices
- Install Bifrost
- Evaluate Bifrost in ten minutes
- MCP server and toolsets
- LSP server
- CLI usage
- Code querying
Run the docs site locally with:
cd docs
npm install
npm run devGitHub Pages publication is handled by .github/workflows/docs.yml. Release tag
builds publish both the latest docs site and a versioned snapshot under
versions/<tag>/.
Bifrost is licensed under LGPL-3.0-or-later and may be used in research,
internal systems, hosted services, and commercial products. The integration and
distribution boundary determines your obligations. Read License and Use
Cases for practical
subprocess, linked-library, hosted-service, and redistribution examples. That
guide is an orientation, not legal advice; the license text
controls.
For local development, test commands, repository-local Python workflow, and release tagging, see CONTRIBUTING.md.