sg Vision
Principles
sgshould be fun to use.- If you think "it would be cool if
sgcould do X": add it! Let's go :) sgshould make Sourcegraph developers productive and happy.sgis not and should not be a build system.sgis not and should not be a container orchestrator.- Try to fix a lot of the problems in this RFC by encoding conventions in executable code.
- No bash.
sgwas built to get rid of all the bash scripts in./dev/. If you have a chance to build something intosgto avoid another bash script: do it. Try to keep shell scripts to easy-to-understand one liners if you must. Replicating something in Go code that could be done in 4 lines of bash is probably a good idea. - Duplicated data is fine as long as it's dumb data. Copying some lines in
sg.config.yamlto get something working is often (but not always) better than trying to be clever.
You can also watch this video to get an overview of the original thinking that lead to sg.
Inspiration
- GitLab Developer Kit (GDK)
- Stripe's
paycommand, described here - Stack Exchange Local Environment Setup command
Roadmap
The sg label tracks features and improvements for sg that we want to make.
Have feedback or ideas? Feel free to create an issue or open a discussion! Sourcegraph teammates can also leave a message in #dev-experience.
Inspired and want to contribute? Head on over to contributing to sg!