graphite-cli
graphite-cli copied to clipboard
Is there interest in creating a plugin architecture for 3rd party tools?
Hi,
I'm the founder of GitSense and I really like where Graphite is going with the command line tool and I think it can become the default CLI for all things pull request related. And to understand why I am raising this issue, I'll quickly explain what is GitSense.
What GitSense does, is it turns commits and pull requests into actionable insights that can help mitigate potential conflicts in the code review process. For example, if you go to
https://oss.gitsense.com/insights/github?t=crc-insights&tb=open&v=cockroachdb%2Fcockroach%3A%3Agithub%3Acockroachdb%2Fcockroach%3A%3A%3A%3A
you will find some pull requests have a red left arrow, a lightening bolt or both.
When you see a red arrow, it means the pull request has one or more files behind. And if there is a lightening bolt, it means one or more files in the pull request is being actively worked on by another pull request with the same merge target. And to better understand this, click on the pull request.
This ability to see what is behind, has collisions, and other insights is only available via the GitSense web tool but I would like to make this information available via the command line, which is where graphite-cli comes into play.
Ideally what I would like to do, is be able to execute gt gs ls and have it list the files in the current directory and highlight files that are behind, have collisions, and other insights that GitSense can provide.
I'm not sure if plugins have been discussed, but it would be nice for graphite-cli to support subcommands that can be loaded by graphite-cli users. For example, support a plugin directory like so
~/.grahite/plugins
where users can add plugins like mine which can be used to surface code review insights. A lot of work has gone into this CLI tool and since it revolves around pull requests, I think graphite-cli can become a good umbrella for other solutions like mine that can help with code reviews.
Thoughts on this?
we're planning on adding third party plugins eventually! There's been some discussion in our community slack channel about this, feel free to join the conversation!