kantord/SeaGOAT

local-first semantic code search engine

What it solves

SeaGOAT is a local code search engine that allows developers to search their codebase semantically rather than relying solely on keyword-based searches. It enables users to find code snippets based on the meaning of their queries (e.g., "Where are the numbers rounded") instead of exact string matches.

How it works

The tool operates via a local server (seagoat-server) that processes a repository and creates vector embeddings of the code. It uses ChromaDB as a local vector database and a local embedding engine to ensure data privacy. To provide comprehensive results, it combines these AI-based semantic matches with traditional regular-expression and keyword-based searches powered by ripgrep.

Who it’s for

Developers who want a fast, private, and semantic search experience for their local codebases across various supported languages including Python, C++, TypeScript, Go, and Java.

Highlights

  • Local-first architecture: All processing and embeddings are handled locally without relying on third-party APIs like ChatGPT.
  • Hybrid search: Combines vector-based semantic search with ripgrep for regex and keyword matching.
  • Background processing: Indexes files in the background to avoid slowing down the system.
  • Git integration: Automatically respects .gitignore files.
  • Flexible deployment: Can be run on a local machine or self-hosted on a remote server for team access.

Related

  • Project
  • Project
  • Project
  • Project
  • Project