Local-first search CLI and agent tool that combines ripgrep, BM25 and vector search over your workspace.
kantord/SeaGOAT
A local-first semantic code search engine that combines vector embeddings with ripgrep so you can query a codebase in natural language.
- Stars
- 1,321
- Forks
- 97
- Open issues
- 36
- Last commit
- 8 hours ago
What is it?
SeaGOAT is a command-line code search tool for finding code by meaning rather than exact keywords. It runs a local server that indexes a repository with vector embeddings stored in ChromaDB, and it pairs those semantic matches with regular-expression and keyword results from ripgrep. Queries can be plain sentences such as "where are the numbers rounded" or mix in regular expressions.
The tool runs entirely on your own machine and does not call remote APIs by default. Indexing happens in the background, so you can search while files are still being processed; early results come from ripgrep and the warning shows an estimate of how complete the semantic index is. Repository ignore rules from .gitignore are respected, and additional patterns can be set in a YAML config file.
An optional --generative flag sends results to an LLM to enhance answers. It defaults to a local Ollama server, and OpenAI or MiniMax can be configured instead, though cloud providers receive code snippets and must be enabled explicitly.
Key features
- 01Natural-language semantic search over local code using vector embeddings
- 02Combines semantic results with ripgrep regular-expression and keyword matches
- 03Runs a local server; no remote API calls by default
- 04Search while indexing is still in progress, with an accuracy estimate
- 05Respects .gitignore and supports extra ignore patterns in YAML config
- 06Optional LLM-enhanced results via Ollama, OpenAI or MiniMax
Use cases
- Finding where a behavior is implemented when you do not know the exact function name
- Exploring an unfamiliar codebase by asking questions in plain language
- Searching private code without sending it to third-party services
- Hosting a shared code search server for a team on a private network
Quick start
- 1
Install ripgrep and optionally bat using your system package manager (listed as dependencies)
- 2
Install SeaGOAT with pipx
pipx install seagoat - 3
Start the SeaGOAT server on your repository
seagoat-server start /path/to/your/repo - 4
Query your repository in natural language
gt "Where are the numbers rounded"
Things to know
- Supports only a fixed list of file types such as Python, JavaScript, Go, and Markdown.
- macOS and Windows support is only partly tested or needs help.
In collections
Topics
FAQ
- What is SeaGOAT?
- A local-first semantic code search engine that combines vector embeddings with ripgrep so you can query a codebase in natural language. SeaGOAT is a command-line code search tool for finding code by meaning rather than exact keywords. It runs a local server that indexes a repository with vector embeddings stored in ChromaDB, and it pairs those semantic matches with regular-expression and keyword results from ripgrep. Queries can be plain sentences such as "where are the numbers rounded" or mix in regular expressions.
- Is SeaGOAT free to use? What license does it have?
- SeaGOAT is open source under the MIT license. Check the license terms before using it in commercial products.
- Is SeaGOAT still maintained?
- Actively maintained. The last commit to SeaGOAT was on Nov 7, 2026.
- What can I use SeaGOAT for?
- Finding where a behavior is implemented when you do not know the exact function name Exploring an unfamiliar codebase by asking questions in plain language Searching private code without sending it to third-party services Hosting a shared code search server for a team on a private network
- How do I install SeaGOAT?
- Install ripgrep and optionally bat using your system package manager (listed as dependencies) Install SeaGOAT with pipx: pipx install seagoat Start the SeaGOAT server on your repository: seagoat-server start /path/to/your/repo Query your repository in natural language: gt "Where are the numbers rounded"
- Where can I get SeaGOAT?
- The source code and installation instructions are on GitHub: https://github.com/kantord/SeaGOAT
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A privacy-first CLI for semantic code search with local embeddings, call-graph tracing, and an MCP server for AI coding agents.
Open-source embedding database for AI apps, storing documents and vectors to power semantic, hybrid and full-text search.
Epsilla is an open-source C++ vector database for embedding similarity search, with metadata filtering, hybrid search, and LLM retrieval integrations.
AST-based semantic code search CLI and MCP server that indexes your codebase so coding agents can find code by meaning.
A local vector index and RAG toolkit that cuts storage by about 97% by recomputing embeddings on demand, so you can search personal data on your laptop.