gh-manager-cli 1.4.1 → 1.5.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [1.5.0](https://github.com/wiiiimm/gh-manager-cli/compare/v1.4.2...v1.5.0) (2025-08-31)
2
+
3
+
4
+ ### Features
5
+
6
+ * add fork sync functionality and update documentation ([1d37a10](https://github.com/wiiiimm/gh-manager-cli/commit/1d37a10d90636731c436679b0a4ff2d1c3e1daae))
7
+
8
+ ## [1.4.2](https://github.com/wiiiimm/gh-manager-cli/compare/v1.4.1...v1.4.2) (2025-08-31)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * add packages permission and improve GitHub Packages publishing with jq ([2346944](https://github.com/wiiiimm/gh-manager-cli/commit/2346944739f70d237240c6d67ae39c32d1d623d5))
14
+
1
15
  ## [1.4.1](https://github.com/wiiiimm/gh-manager-cli/compare/v1.4.0...v1.4.1) (2025-08-31)
2
16
 
3
17
 
package/README.md CHANGED
@@ -2,11 +2,32 @@
2
2
 
3
3
  Interactive terminal app to browse and manage your personal GitHub repositories. Built with Ink (React for CLIs) and the GitHub GraphQL API.
4
4
 
5
+ ## Screenshots
6
+
7
+ <div align="center">
8
+
9
+ ### Repository Listing
10
+ Browse your repositories with rich metadata, sorting, and filtering options.
11
+
12
+ <img src="docs/demo_repo_listing.png" alt="Repository listing interface showing repositories with metadata" width="800">
13
+
14
+ ### Authentication Flow
15
+ Secure GitHub token authentication with validation and persistence.
16
+
17
+ <img src="docs/demo_login.png" alt="Login screen prompting for GitHub token" width="800">
18
+
19
+ ### Delete Confirmation
20
+ Safe repository deletion with two-step confirmation process.
21
+
22
+ <img src="docs/demo_delete_confirmation.png" alt="Delete confirmation dialog with security prompts" width="800">
23
+
24
+ </div>
25
+
5
26
  ## Quick Start
6
27
 
7
28
  ```bash
8
- # Run with npx (no installation required)
9
- npx gh-manager-cli
29
+ # Run with npx (no install)
30
+ npx gh-manager
10
31
  ```
11
32
 
12
33
  On first run, you'll be prompted for a GitHub Personal Access Token.
@@ -20,13 +41,14 @@ On first run, you'll be prompted for a GitHub Personal Access Token.
20
41
  - **Real-time Sorting**: Server-side sorting by updated, pushed, name, or stars (with direction toggle)
21
42
  - **Smart Filtering**: Client-side search through repository names and descriptions
22
43
  - **Repository Actions**:
23
- - Open in browser (Enter/`o`)
24
- - Delete repository (`Del`/Backspace) with secure two-step confirmation
25
- - Archive/unarchive repositories (`a`) with confirmation prompts
44
+ - Open in browser (Enter/`O`)
45
+ - Delete repository (`Del` or `Ctrl+Backspace`) with secure two-step confirmation
46
+ - Archive/unarchive repositories (`Ctrl+A`) with confirmation prompts
47
+ - Sync forks with upstream (`Ctrl+U`) with automatic conflict detection
26
48
 
27
49
  ### User Interface & Experience
28
- - **Keyboard Navigation**: Full keyboard control (arrow keys, PageUp/Down, `g`/`G`)
29
- - **Display Density**: Toggle between compact/cozy/comfy spacing (`t`)
50
+ - **Keyboard Navigation**: Full keyboard control (arrow keys, PageUp/Down, `Ctrl+G`/`G`)
51
+ - **Display Density**: Toggle between compact/cozy/comfy spacing (`T`)
30
52
  - **Visual Indicators**: Fork status, private/archived badges, language colors
31
53
  - **Loading States**: Contextual loading screens for sorting and refreshing operations
32
54
  - **Rate Limit Monitoring**: Live API usage display with visual warnings
@@ -45,11 +67,7 @@ On first run, you'll be prompted for a GitHub Personal Access Token.
45
67
  Run instantly without installing:
46
68
 
47
69
  ```bash
48
- # From NPM registry (clean, fast)
49
- npx gh-manager-cli
50
-
51
- # From GitHub (always latest)
52
- npx github:wiiiimm/gh-manager-cli
70
+ npx gh-manager
53
71
  ```
54
72
 
55
73
  ### NPM Global Install
@@ -128,6 +146,7 @@ Launch the app, then use the keys below:
128
146
  - Confirm: press `Y` or Enter
129
147
  - Cancel: press `C` or Esc
130
148
  - Archive/Unarchive: `Ctrl+A`
149
+ - Sync fork with upstream: `Ctrl+U` (for forks only, shows commit status and handles conflicts)
131
150
  - Logout: `Ctrl+L`
132
151
  - Toggle fork metrics: `F`
133
152
  - Quit: `Q`
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ var require_package = __commonJS({
9
9
  "package.json"(exports, module) {
10
10
  module.exports = {
11
11
  name: "gh-manager-cli",
12
- version: "1.4.1",
12
+ version: "1.5.0",
13
13
  private: false,
14
14
  description: "Interactive CLI to manage your GitHub repos (personal) with Ink",
15
15
  license: "MIT",
@@ -252,6 +252,7 @@ async function fetchViewerReposPage(client, first, after, orderBy, includeForkTr
252
252
  parent {
253
253
  nameWithOwner
254
254
  defaultBranchRef {
255
+ name
255
256
  target {
256
257
  ... on Commit {
257
258
  history(first: 0) {
@@ -262,6 +263,7 @@ async function fetchViewerReposPage(client, first, after, orderBy, includeForkTr
262
263
  }
263
264
  }
264
265
  defaultBranchRef {
266
+ name
265
267
  target {
266
268
  ... on Commit {
267
269
  history(first: 0) {
@@ -272,7 +274,9 @@ async function fetchViewerReposPage(client, first, after, orderBy, includeForkTr
272
274
  }` : `
273
275
  parent {
274
276
  nameWithOwner
275
- }`}
277
+ }
278
+ defaultBranchRef { name }
279
+ `}
276
280
  }
277
281
  }
278
282
  }
@@ -677,7 +681,8 @@ function RepoList({ token, maxVisibleRows, onLogout }) {
677
681
  try {
678
682
  setSyncing(true);
679
683
  const [owner, repo] = syncTarget.nameWithOwner.split("/");
680
- const result = await syncForkWithUpstream(token, owner, repo);
684
+ const branchName = syncTarget.defaultBranchRef?.name || "main";
685
+ const result = await syncForkWithUpstream(token, owner, repo, branchName);
681
686
  setItems((prev) => prev.map((r) => {
682
687
  if (r.id === syncTarget.id && r.parent && r.defaultBranchRef?.target?.history && r.parent.defaultBranchRef?.target?.history) {
683
688
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gh-manager-cli",
3
- "version": "1.4.1",
3
+ "version": "1.5.0",
4
4
  "private": false,
5
5
  "description": "Interactive CLI to manage your GitHub repos (personal) with Ink",
6
6
  "license": "MIT",