sqry — semantic code search engine
$ sqry.dev --view <TAB>
sqry — semantic code search engine
curl -fsSL https://raw.githubusercontent.com/verivus-oss/sqry/main/scripts/install.sh | bash -s -- --component all
$
sqry index .
✓ 384,291 nodes · 1,302,847 edges · 2.4s
$
sqry query "callers:authenticate"
src/auth/middleware.rs:42 validate_token
src/api/routes.rs:118 check_session
src/tests/auth_test.rs:67 test_login_flow
src/api/routes.rs:118 check_session
src/tests/auth_test.rs:67 test_login_flow
$
sqry graph trace-path main handle_request
main → router::dispatch → api::handle_request
$
sqry ask "find all error handling functions"
Generated: kind:function AND name~=/error|err|fail/
Confidence: 94%. Execute? [y/N]
Confidence: 94%. Execute? [y/N]
$ rg "authenticate"
src/auth/mod.rs:
pub fn authenticate(credentials: &Credentials) ->
src/auth/middleware.rs:
// calls authenticate
src/tests/auth_test.rs:
authenticate(&mock_user)
src/api/routes.rs:
let user = authenticate(req);
src/docs/README.md:
Call `authenticate()` to...
src/api/openapi.yaml:
description: "authenticate the user"
pub fn authenticate(credentials: &Credentials) ->
src/auth/middleware.rs:
// calls authenticate
src/tests/auth_test.rs:
authenticate(&mock_user)
src/api/routes.rs:
let user = authenticate(req);
src/docs/README.md:
Call `authenticate()` to...
src/api/openapi.yaml:
description: "authenticate the user"
6 text matches. Which ones actually call it?
$ sqry query "callers:authenticate"
src/auth/middleware.rs:42 validate_token
src/api/routes.rs:118 check_session
src/tests/auth_test.rs:67 test_login_flow
src/api/routes.rs:118 check_session
src/tests/auth_test.rs:67 test_login_flow
3 callers. 12ms.
sqry parses source code into an AST, builds a graph of symbols and relationships, then answers structural queries exactly.
callers:authenticate
→ who calls this function
callees:main
→ what does main() call
impl:Serialize
→ every Serialize implementation
sqry graph trace-path
→ execution path between two symbols
sqry cycles
→ circular dependency detection
sqry unused
→ dead code
These are questions ripgrep cannot answer.
BENCHMARKS
| Metric | Value | Notes |
|---|---|---|
| Graph query (warm cache) | 4 ms | vs 452 ms cold parse |
| Graph query (cold) | 12-21 ms | vs 1,400 ms embedding search |
| JS indexing throughput | 760K LOC/s | parallel graph indexing |
| C++ indexing throughput | 1.1M LOC/s | |
| Linux kernel (28M LOC) | 1m48s | 11.2M nodes, 18.3M edges |
| Caller query (kernel) | 85 ms | printk, 100 results |
INTEGRATION
INSTALL
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/verivus-oss/sqry/main/scripts/install.sh | bash -s -- --component all
Windows
irm https://raw.githubusercontent.com/verivus-oss/sqry/main/scripts/install.ps1 | iex
crates.io
cargo install sqry-cli
CC++RustShellZigJavaScriptTypeScriptDartKotlinSwiftScalaC#GoJavaPythonRubyPHPLuaRGroovyElixirSQLSvelteVueHTMLCSSHaskellPerl
TerraformPuppetPulumiApexABAPPL/SQLServiceNow
Signed builds (Sigstore) · SLSA provenance · SBOMs · cargo-vet audited deps · Details →