Sourcebot is a self-hosted tool that helps you understand your codebase.
Find a file
2025-07-28 23:46:26 -07:00
.cursor/rules V4 (#311) 2025-05-28 16:08:42 -07:00
.github switch demo to deploy on main 2025-07-23 11:33:25 -07:00
.vscode Display name improvements (#259) 2025-04-02 17:50:48 -07:00
.yarn/releases v3 effort (#158) 2025-03-31 22:34:42 -07:00
configs update example configs to use v3 schema 2025-04-01 10:26:46 -07:00
docs feat(search_contexts): Add ability to include/exclude connections in search contexts (#399) 2025-07-27 10:11:58 -07:00
ee Search contexts (#273) 2025-04-24 22:28:13 -07:00
packages feat(ask_sb): Add onboarding tutorial (#408) 2025-07-28 23:46:26 -07:00
schemas feat(search_contexts): Add ability to include/exclude connections in search contexts (#399) 2025-07-27 10:11:58 -07:00
vendor feat: Generic git host support (local & remote) (#307) 2025-05-15 13:42:58 -07:00
.dockerignore v3 effort (#158) 2025-03-31 22:34:42 -07:00
.env.development Adds support for encrypted license keys (#335) 2025-06-05 22:18:52 -07:00
.gitignore v3 effort (#158) 2025-03-31 22:34:42 -07:00
.gitmodules update zoekt version 2025-04-01 10:38:50 -07:00
.yarnrc.yml v3 effort (#158) 2025-03-31 22:34:42 -07:00
_typos.toml chore: Misc typos (UI, docs, code...), Makefile PATH with spaces (#369) 2025-07-16 11:59:01 -07:00
CHANGELOG.md feat(ask_sb): Add onboarding tutorial (#408) 2025-07-28 23:46:26 -07:00
CONTRIBUTING.md chore: Misc typos (UI, docs, code...), Makefile PATH with spaces (#369) 2025-07-16 11:59:01 -07:00
default-config.json Config format V2 (#42) 2024-10-17 16:31:18 -04:00
demo-site-config.json Add anonymous access option to core (#385) 2025-07-19 14:04:41 -07:00
docker-compose-dev.yml [dev + copy button] add / update local dev w/docker compose; add copy button to the right of filenames (#328) 2025-06-03 08:52:59 -07:00
Dockerfile Add missing ARG statements in Dockerfile 2025-07-23 12:09:02 -07:00
entrypoint.sh Only create DB directory if using embedded DB (#267) 2025-04-10 21:39:31 -06:00
fly.toml Use main for demo site 2024-10-30 09:35:06 -07:00
grafana.alloy v3 effort (#158) 2025-03-31 22:34:42 -07:00
LICENSE.md make the license a markdown file 2025-07-20 11:49:42 -07:00
Makefile chore: Misc typos (UI, docs, code...), Makefile PATH with spaces (#369) 2025-07-16 11:59:01 -07:00
package.json feat: Ask Sourcebot (#392) 2025-07-23 11:25:15 -07:00
prefix-output.sh Config format V2 (#42) 2024-10-17 16:31:18 -04:00
public.pem Adds support for encrypted license keys (#335) 2025-06-05 22:18:52 -07:00
README.md feat: Ask Sourcebot (#392) 2025-07-23 11:25:15 -07:00
supervisord.conf Review Agent (#298) 2025-05-12 12:10:01 -07:00
yarn.lock chore(deps): bump form-data from 4.0.2 to 4.0.4 (#407) 2025-07-28 23:20:59 -07:00


Sourcebot uses Github Discussions for Support and Feature Requests.

About

Sourcebot is a self-hosted tool that helps you understand your codebase.

  • Ask Sourcebot: Ask questions about your codebase and have Sourcebot provide detailed answers grounded with inline citations.
  • Code search: Search and navigate across all your repos and branches, no matter where theyre hosted.

https://github.com/user-attachments/assets/286ad97a-a543-4eef-a2f1-4fa31bea1b32

Features

  • 💻 One-command deployment: Get started instantly using Docker on your own machine.
  • 🤖 Bring your own model: Connect Sourcebot to any of the reasoning models you're already using.
  • 🔍 Multi-repo support: Index and search through multiple public and private repositories and branches on GitHub, GitLab, Bitbucket, Gitea, or Gerrit.
  • Lightning fast performance: Built on top of the powerful Zoekt search engine.
  • 🎨 Modern web app: Enjoy a sleek interface with features like syntax highlighting, light/dark mode, and vim-style navigation.
  • 📂 Full file visualization: Instantly view the entire file when selecting any search result.

You can try out our public hosted demo here!

Deploy Sourcebot

Sourcebot can be deployed in seconds using our official docker image. Visit our docs for more information.

  1. Create a config
touch config.json
echo '{
    "$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
    "connections": {
        // Comments are supported
        "starter-connection": {
            "type": "github",
            "repos": [
                "sourcebot-dev/sourcebot"
            ]
        }
    }
}' > config.json
  1. Run the docker container
docker run \
  -p 3000:3000 \
  --pull=always \
  --rm \
  -v $(pwd):/data \
  -e CONFIG_PATH=/data/config.json \
  --name sourcebot \
  ghcr.io/sourcebot-dev/sourcebot:latest
What does this command do?
  • Pull and run the Sourcebot docker image from ghcr.io/sourcebot-dev/sourcebot:latest.
  • Mount the current directory (-v $(pwd):/data) to allow Sourcebot to persist the .sourcebot cache.
  • Clones sourcebot at HEAD into .sourcebot/github/sourcebot-dev/sourcebot.
  • Indexes sourcebot into a .zoekt index file in .sourcebot/index/.
  • Map port 3000 between your machine and the docker image.
  • Starts the web server on port 3000.

  1. Start searching at http://localhost:3000

To learn how to configure Sourcebot to index your own repos, please refer to 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 the SOURCEBOT_TELEMETRY_DISABLED environment variable to true. Please refer to our telemetry docs for more information.

Build from source

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.