First-class experience from the command line
Problem to solve
The command line is where Developers live. For many Developers, it's far more efficient. Let's bring GitLab there.
Having a GitLab CLI is an important part of this experience, but is not the only part. There are already several third-party CLIs for GitLab. We need to think through the complete experience of what Developers are trying to do while using the command line, and how to allow those things to happen more smoothly. Some examples:
- Making code changes locally, and then pushing them up as an MR. Currently, there's a transition where you have to go to a website to finish your work. Yes, we have some awesome features to actually create the MR when you push up your change, but you almost always need to edit the description, tag others for review, etc. Can we make that entire flow happen via the command line?
- If a developer is debugging a
.gitlab-ci.ymlconfiguration, there can be a painful back-and-forth with commits just to test out CI/CD changes. Can't we let developers test these things locally before pushing changes up to GitLab? We have the capability to run a single job via a local gitlab-runner, but we don't make it easy to run an entire CI/CD configuration, especially when secrets and variables are needed.
- When tracking down job failures, you don't want to commit changes just to see if CI passes. Sure, you should have a way to run the test suite locally, but for large test suites that can take hours on a single laptop. Can we use the power of the cloud to run the test faster (in parallel), without code commits, all from the command line?