Git suggestions with the GitLab CLI
# Problem Getting started with git isn't easy neither is remembering all handy commands. # Proposal Employ a natural language interface on the command line to help developers generate git commands and execute them without having to hunt for guidance on the internet and translating that to their situation. # Why do this? **Reach**: [84% of developers interact with git on the command line](https://survey.stackoverflow.co/2022/#version-control-vc-interaction) making the command line the most popular interface for interacting with git. **Impact & Confidence**: Git is known to be complex and poorly documented as for instance multiple sources quoted in [this research](https://www.sciencedirect.com/science/article/abs/pii/S0950584923000538) have reported: > Many developers have complained that Git has a complex design that does not take the user’s using experience into account too much [2]. This is confirmed by that developers have raised numerous questions on professional Q&A sites (e.g., Stack Overflow) concerning the usage of Git commands [4], [5], even for experienced developers. Therefore, it is apparent that many developers still have many doubts about Git commands. In general, when developers encounter development-related problems, the first thing they tend to do is to check the documentation. However, the official Git documentation is simplified and provides limited information on using Git commands. ... Currently, in practice, when developers encounter problems with Git commands, they tend to search the internet for relevant solutions or raise questions on professional Q&A sites. [According to the StackOverflow Developer Survey, 15% of developers even dread git](https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-other-tools). **Effort**: an initial prototype enhancing the GLab CLI with a natural language interface showed promising results. In our [team internal prioritization session](https://app.mural.co/t/gitlab2474/m/gitlab2474/1681828388086/106fd111acff627b3204f778de597e416bd6847a?sender=u1ac50193ef9d5e9c8e5b7586) this feature idea beat all other proposal leaving the second most prioritized one far behind both in perceived importance and feasibility. #### Competition * [GH announced to offer CLIs to answer any question, git specific questions and GH specific questions](https://githubnext.com/projects/copilot-cli) - GH seems to require that the user has access to copilot to use these features. Copilot is a paid feature. - Here is the documentation: https://www.npmjs.com/package/@githubnext/github-copilot-cli?activeTab=readme - It seems to be a different package than the GL CLI which is open source. - https://youtu.be/ZtZ0xdk5wTM?t=108 #### What we can learn? * User experience: * How would users want to interact with AI in the command line * Would they only want to ask git related questions? * How to design these interfaces accordingly? * We can measure how often users use the feature and how often they choose to directly apply the proposed command vs. writing a different command themselves. * Technically: * The GLab is a user interfaces the SCM team has not contributed to, yet. However, the expectation is that every team in the company contributes to it addressing use cases of their own category. So, this is a great opportunity to contribute a first feature.
epic