@kitlangton/ghui 0.1.16 → 0.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -27
- package/package.json +2 -1
- package/src/App.tsx +1006 -132
- package/src/domain.ts +47 -1
- package/src/services/CommandRunner.ts +8 -1
- package/src/services/GitHubService.ts +286 -184
- package/src/ui/DetailsPane.tsx +26 -25
- package/src/ui/FooterHints.tsx +60 -0
- package/src/ui/PullRequestDiffPane.tsx +105 -33
- package/src/ui/PullRequestList.tsx +38 -13
- package/src/ui/colors.ts +41 -0
- package/src/ui/commentEditor.ts +126 -0
- package/src/ui/diff.ts +204 -7
- package/src/ui/modals.tsx +322 -8
- package/src/ui/pullRequests.ts +2 -0
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# ghui
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Terminal UI for keeping up with your open GitHub pull requests across repositories.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`ghui` gives you one keyboard-driven place to review PR details, inspect diffs, leave diff comments, manage labels, toggle draft state, merge, open PRs in GitHub, and copy PR metadata without leaving the terminal.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -10,38 +10,29 @@ Terminal UI for browsing and acting on your open GitHub pull requests across rep
|
|
|
10
10
|
npm install -g @kitlangton/ghui
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## Install Locally
|
|
13
|
+
Requirements:
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
git clone https://github.com/kitlangton/ghui.git
|
|
21
|
-
cd ghui
|
|
22
|
-
bun install
|
|
23
|
-
bun link
|
|
24
|
-
```
|
|
15
|
+
- Bun runtime installed
|
|
16
|
+
- GitHub CLI installed and authenticated with `gh auth login`
|
|
25
17
|
|
|
26
|
-
Run from anywhere:
|
|
18
|
+
Run it from anywhere:
|
|
27
19
|
|
|
28
20
|
```bash
|
|
29
21
|
ghui
|
|
30
22
|
```
|
|
31
23
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
This package publishes from GitHub Releases using npm Trusted Publishing.
|
|
24
|
+
<img width="1420" height="856" alt="image" src="https://github.com/user-attachments/assets/5e560a4a-5887-4baa-a6d4-e1f4f0410c70" />
|
|
35
25
|
|
|
36
|
-
|
|
26
|
+
## Local Development
|
|
37
27
|
|
|
38
|
-
|
|
39
|
-
- Publisher: GitHub Actions
|
|
40
|
-
- Owner: `kitlangton`
|
|
41
|
-
- Repository: `ghui`
|
|
42
|
-
- Workflow filename: `publish.yml`
|
|
28
|
+
Clone, install, and link:
|
|
43
29
|
|
|
44
|
-
|
|
30
|
+
```bash
|
|
31
|
+
git clone https://github.com/kitlangton/ghui.git
|
|
32
|
+
cd ghui
|
|
33
|
+
bun install
|
|
34
|
+
bun link
|
|
35
|
+
```
|
|
45
36
|
|
|
46
37
|
## Configuration
|
|
47
38
|
|
|
@@ -62,11 +53,22 @@ You can also copy `.env.example` to `.env` and edit the values locally.
|
|
|
62
53
|
- `k` / `j`: move selection
|
|
63
54
|
- `gg` / `G`: jump to first or last pull request
|
|
64
55
|
- `ctrl-u` / `ctrl-d`: page up or down
|
|
56
|
+
- `tab` / `shift-tab`: switch PR queue
|
|
65
57
|
- `/`: filter
|
|
66
|
-
- `enter`: expand details
|
|
67
|
-
- `esc`: return from expanded details or close modal
|
|
58
|
+
- `enter`: expand details; normal PR actions still work while details are expanded
|
|
59
|
+
- `esc`: return from expanded details, leave diff/comment mode, or close modal
|
|
68
60
|
- `r`: refresh
|
|
69
|
-
- `d`:
|
|
61
|
+
- `d`: view stacked diff for all changed files
|
|
62
|
+
- `c`: enter or exit diff comment mode while viewing a diff
|
|
63
|
+
- `up` / `down` / `pageup` / `pagedown`: move comment target while in diff comment mode
|
|
64
|
+
- `enter`: open a commented diff line, or start a comment on an uncommented line
|
|
65
|
+
- `a`: add a comment while in diff comment mode
|
|
66
|
+
- `left` / `right`: choose the deleted or added side while in split diff comment mode
|
|
67
|
+
- `[` / `]`: switch files while viewing or commenting on a diff
|
|
68
|
+
- `s`: toggle draft or ready-for-review state
|
|
69
|
+
- `m`: merge
|
|
70
|
+
- `x`: close with confirmation
|
|
71
|
+
- `t`: choose theme
|
|
70
72
|
- `l`: manage labels
|
|
71
73
|
- `o`: open PR in browser
|
|
72
74
|
- `y`: copy PR metadata
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kitlangton/ghui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.18",
|
|
4
4
|
"description": "Terminal UI for GitHub pull requests",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"scripts": {
|
|
38
38
|
"dev": "bun --watch src/index.tsx",
|
|
39
39
|
"start": "bun run src/index.tsx",
|
|
40
|
+
"test": "bun test test",
|
|
40
41
|
"typecheck": "tsc --noEmit"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|