github-search-cli 9.5.0 → 9.5.1

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
@@ -6,7 +6,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Publish
6
6
 
7
7
  ---
8
8
 
9
- ## [Unreleased]
9
+ ## [9.5.1] — 2026-09-15
10
10
 
11
11
  ### Fixed
12
12
 
@@ -20,7 +20,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Publish
20
20
  screen. Also fixed while routing keys: `b` on the landing screen now opens
21
21
  bookmarks (hint bar updated), and overlays opened from landing hide the
22
22
  menu instead of drawing on top of it.
23
-
24
23
  - **Update panel clipped the changelog** — the modal was hard-capped at 16
25
24
  rows and put the release notes in a single unsized text block, so anything
26
25
  past the first ~10 lines of the notes was invisible with no hint that more
@@ -30,10 +29,40 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Publish
30
29
  position resets each time the panel opens. The box is taller (24 rows), and
31
30
  notes render at the panel's actual width so wrapped lines no longer clip
32
31
  horizontally on narrow terminals.
32
+ - **`--help` listed `ghfind user <name>` twice** — the 9.5.0 usage block
33
+ carried a duplicated line, so the profile examples were printed twice. It
34
+ now appears once, and the `ghfind pkg` line is aligned with its neighbours.
35
+
36
+ ### Internal
37
+
38
+ - **Test isolation** — seven suites derived their temp dirs from a
39
+ `Date.now()` stamp (`tmpdir()/<name>-<ms>`), a name two concurrent
40
+ `bun test` processes can collide on, which intermittently failed
41
+ bookmarks / config / doctor / history / login / saved-searches /
42
+ update-check tests. They now use `mkdtempSync`, which is unique and
43
+ collision-proof (the pattern `tests/releases.test.ts` already used), and
44
+ the login `readGhCliToken` / `persistToken` dirs are removed after use
45
+ instead of accumulating in the temp folder.
46
+ - **Docs sync** (README ↔ `src/help.ts` ↔ `--help`): README gained
47
+ `--releases` / `--compare` / `pkg` examples plus Packages and Releases
48
+ feature rows; the TUI help screen gained the `Org profile` command-menu
49
+ entry the leader menu already had. `tests/cli-help.test.ts` pins the
50
+ `--help` usage block (no duplicate rows, one description column).
51
+ - `package-lock.json` root version synced to 9.5.1 (`bun.lock` carries no
52
+ root version), and the release workflow's manual dispatch now runs the
53
+ gate only — the GitHub Release and npm publish jobs are tag-gated, so
54
+ dispatching from a branch can't create a release on a non-tag ref.
55
+ - `--doctor` tests remove their temp config dirs after each test instead of
56
+ leaving them behind.
57
+ - **CI was red on `windows-latest`** — `tests/landing.test.ts` source-greps
58
+ `src/tui.ts` for a snippet containing `\n`, but Windows checks the tree out
59
+ with CRLF, so the assertion could never match there while every other OS
60
+ passed. The source-grep helpers now normalise line endings before
61
+ asserting; `tests/overlay-registry.test.ts` does the same.
33
62
 
34
63
  ---
35
64
 
36
- ## [9.5.0] — 2026-09-15
65
+ ## [9.5.0] — 2026-09-15 (released)
37
66
 
38
67
  ### Added
39
68
 
package/README.md CHANGED
@@ -81,6 +81,9 @@ ghfind "query" --pipe open # open in browser
81
81
  ghfind "query" --pipe clone # clone commands
82
82
  ghfind --trending --json # trending as JSON
83
83
  ghfind --watch "query" # poll every 300s
