Developing Sourcegraph
Documentation for developers contributing to the Sourcegraph code base
Setup
Learn how to develop Sourcegraph on your machine.
★ Quickstart
Run through the step by step guide and get your local environment ready. How-to guides
Context specific guides: debugging live code Troubleshooting
Help for the most common problems.
Run through the step by step guide and get your local environment ready. How-to guides
Context specific guides: debugging live code Troubleshooting
Help for the most common problems.
Background information
Clarification and discussion about key concepts, architecture, and development stack.
Architecture
Development
sg
- the Sourcegraph developer tool- Using Bazel
- Developing the web clients
- Developing the GraphQL API
- Developing the SCIM API
- Developing batch changes
- Developing code intelligence
- Developing code insights
- Developing code monitoring
- Developing observability
- 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
- Testing
- Building p4-fusion
- The
gitserver
API - gRPC Tutorial
Git
Languages
SQL
- Using PostgreSQL
- Migrations overview
- Migrations
- High-performance guides
Security
- Security patterns
- Security policy
- How to disclose vulnerabilities.
- CSRF security model
- Sourcegraph secret formats
Testing
- Continuous integration
- Testing a pull request
- Testing principles
- Testing Go code
- Testing web code
- Code host test plans
Tools
Other
- Telemetry
- Adding, changing and debugging pings
- DEPRECATED: Event level data usage pipeline
- DEPRECATED: Adding, changing and debugging user event data
- Deploy Sourcegraph with Helm chart (BETA)
- GitHub API oddities
How-to guides
Guides to help with troubleshooting, configuring test instances, debugging, and more.
New features
Observability
- How to add observability
- How to add logging
- How to find monitoring
- How to add monitoring
- Set up local monitoring development
- Set up local OpenTelemetry development
Plans and licenses
Documentation
Executors
Testing
- How to write and run tests
- Run a local Sourcegraph instance behind ngrok
- Testing against code hosts