jrnxf / gh-eco

🦎 gh cli extension to explore the ecosystem
MIT License
406 stars 6 forks source link
cli gh-extension github go golang terminal tui

gh-eco

🦎 gh extension to explore the ecosystem

GitHub Go
Workflow License Github
Stars

demo

Installation

  1. Install the gh cli - see the installation

    Installation requires a minimum version (2.0.0) of the the GitHub CLI that supports extensions.

  2. Install this extension:

    gh extension install jrnxf/gh-eco
Manual Installation > If you want to install this extension manually, follow these steps: 1. clone the repo ```sh # git git clone https://github.com/jrnxf/gh-eco # GitHub CLI gh repo clone jrnxf/gh-eco ``` 2. `cd` into it ```sh cd gh-eco ``` 3. add dependencies and build it ```sh go get && go build ``` 4. install it locally ```sh gh extension install . ```

Usage

to run:

gh eco

to upgrade:

gh extension upgrade eco

Roadmap

🎨 Custom Configurations

Allowing users to customize the colors of all displayed elements is definitely a priority. Right now the colors used should be adaptive between standard light/dark themed terminal profiles, however it's entirely possible for the colors to still clash! Beyond colors, having the ability to select what elements are displayed, their ordering, custom keymaps, etc. would be awesome!

⚡️ Interactions

I'm intentionally releasing gh-eco while I still have ideas bouncing around in my head for what could come next. There are some immediate limitations that I need to sort out. One of which is dealing with gh permissions. Right now all permissions are inherited from the gh cli, which only requests a small subset of available scopes. One interaction I have built out is to follow/unfollow users (see feature/follow-users branch), but the interaction is blocked due to missing scopes. I haven't found any documentation or examples showcasing what extending permissions for a gh extension might look like, so I may need to contact support. I'd rather not make it a full blown standalone app that requires it's own auth, as I think that might complicate things? If you have opinions please don't hesitate to reach out!

Other interactions I think would be nice include:

🧪 Tests

To date only a small amount of tests have been written. I feel comfortable writing tests for smaller utility functions, but I'd love to do more integration type testing on the underlying Bubble Tea implementation. If you have any experience with this please feel free to open an issue / pull request and start the discussion!

Limitations

Contributing

All contributions are greatly appreciated!

If you have a suggestion that would make gh-eco better, please fork the repo and create a pull request or open an issue.

See the open issues for a full list of proposed features (and known bugs).

License

Distributed under the MIT License. See LICENSE.md for more information.

Acknowledgments

Check out these amazing projects that inspired gh-eco!

Follow

github twitter youtube