Sourcebot is a self-hosted tool that helps you understand your codebase.
Try it out in our public demo!
https://github.com/user-attachments/assets/ed66a622-e38f-4947-a531-86df1e1e0218
Ask Sourcebot gives you the ability to ask complex questions about your codebase in natural language.
It uses Sourcebot's existing code search and navigation tools to allow reasoning models to search your code, follow code nav references, and provide an answer that's rich with inline citations and navigable code snippets.
https://github.com/user-attachments/assets/8212cd16-683f-468f-8ea5-67455c0931e2
Search across all your repos/branches across any code host platform. Blazingly fast, and supports regular expressions, repo/language search filters, boolean logic, and more.
https://github.com/user-attachments/assets/3b381452-d329-4949-b6f2-2fc38952e481
IDE-level code navigation (goto definition and find references) across all your repos.
https://github.com/user-attachments/assets/e2da2829-71cc-40af-98b4-7ba52e945530
Explore every file across all of your repos. Modern UI with syntax highlighting, file tree, code navigation, etc.
https://github.com/user-attachments/assets/31ec0669-707d-4e03-b511-1bc33d44197a
Sourcebot can be deployed in seconds using Docker Compose. Visit our docs for more information.
curl -o docker-compose.yml https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/docker-compose.yml
docker-compose.yml file, create a configuration file. The configuration file is a JSON file that configures Sourcebot's behaviour, including what repositories to index, language model providers, auth providers, and more.echo '{
"$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
// Comments are supported.
// This config creates a single connection to GitHub.com that
// indexes the Sourcebot repository
"connections": {
"starter-connection": {
"type": "github",
"repos": [
"sourcebot-dev/sourcebot"
]
}
}
}' > config.json
docker-compose.yml and then run Sourcebot using:docker compose up
http://localhost:3000 to start using SourcebotTo configure Sourcebot (index your own repos, connect your LLMs, etc), check out our docs.
[!NOTE]
Sourcebot collects anonymous usage data by default to help us improve the product. No sensitive data is collected, but if you'd like to disable this you can do so by setting theSOURCEBOT_TELEMETRY_DISABLEDenvironment
variable totrue. Please refer to our telemetry docs for more information.
[!NOTE]
Building from source is only required if you'd like to contribute. If you'd just like to use Sourcebot, we recommend checking out our self-hosting docs.
If you'd like to build from source, please checkout the CONTRIBUTING.md file for more information.