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 they’re hosted. Try it out in our [public demo](https://demo.sourcebot.dev)! https://github.com/user-attachments/assets/ed66a622-e38f-4947-a531-86df1e1e0218 # Features  ## Ask Sourcebot 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 ## Code Search 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 ## Code Navigation IDE-level code navigation (goto definition and find references) across all your repos. https://github.com/user-attachments/assets/e2da2829-71cc-40af-98b4-7ba52e945530 ## Built-in File Explorer 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 # Deploy Sourcebot Sourcebot can be deployed in seconds using our official docker image. Visit our [docs](https://docs.sourcebot.dev/docs/deployment-guide) for more information. 1. Create a config ```sh 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 ``` 2. Run the docker container ```sh 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 ```