node-gh / gh

(DEPRECATED) GitHub CLI made with NodeJS. Use the official https://cli.github.com/ instead.
http://nodegh.io
Other
1.71k stars 217 forks source link

🎣 Deprecating Plugins in favor of Enhanced Hooks #765

Closed protoEvangelion closed 3 years ago

protoEvangelion commented 4 years ago

Currently we have two ways of sharing state with other applications:

  1. Plugins
  2. Hooks

Since hooks can technically share all available state, I don't see a need also allow for complex "plugin" integrations. Take the plugin gh jira for instance. The only benefit that package gains by being a plugin is to access current state of gh.

Like after opening a PR for instance it will try to look up a related issue via the commit.

Theoretically, another jira package could be decoupled from gh and still integrate through hooks.

One downside with hooks at the moment, is that it is unclear what state is available and how to access it. So the plan will be to improve documentation and create a way to peer into all public state through a help cmd.

Another idea is to enhance the hooks experience is to develop hook recipes using native command line foo.

If anyone still uses plugins and thinks that they cannot achieve what they are doing with hooks, please discuss :)

protoEvangelion commented 4 years ago

@zenorocha @henvic @eduardolundgren @jwu910 @drewbrokke since you have either been a part of creating the plugin architecture or have used plugins yourself, can you see any downsides to deprecating plugins?

zenorocha commented 4 years ago

I wonder if we should invest more time in this project after seeing this: https://cli.github.com

WDYT?

jwu910 commented 4 years ago

@zenorocha i think thats a good question to ask. I haven't had time to download and test their cli out yet. But I did see someone on twitter mention that they used gh and didn't plan to switch over.

henvic commented 4 years ago

I'm fine with whatever you decide.

I started contributing to the official GitHub CLI and has been to long since I last used or contributed to NodeGH.

henvic commented 4 years ago

@jwu910, this is still more complete than the official CLI but eventually the situation will probably invert (for example, I've a half baked implementation of the gists command I intend to send a PR within two weeks or so).

drewbrokke commented 4 years ago

@zenorocha I played around with Github's cli for a bit, and it's great, but it's a completely different UX from node-gh. Since I lean on node-gh heavily every day, it'll take a bit for me to get used to a different paradigm.

That being said, I don't have any personal affinity for the plugins feature, and I think in theory a well-documented hooks feature could accomplish a good portion of what plugins offers.

drewbrokke commented 4 years ago

For now, the ergonomics of node-gh are better. I'm just not a fan of having to pass in -R drewbrokke/liferay-portal every time I want to see my own pull requests. I'm sure with time this will improve for the official CLI.

jwu910 commented 4 years ago

@henvic Great point. I don't have a heavy use of plugins with node-gh either, but I am using this every day until github comes out with some feature that would make my processes even simpler than they already are

zenorocha commented 4 years ago

I agree that node-gh still adds a lot of value that GitHub's CLI will still take time to provide.

Unfortunately, I also don't have time to maintain this project, so I trust you guys and I'm fine with whatever decision you make.

protoEvangelion commented 4 years ago

Thanks for the discussion all! I'll leave this discussion open, to give others time to reply if desired.