guides

Getting started

Install sgrep, prepare the local embedding model, and run your first code and conversation searches.

Install

Homebrew is the recommended installation method on macOS and Linux:

brew tap XiaoConstantine/tap
brew install sgrep

You can also use the install script or Go:

# Prebuilt release
curl -fsSL https://raw.githubusercontent.com/XiaoConstantine/sgrep/main/install.sh | bash

# Go toolchain
go install github.com/XiaoConstantine/sgrep/cmd/sgrep@latest

To build from source:

git clone https://github.com/XiaoConstantine/sgrep.git
cd sgrep
go build -o sgrep ./cmd/sgrep

Source builds require Go 1.27 or later. Prebuilt Intel macOS binaries support macOS 13 Ventura or later; Apple Silicon binaries require macOS 15.5 or later.

Prebuilt x86_64 releases installed by Homebrew or the install script include Go 1.27’s experimental portable SIMD TQ rotation kernels. ARM64 releases use NEON assembly, and neither installation needs runtime configuration. Dense dot products retain float64 scalar accumulation for score compatibility.

Enable the same portable SIMD kernels for a non-ARM64 source build with:

GOEXPERIMENT=simd go build -o sgrep ./cmd/sgrep

The optional sqlite-vec backend is selected at build time:

go build -tags=sqlite_vec -o sgrep ./cmd/sgrep

Prepare the embedding service

sgrep uses llama.cpp for local embeddings. On macOS, install it with Homebrew:

brew install llama.cpp

Then download the default Nomic embedding model and verify the installation:

sgrep setup

The managed embedding server starts on demand and stays available as a daemon. Use SGREP_ENDPOINT instead when you want sgrep to connect to an external compatible server.

Search a repository

cd your-repository
sgrep index .
sgrep "database connection error handling"

The default balanced profile combines semantic and lexical retrieval. Use fast for the lowest latency and quality for ColBERT late interaction:

sgrep --profile fast "request routing"
sgrep --profile quality "JWT validation middleware"

See code search for profiles, watch mode, output formats, and advanced retrieval controls.

Search coding-agent history

sgrep conv index
sgrep conv "embedding server ownership bug"

sgrep discovers local Claude Code, Codex CLI, Cursor, OpenCode, and Pi histories. See conversation search for source filters, date filters, export, and resume commands.