84
+ ghfind --releases # new releases for bookmarked repos
85
+ ghfind --compare a/b c/d # side-by-side comparison
86
+ ghfind pkg "query" --json # npm package search as JSON
84
87
  ```
85
88
 
86
89
  ### Completions
@@ -98,6 +101,7 @@ ghfind --completion fish | source
98
101
  <table>
99
102
  <tr><td><b>Search</b></td><td>Free-text + qualifiers (<code>language:</code>, <code>stars:</code>, <code>topic:</code>), sort by stars/updated/forks</td></tr>
100
103
  <tr><td><b>Trending</b></td><td>Today, week, month, year — filter by language</td></tr>
104
+ <tr><td><b>Packages</b></td><td>npm registry search (beta) — <code>ghfind pkg "query"</code></td></tr>
101
105
  <tr><td><b>Bookmarks</b></td><td>Space → Bookmark / Bookmarks panel — save repos, tag them</td></tr>
102
106
  <tr><td><b>Deep-dive</b></td><td>Space → Deep-dive — languages, contributors, README, activity chart</td></tr>
103
107
  <tr><td><b>Compare</b></td><td>Space → Compare select / Compare view — side-by-side, select 2+ repos</td></tr>
@@ -109,6 +113,7 @@ ghfind --completion fish | source
109
113
  <tr><td><b>Org profile</b></td><td>Space → Org profile — org summary: repos, stars, top languages (<code>ghfind org <name></code> in CLI)</td></tr>
110
114
  <tr><td><b>User profile</b></td><td>User summary like org profile — repos, stars, followers, top languages (<code>ghfind user <name></code>)</td></tr>
111
115
  <tr><td><b>Notifications</b></td><td>Space → Notifications — view & dismiss alerts</td></tr>
116
+ <tr><td><b>Releases</b></td><td><code>--releases</code> — new-release feed for bookmarked repos</td></tr>
112
117
  <tr><td><b>Graph</b></td><td>Space → Activity graph — commit chart, fullscreen toggle</td></tr>
113
118
  <tr><td><b>Help</b></td><td><code>?</code> / <code>Ctrl+H</code> — keybindings reference</td></tr>
114
119
  <tr><td><b>Watch</b></td><td><code>--watch</code> — poll for new results</td></tr>
@@ -232,14 +237,14 @@ cd ghfind
232
237
  # With Bun (recommended for TUI)
233
238
  bun install
234
239
  bun start # TUI
235
- bun test # 292 tests
240
+ bun test # 295 tests
236
241
  bun run check # format check + tests — the green gate
237
242
  bun run build # build dist/
238
243
 
239
244
  # Or with npm
240
245
  npm install
241
246
  npm start # TUI (requires Node 20+)
242
- npm test # 292 tests
247
+ npm test # 295 tests
243
248
  npm run build # build dist/
244
249
 
245
250
  > Want to contribute? See [CONTRIBUTING.md](CONTRIBUTING.md) for commands,
@@ -252,13 +257,16 @@ npm run build # build dist/
252
257
 
253
258
  Recent releases (full history in [CHANGELOG.md](CHANGELOG.md)):
254
259
 
260
+ ### v9.5.1
261
+
262
+ - Fixed landing-screen keys leaking into the main view — `/`, `Space`, `t`, `c`, `?`, `q` all double-fired; `b` on the landing screen now opens Bookmarks
263
+ - Fixed the update panel clipping the changelog — release notes are now scrollable (`↑↓`/`j`/`k`, `PgUp`/`PgDn`, `Home`/`End`) in a taller panel
264
+
255
265
  ### v9.5.0
256
266
 
257
267
  - New `ghfind user <name>` command — user profiles like `ghfind org`: repos, total stars/forks, followers, top languages, top repos
258
268
  - Supports `--json`, `--csv`, `--markdown`, `--count`, `--limit`, `--token`; `@` prefix accepted
259
269
  - Fixed `ghfind org` mangling multi-word names with dashes
260
- - Fixed landing-screen keys leaking into the main view — `/`, `Space`, `t`, `c`, `?`, `q` all double-fired; `b` on the landing screen now opens Bookmarks
261
- - Fixed the update panel clipping the changelog — release notes are now scrollable (`↑↓`/`j`/`k`, `PgUp`/`PgDn`, `Home`/`End`) in a taller panel
262
270
 
263
271
  ### v9.3.0
264
272
 
@@ -266,26 +274,6 @@ Recent releases (full history in [CHANGELOG.md](CHANGELOG.md)):
266
274
  - README viewer renders full markdown (headings, code blocks, lists, tables, blockquotes, rules) instead of stripping formatting
267
275
  - Widened compare table columns (min 35 chars), added Description + URL rows, and raised the topic cap to 5 per repo
268
276
 
269
- ### v9.2.1
270
-
271
- - npm package search (beta) and a new landing screen
272
- - Removed the bundled Bun binary — downloaded at install time instead; package size 39.5 MB → 100 KB
273
- - Postinstall failures no longer break `npm install`; `bun` dropped from engines
274
- - Fixed TUI layout on small terminals, trending visibility from the landing screen, and independent trending-tab fetches
275
-
276
- ### v9.1.1
277
-
278
- - Bundle `vendor/` and `dist/` for offline install
279
- - Postinstall exits non-zero on Bun download failure; bundled Bun 1.3.12 → 1.3.14
280
-
281
- ### v9.1.0
282
-
283
- - Automatic update checking against the npm registry, with a Y/N/L modal
284
- - Leader menu (Space) consolidating all contextual actions
285
- - Topic explorer, notifications panel, saved searches, activity graph, README viewer
286
- - Tab qualifier auto-complete, PageUp/PageDown, `Ctrl+X` clear history, `Ctrl+C` clear notifications
287
- - TUI runs on Node.js 20+ via the downloaded Bun binary
288
-
289
277
  ---
290
278
 
291
279
  ## License
package/dist/cli.js CHANGED
@@ -1376,7 +1376,7 @@ var cached = null;
1376
1376
  function getVersion() {
1377
1377
  if (cached) return cached;
1378
1378
  if (true) {
1379
- cached = "9.5.0";
1379
+ cached = "9.5.1";
1380
1380
  return cached;
1381
1381
  }
1382
1382
  try {
@@ -2659,6 +2659,10 @@ function buildHelpSections() {
2659
2659
  { keys: "Packages", action: "Switch to npm packages" },
2660
2660
  { keys: "Export", action: "Export results to file" },
2661
2661
  { keys: "Share", action: "Share repo as text" },
2662
+ {
2663
+ keys: "Org profile",
2664
+ action: "Org summary: repos, stars, top languages"
2665
+ },
2662
2666
  { keys: "Topics", action: "Browse GitHub topics" },
2663
2667
  { keys: "Saved", action: "View saved searches" },
2664
2668
  { keys: "Notifs", action: "Check GitHub notifications" },
@@ -6114,12 +6118,11 @@ Usage:
6114
6118
  ghfind <query> --pipe <target> Pipe to clone/open
6115
6119
  ghfind --trending --json Trending repos as JSON
6116
6120
  ghfind --releases Check bookmarks for new releases
6117
- ghfind --compare <repo1> <repo2> Compare two+ repos side-by-side
6121
+ ghfind --compare <r1> <r2> Compare two+ repos side-by-side
6118
6122
  ghfind org <name> --json Org profile: repos, stars, top languages
6119
6123
  ghfind user <name> --json User profile: repos, stars, top languages
6120
- ghfind user <name> --json User profile: repos, stars, top languages
6121
- ghfind pkg <query> --json Search npm packages, output JSON
6122
- ghfind pkg <query> Search npm packages, text list
6124
+ ghfind pkg <query> --json Search npm packages, output JSON
6125
+ ghfind pkg <query> Search npm packages, text list
6123
6126
  ghfind --watch <query> Watch mode (poll every Ns)
6124
6127
  ghfind init Run setup wizard
6125
6128
  ghfind login Import the gh CLI token or paste one
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-search-cli",
3
- "version": "9.5.0",
3
+ "version": "9.5.1",
4
4
  "description": "Search GitHub from your terminal — repo search, trending repos, npm package search, bookmarks, deep-dive, compare, export. Keyboard-driven TUI + pipeable CLI.",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1",
@@ -0,0 +1,36 @@
1
+ # What's New in ghfind 9.5.1
2
+
3
+ Two TUI bugs in the landing menu and the update panel, plus test-isolation work.
4
+
5
+ ### Fixed
6
+
7
+ **Landing-screen keys no longer leak into the main view**
8
+
9
+ - Pressing `/` on the landing menu focused the search input on top of it
10
+ - `Space`, `t`, `c`, `?`, and `q` all double-fired through the second key
11
+ listener — help opened and instantly closed, quit ran cleanup twice
12
+ - The landing handler now claims its keys with `stopPropagation()` via the
13
+ `landingKeysActive` / `landingConsumesKey` seam, and the global handler
14
+ ignores everything while the landing menu owns the screen
15
+ - Also fixed while routing keys: `b` on the landing screen opens bookmarks
16
+ (hint bar updated), and overlays opened from landing hide the menu instead
17
+ of drawing on top of it
18
+
19
+ **Update panel no longer clips the changelog**
20
+
21
+ - The modal was hard-capped at 16 rows with the release notes in a single
22
+ unsized text block, so anything past the first ~10 lines was invisible
23
+ - The notes area is now a scrollable region (same mechanics as the
24
+ README/org viewers): `↑↓`/`j`/`k` move a fifth of a page,
25
+ `PageUp`/`PageDown` and `Home`/`End` jump, and a scrollbar appears when
26
+ content overflows
27
+ - The panel is taller (24 rows), scroll position resets each time it opens,
28
+ and notes render at the panel's real width so wrapped lines don't clip
29
+ horizontally on narrow terminals
30
+
31
+ ### Internal
32
+
33
+ - Seven test suites built temp dirs from a `Date.now()` stamp
34
+ (`tmpdir()/<name>-<ms>`), a name two concurrent `bun test` processes can
35
+ collide on. They now use `mkdtempSync`, and the login
36
+ `readGhCliToken` / `persistToken` dirs are cleaned up after use
package/src/cli.ts CHANGED
@@ -261,12 +261,11 @@ Usage:
261
261
  ghfind <query> --pipe <target> Pipe to clone/open
262
262
  ghfind --trending --json Trending repos as JSON
263
263
  ghfind --releases Check bookmarks for new releases
264
- ghfind --compare <repo1> <repo2> Compare two+ repos side-by-side
264
+ ghfind --compare <r1> <r2> Compare two+ repos side-by-side
265
265
  ghfind org <name> --json Org profile: repos, stars, top languages
266
266
  ghfind user <name> --json User profile: repos, stars, top languages
267
- ghfind user <name> --json User profile: repos, stars, top languages
268
- ghfind pkg <query> --json Search npm packages, output JSON
269
- ghfind pkg <query> Search npm packages, text list
267
+ ghfind pkg <query> --json Search npm packages, output JSON
268
+ ghfind pkg <query> Search npm packages, text list
270
269
  ghfind --watch <query> Watch mode (poll every Ns)
271
270
  ghfind init Run setup wizard
272
271
  ghfind login Import the gh CLI token or paste one
package/src/help.ts CHANGED
@@ -82,6 +82,10 @@ export function buildHelpSections(): HelpSection[] {
82
82
  { keys: "Packages", action: "Switch to npm packages" },
83
83
  { keys: "Export", action: "Export results to file" },
84
84
  { keys: "Share", action: "Share repo as text" },
85
+ {
86
+ keys: "Org profile",
87
+ action: "Org summary: repos, stars, top languages",
88
+ },
85
89
  { keys: "Topics", action: "Browse GitHub topics" },
86
90
  { keys: "Saved", action: "View saved searches" },
87
91
  { keys: "Notifs", action: "Check GitHub notifications" },