6 ms·
Gh-dash: A beautiful CLI dashboard for GitHub
- alchemist1e9 2y agoLooks very nice! Slightly related question - is there any self-hosted github API compatible solution? I’m pretty sure the answer is no, but figured I ask.
- eyegor 2y ago+1 for gitlab support -- self hosted gitlab (or gitea) is probably the most popular one, since self hosted github is very pricy
- Galanwe 2y agoWould be nice to have it for Github Enterprise for sure!
- pvcnt 2y agoShameless plug: I developed a similar project that is Web-based (source [1], demo [2]) and supports having multiple connections configured. Both github.com and GitHub Enterprise are supported. Other backends (e.g., GitLab, Azure DevOps) could be added in theory. I started this because at work, we use no less than 2 instances of GitHub Enterprise, in addition to github.com. It is a client-side application, meaning that it is very simple to host (no backend required). [1] https://github.com/pvcnt/reviewer https://github.com/pvcnt/reviewer [2] https://reviewer.pages.dev https://reviewer.pages.dev
- argulane 2y agoGitea API is pretty close to GitHub https://docs.gitea.com/ https://docs.gitea.com/
- alchemist1e9 2y agogh-dash should add Gitea API support! I’ve used gogs a lot in the past and it’s worked very well for my use case which Gitea is a fork of. It would be great to have a fully self-hosted setup with this tui interface.
- rajishx 2y agogitea, forgejo (but not 100% api compatible)
- danielvaughn 2y agoI'm really loving this whole trend of well-designed TUI applications that Charm has enabled.
- oefrha 2y agoFunny that Go is top notch in the TUI space thanks to Charm while the GUI landscape is absolutely abysmal (Wails is the only thing that’s okay).
- endgame 2y agoI feel like this "missing middle" is common to a lot of language communities these days. Devs writing for themselves are often happy to make cool TUIs, and devs writing for "end users" are often writing webapps.
- oooyay 2y agoIf you know Typescript and have a component framework you like it's about the same level to write a TUI in Charm as it is to write something in Wails. I kind of alternate between them.
- theshrike79 2y agoI've heard some good things about Fyne: https://github.com/fyne-io/fyne https://github.com/fyne-io/fyne Doesn't do native-looking software, but the APIs don't look that bad.
- oefrha 2y agoI’ve used it twice, both times regretted and rewrote in Wails (that is, back to a web view for UI). Problems not limited to: - (Last I checked, which is <1yr ago) Text rendering is fundamentally done wrong, it can’t access any system font, can only use the built-in font, or exactly one custom font you bundle. Good luck supporting any user-generated or web content from people who don’t use the Latin script. - Very limited selection of widgets, a problem common to all but a few native frameworks. - Very limited styling options for the small selection of widgets. - Looks terrible. Okay for personal/internal stuff, definitely don’t want to ship to end users. (Obviously subjective.)
- kreelman 2y agoHas anyone thought of doing something like this for Gitlab? I'll browse the code and see how readily it could be converted over to working on Gitlab.... also, Gitlab has a GraphQL API available to get at various bits of data surrounding a repo. I've not looked at this code yet, perhaps it does something similar....?
- deleted 2y ago[deleted]
- locusofself 2y agoI wish I had this for Azure DevOps. Work at MSFT and don't have a choice in the matter.
- alternatex 2y agoBit misleading. Working at MSFT doesn't mandate to use ADO for hosting code. Plenty of teams host their projects on GitHub.
- DiggyJohnson 2y agoIt's not misleading. The obvious assumption is that GP works for a team at Microsoft that uses ADO and not Github.
- jayknight 2y agoTo be fair, it does read like "Work at MSFT and [therefore] don't have a choice in the matter." It's not an institutional policy (MS owns github after all), so it would have been more clear to say "Work on a team that uses ADO and don't have a choice in the matter."
- DiggyJohnson 2y agoI take your point. Yes, I do agree that would be clearer. Just to restate my position for anyone else reading, I don't believe that the fact that a point could be restated with more clarity means that the original version is misleading. Everything, everywhere, always could always be made better than it is. The question is not "could this be made better?" but instead "is this clear enough [to avoid accusations of misinformation]?"
- burgerrito 2y agoPossibly an unpopular opinion: TUI application should work out of the box, or in other words, it shouldn't need another font installation (NerdFont in this case) to run and render properly. One of the TUI app that does this well is Helix editor and I love it.
- strathos 2y agoSomewhat related, this is the main reason why I settled on using Wezterm as my terminal. It comes with Nerd Fonts pre-bundled.
- behnamoh 2y agoThat seems like an unreasonably over the top reason to switch terminals while you literally can brew install any font.
- godelski 2y agoI really agree here, as someone who uses nerd fonts a lot[0]. There should always be a default without nerd fonts. That said, what does it actually look like without? The docs say "render properly". I haven't tried it yet, let alone without nerd fonts. That also said, I'd give this one a bigger break than most. If you're doing development work on a machine you probably got decent control and at least enough space to install fira. [0] I suspect there are two types of people that are terminally terminal: those that are just in their own shells and can always control their full environment and those that work in many machines. I'm the latter, but I tend to notice the latter are also the former, but make different choices because of this, or at least smarter dotfiles that will change things based on environment or (like me) have source install scripts (you can always build a program locally ;) I'm glad people live in the shells, but I hope people making TUIs can realize that there's a bunch of us that have to move machines constantly.
- deleted 2y ago[deleted]
- rejschaap 2y agoOut of which box though? It works out of the box on WezTerm.
- bee_rider 2y agoThere’s something a little funny about a CLI interface to GitHub, a website based on making it easier to use… git, a CLI program. Which isn’t to poo-poo the project, GitHub adds a bunch of extra features so I can see why someone might want to build up on it. It’s just funny, the winding path our files take to get to our eyeballs.
- rejschaap 2y agoThe funny part is that we decentralized version control with git and then centralized software development in GitHub
- cqqxo4zV46cp 2y agoNot that funny when “we” means a different thing in each of its uses.
- yavor-atanasov 2y agoWe like creating decentralised technologies to then graviate around centralised services built on top. The Internet was meant to be decentralised (it still is in terms of the protocols that make it work), but then we ended up consuming very much centralised services. Bitcoin's decentralised in terms of technology, but then we are centralising in terms of exchanges, wallets etc. I guess the decentralisation aspects of a given technology just means it's a resilient building block. And since the only way we make sense of things nowadays is through markets, it's inevitable we starting building and consuming centralised services. I'm not saying centralisation is good or bad btw, but I do share the irony in your reply, mostly because I find it funny when a new tech is being sold as new way of doing something in a decentralised way.
- setr 2y agoDecentralization mainly grants flexibility/customization/freedom, but generally you don’t really care about this — freedom only really matters when you can’t do the thing you’re trying to do. If everything is already covered without such freedom, or you don’t care about what’s not covered (or failed to conceive it), then you don’t really mind having the freedom or not. It doesn’t change much. Gmail is a good email client — email being decentralized is only relevant to me if I wanted to get off gmail to go to say fastmail. But if I didn’t, what do I care whether the underlying protocol is centralized or not?
- powerapple 2y agoLove it, thank you! I couldn't get the help screen by '?' though. I can escape the input box with esc, but then '?' will refocus on the search box again. EDIT: got it now, not sure why it didn't work before
- peter_l_downs 2y agoLooks cool. A few thoughts: - Why? Strongly suggest updating the README to explain why this is useful, or what kind of workflow makes this useful. Just a list of features isn't that compelling to me because I'm not sure I want it. - Because this is a gh cli extension, and not a standalone program, searching is unfortunately going to be fairly slow. There doesn't seem to be any local caching or syncing of the Github data. - Not really a user-impacting issue, just a fun fact: because the pagination is handled via Graphql's PageInfo support in their Graphql API, you'll never be able to page through more than 1000 results in a given response. - Authors might consider linking to https://docs.github.com/en/search-github/searching-on-github https://docs.github.com/en/search-github/searching-on-github in the README, it makes figuring out how to write a custom search a lot easier. - I'm happy to see XDG_CONFIG_HOME support, but the authors should consider also checking for a config file in $RepoRoot/.config/gh-dash/ and $RepoRoot/.gh-dash/, so that a single config could be more easily shared by members of a team who all check out the same repository. I'm working on something like this (customizable filter views for Github; quickly drill down into PRs by different authors, affecting different files, across multiple repos, filtered by regex search on the changed files / pr body / pr title / pr comments) but based in the browser, not a TUI. The primary goal of my project is to help engineering leaders understand what is actually getting shipped, and communicate that to other non-technical leaders. If anyone is interested in being a beta tester let me know, I'm hoping to have a release publicly available at the end of this week!
- mb7733 2y ago> Why? Strongly suggest updating the README to explain why this is useful, or what kind of workflow makes this useful. Just a list of features isn't that compelling to me because I'm not sure I want it. I don't mean to speak for the author, but: The 10 seconds it took for the GitHub web UI to load the homepage of this project is a great justification for its existence!
- peter_l_downs 2y agoI hear that, but this is fetching data from the Github graphql API the same way that the website does, so if you're getting slow responses from their servers this won't be any faster.
- dcre 2y agoThis is really cool! I have something similar just for checking out PRs in a single bash function, powered by gh and fzf: function ghpr() { gh pr list --limit 100 --json number,title,updatedAt,author --template \ '{{range .}}{{tablerow .number .title .author.name (timeago .updatedAt)}}{{end}}' | fzf --height 25% --reverse | cut -f1 -d ' ' | xargs gh pr checkout } Screenshot: https://github.com/oxidecomputer/console/assets/3612203/2805b41a-c474-4da5-9658-ebf5d65f8480 https://github.com/oxidecomputer/console/assets/3612203/2805...
- achristmascarl 2y agospeaking of fzf, i have an alias for checking out branches using it + git: alias gbs="git branch --sort=-committerdate | fzf | xargs -I{} git checkout {}"
- mtmk 2y agoVery cool. Coincidentally, I was looking into starting to use Midnight Commander (again). When I run it in a repo, I still see my overall PRs, etc. Is there an option to get it to focus on the current repo?
- PobedaRossia 2y ago[dead]
- jonathankoren 2y agoI guess we’ve gone full circle to back to curses like UIs in terminals now.
- collinvandyck76 2y agoI love this. The terminal performance though is a bit rough...
- rurban 2y agoFor issues git bug is much better. gh plain also works fine with PR's.