This documentation is for developers contributing to the Sourcegraph code base.
Sourcegraph development is open source at:
A hands-on introduction for setting up your local development environment.
- Step 1: Install dependencies
- Step 2: Initialize your database
- Step 3: (macOS) Start Docker
- Step 4: Get the code
- Step 5: Configure HTTPS reverse proxy
- Step 6: Start the server
- Step 7: Additional resources
Guides to help with troubleshooting, configuring test instances, debugging, and more.
- How to debug live code
- Set up local development with Zoekt and Sourcegraph
- Ignoring editor config files in Git
- Use
golangci-lint
- Problems with node_modules or Javascript packages
- dial tcp 127.0.0.1:3090: connect: connection refused
- Database migration failures
- Internal Server Error
- Increase maximum available file descriptors.
- Caddy 2 certificate problems
- Running out of disk space
- Certificate expiry
- CPU/RAM/bandwidth/battery usage
- Permission errors for Grafana and Prometheus
- How to run tests
- Configure a test instance of Phabricator and Gitolite
- Test a Phabricator and Gitolite instance
- Adding or changing Buildkite secrets
Clarification and discussion about key concepts, architecture, and development stack.
- Developing the web clients
- Developing the GraphQL API
- Developing batch changes
- Developing code intelligence
- Developing code monitoring
- Developing observability
- Developing Sourcegraph extensions
- Dependencies and generated code
- Code reviews
- Commit messages
- Exposing services
- Developing a store
- Developing a worker
- Developing an out-of-band migration
- Developing a background routine