Understand your codebase.
Understand your codebase.
Sourcebot is a self-hosted tool that helps you answer questions about your code.
LOVED BY DEVS AT
52,000+
Docker pulls
2,000+
GitHub stars
Core feature
Ask Sourcebot
Give your reasoning models the tools to search and navigate your codebase to answer complex questions.
Citations
Every answer Sourcebot provides is grounded in direct citations into your codebase.

Code navigation
Navigate your codebase faster with cross-repository "go to definition" and "find all references".
Go to definition
Find all references
8
9
10
11
12
13
14
15
export const withAuth = (req: Request) => {
// Extract auth token
const authHeader = req.headers.authorization;
const parts = authHeader.split(' ');
if (parts.length !== 2) {
Multi-platform
Ask questions against thousands of repos hosted across any host platform.






Bring your own model
Connect Sourcebot into the reasoning models you're already using daily.










Core feature
Code Search
Search across all your repos/branches from a single blazingly fast interface.
[142 ms] Found 1201 matches in 3016 files
37
38
39
40
41
42
build: __DEV__ ? 'development' : 'production',
// TODO: Should "experimental" also imply "modern"? Maybe we should
// always compare to the channel?
experimental: __EXPERIMENTAL__,
81
82
83
84
85
86
resetRootComponent(rootComponentType: Type<any>): void {
// TODO: vsavkin router 4.0 should make the root component set to null
// this will simplify the lifecycle of the router.
this.routerState.root.component = rootComponentType;
this.navigationTransitions.rootComponentType = rootComponentType;
}
55
56
57
58
function equalParam(container: Params, containee: Params): boolean {
//TODO: This does not handle array params correctly.
return shallowEqual(container, containee);
}
Rich search capabilities
Refine your search with branch, filepath, symbol, and language filters. Regular expressions supported.


Collaborate with your team
Share search results and code snippets so that everyone on your team is on the same page.
Share selection
37
38
39
40
41
42
43
44
// @todo : remove this for v3.2 release
matches = matches.filter(match => {
if (!match.Branches) {
return true;
}
return match.Branches.includes("HEAD");
// remove this for v3.2
matches = matches.filter(match => {
if (!match.Branches) {
return true;
}
return match.Branches.includes("HEAD");
Design
Crafted to perfection.
We care about the details needed to have the best developer experience possible.
⌘
Keyboard Shortcuts
Navigate the UI without ever having to use your mouse.
Vim bindings
Vim support so you can j k h l through your code at lighting speed.
Light & dark mode
Light and dark mode support. Custom themes on the roadmap.
Pricing
Deploy Sourcebot self-hosted today. Upgrade to Enterprise at any time.
Community Edition
Self-host Sourcebot for free on your own infra
Free
Blazingly fast precise code search
Agentic search with any supported model provider
GitHub, Gerrit, Bitbucket and Gitlab connections
MCP server
Single docker image deploy. No code leaves your machine
Community support
Enterprise Edition
Enterprise-grade support, navigation and security features
All Community Edition features
Dedicated support
Analytics dashboard
SSO, OAuth, and IAP support
Code navigation
Search contexts
Contact Us
Deploy Sourcebot self-hosted today. Upgrade to Enterprise at any time.
Community Edition
Self-host Sourcebot for free, without any limitations.
Free
Single docker image deploy
Agentic search
GitHub, Gerrit, Gitea and Gitlab
Single docker image deploy
Community support
Enterprise Edition
Enterprise-grade support, navigation and security features
Custom
All Community Edition features
SSO, OAuth, and IAP support
Analytics dashboard
Code navigation
Dedicated support
For more info, visit our pricing page.
Core feature
Ask Sourcebot
Give your reasoning models the tools to search and navigate your codebase to answer complex questions.
Citations
Every answer Sourcebot provides is grounded in direct citations into your codebase.


Code navigation
Navigate your codebase faster with cross-repository "go to definition" and "find all references".
Go to definition
Find all references
8
9
10
11
12
13
14
15
export const withAuth = (req: Request) => {
// Extract auth token
const authHeader = req.headers.authorization;
const parts = authHeader.split(' ');
if (parts.length !== 2) {
Multi-platform
Ask questions against thousands of repos hosted across any host platform.






Bring your own model
Connect Sourcebot into the reasoning models you're already using daily.











Made w/ ❤️ in 🇨🇦
© Taqla, Inc. All rights reserved.


Made w/ ❤️ in 🇨🇦