dissolution
Don't just embed your repo, dissolve into it.
dissolution indexes one or more directories into per-repo SQLite databases using sqlite-vec, keeps them synced with filesystem watchers, and gives you both a CLI search flow and a local browser UI.
Why dissolution?
- No external vector DB — just SQLite files in your repos.
- Multi-directory indexing — add as many paths as you want.
.gitignoreaware — indexing and sync respect ignore rules.- Background daemon UX —
dissolve start, thendissolve web. - Agent-ready —
dissolve onboard+ pi extension package.
Install
Rust CLI
pi extension package
Quickstart
# 0) Default embedder is OpenAI (set your key once)
# Optional: switch to local/offline embeddings instead
# 1) Start background daemon + UI + watchers
# 2) Open UI (no need to remember the port)
# 3) Add directories
# 4) Search semantically
# 5) Print agent onboarding prompt
CLI
Embedding config
dissolve reads config from .dissolve/config.toml (or DISSOLVE_CONFIG_PATH).
Defaults:
- provider:
openai - model:
text-embedding-3-large - key env:
OPENAI_API_KEY
Examples:
# inspect indexing progress and embedding batches
Agent onboarding
dissolve onboard prints a prompt you can paste into Claude/Codex/pi-style agents.
Use dissolve onboard --mcp for an MCP-first prompt.
- run
dissolve searchfirst for repo/docs questions, - cite
file_path:line_start, and - fall back to exact grep when needed.
pi extension setup
Install with:
If you prefer manual config, add:
The extension exposes a tool that routes semantic queries to local:
Prefer MCP? Run:
and use dissolve onboard --mcp to print a ready mcpServers snippet.
Docs site (Astro + Starlight)
Docs live in docs/ and are designed for Cloudflare Pages deployment.
Testing
BDD-style tests are implemented with cucumber + Gherkin.
# or
GitHub Actions publishing
- Crates.io:
.github/workflows/publish-crate.yml(on push/merge tomain) - npm package (
@hyperprior/dissolution):.github/workflows/publish-npm.yml(on push/merge tomain)
Docs are deployed by Cloudflare's Git integration (no docs deploy GitHub Action).