Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skanehira/github-tui
TUI client for GitHub
https://github.com/skanehira/github-tui
github tui
Last synced: 14 days ago
JSON representation
TUI client for GitHub
- Host: GitHub
- URL: https://github.com/skanehira/github-tui
- Owner: skanehira
- License: mit
- Created: 2020-10-25T23:42:27.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-01-19T00:54:20.000Z (10 months ago)
- Last Synced: 2024-08-01T17:29:58.891Z (3 months ago)
- Topics: github, tui
- Language: Go
- Homepage:
- Size: 145 KB
- Stars: 195
- Watchers: 5
- Forks: 8
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-browserless - GitHub-Tui - TUI client for GitHub (Git interfaces / Misc)
README
# github-tui
This is a TUI Client for GitHub.
**Still Under Development**If you are using Vim, you can use [gh.vim](https://github.com/skanehira/gh.vim) instead.
![](https://i.gyazo.com/d7c8ca82e0aeb947f82c10b08d3eba35.png)
## Features
### Implemented
- Issue
- list
- create
- close
- open
- open browser
- preview
- edit
- Issue comment
- list
- preview
- delete
- edit
- add
- quote reply### Still Under Development
- Issue
- add assignees, labels, projects, milestone
- remove assignees, labels, projects, milestone
- PR
- list
- edit comment
- add comment
- delete comment
- diff
- create
- close
- change base
- merge
- Github Actions
- re-run
- list
- log
- File tree
- preview
- open browser
- preview
- Project
- columns
- open(if type is issue, pr)
- add
- remove
- move
- open browser
- config
- set default editor
- set user keybindings## Installation
```sh
$ git clone https://github.com/skanehira/github-tui
$ go install ./cmd/ght
```## Settings
At first, please set personal access [token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) and email in config.yaml.```yaml
github:
token: xxxxxxxxxxxxxxxxx
```The config.yaml path must be in the bellow place.
| OS | place |
|------------|-----------------------------------------------------|
| Window | `%AppData%¥ght¥config.yaml` |
| Mac | `$HOME/Library/Application Support/ght/config.yaml` |
| Linux/Unix | `$HOME/.config/ght/config.yaml` |## Usage
```sh
# current repository
$ ght# specified repository
$ ght owner/repo
```### Keybindings
| UI | Keybinding | Description |
|----------|----------------------|----------------------------------|
| Common | `j`/`down arrow` | Move down by one row. |
| Common | `k`/`up arrow` | Move up by one row. |
| Common | `g`/`home` | Move to the top. |
| Common | `G`/`end` | Move to the bottom. |
| Common | `Ctrl-F`/`page down` | Move down by one page. |
| Common | `Ctrl-B`/`page up` | Move up by one page. |
| Common | `Ctrl-N` | Move next UI. |
| Common | `Ctrl-P` | Move previous UI. |
| Common | `Ctrl-C` | Finish app. |
| Common | `Ctrl-G` | Focus to Issues |
| Common | `Ctrl-T` | Focus to Filters |
| Filters | `Enter` | Search with enter query. |
| Issues | `h`/`left arrow` | Move left by one column. |
| Issues | `l`/`right arrow` | Move right by one column. |
| Issues | `Ctrl-J` | Check issue and move down. |
| Issues | `Ctrl-K` | Check issue and move up. |
| Issues | `e` | Edit and update issue body. |
| Issues | `o` | Open checked issue. |
| Issues | `c` | Close checked issue. |
| Issues | `Ctrl-O` | Open checked issue on browser. |
| Issues | `/` | filter with enter words |
| Issues | `n` | Create new issue. |
| Issues | `f` | Fetch more issue. |
| Comments | `h`/`left arrow` | Move left by one column. |
| Comments | `l`/`right arrow` | Move right by one column. |
| Comments | `Ctrl-J` | Check comment and move down. |
| Comments | `Ctrl-K` | Check comment and move up. |
| Comments | `Ctrl-O` | Open checked comment on browser. |
| Comments | `n` | Add new issue comment. |
| Comments | `e` | Edit and update comment body. |
| Comments | `r` | Quote reply comment. |
| Comments | `/` | filter with enter words |
| Preview | `/` | search with enter words |
| Preview | `n` | move next word |
| Preview | `N` | move previous word |
| Preview | `o` | change to full screen |### Note
When you creating issue, you can specify multiple labels, projects and assignees with `,`.
For instance, when you specify 2 labels then must input `label1,label2`.![](https://i.gyazo.com/fb665369057c5f096517a24e606e7884.png)
When you edit issue body with `Edit Body` button then `$EDITOR` be used.
If `$EDITOR` is empty or not set, `vim` wll be used.## Author
skanehira