Developing Sourcegraph
This documentation is for developers contributing to the Sourcegraph code base.
Sourcegraph development is open source at:
Getting started
A hands-on introduction for setting up your local development environment.
Background information
Clarification and discussion about key concepts, architecture, and development stack.
Overview
Architecture
Development
sg
- the Sourcegraph developer tool- Developing the web clients
- Developing the GraphQL API
- Developing batch changes
- Developing code intelligence
- Developing code insights
- 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
- High-performance SQL
- Code host connections on local dev environment
Languages
Extended guides
Testing
Security
Tools
Other
Guidelines
How-to guides
Guides to help with troubleshooting, configuring test instances, debugging, and more.
Local development
- DEPRECATED: Quickstart without
sg
- How to debug live code
- Set up local development with Zoekt and Sourcegraph
- Ignoring editor config files in Git
- Use
golangci-lint
- Set up local development with M1 mac
New features
Troubleshooting
- 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
Implementing Sourcegraph
Testing Sourcegraph & CI
- How to write and run tests
- Configure a test instance of Phabricator and Gitolite
- Test a Phabricator and Gitolite instance
- Adding or changing Buildkite secrets