github-search-cli 9.5.1 → 9.6.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
@@ -6,6 +6,59 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Publish
6
6
 
7
7
  ---
8
8
 
9
+ ## [9.6.0] — 2026-09-18 (released)
10
+
11
+ ### Added
12
+
13
+ - **MCP server (beta)** (`ghfind mcp`) — ghfind now speaks the
14
+ [Model Context Protocol](https://modelcontextprotocol.io): any MCP client
15
+ (Claude Code, Cursor, Codex, …) can call GitHub search as tools over stdio.
16
+ Zero new dependencies — the server is a small JSON-RPC 2.0 layer over the
17
+ existing modules. Nine tools: `ghfind_search_repos`, `ghfind_trending`,
18
+ `ghfind_npm_packages`, `ghfind_org_profile`, `ghfind_user_profile`,
19
+ `ghfind_compare_repos`, `ghfind_deep_dive`, `ghfind_bookmarked_releases`,
20
+ and `ghfind_skill`. Implements the 2025-06-18 lifecycle (initialize →
21
+ initialized notification → operation), speaks 2025-06-18 / 2025-03-26 /
22
+ 2024-11-05, reports tool failures as `isError` results per spec, and logs
23
+ agent searches into the TUI history. `ghfind mcp --token <t>` pins a token;
24
+ otherwise config/`GITHUB_TOKEN` applies.
25
+ - **Agent skill (beta)** (`ghfind skill [name]`) — a token-efficient CLI usage guide
26
+ for coding agents (search syntax, flags, rate limits, token-efficiency
27
+ tips) so they stop parsing `--help`. Bare `ghfind skill` lists the catalog;
28
+ the registry (`src/agent-skill.ts`) is generic, so third parties can
29
+ register their own skills alongside the built-in `ghfind-cli` one.
30
+ - **Trending language filter** — `SearchOptions.trendingLanguage` and the
31
+ `ghfind_trending` MCP tool accept a github.com/trending language slug
32
+ (`rust`, `python`, …); `buildTrendingUrl` validates against the known
33
+ language list and drops unknown slugs instead of scraping an error page.
34
+ - **`NO_COLOR` support** — `ghfind --doctor` no longer emits ANSI color
35
+ codes when `NO_COLOR` is set (any value, per
36
+ [no-color.org](https://no-color.org/)) or when stdout is not a TTY.
37
+ - **curl installer** (`scripts/install.sh`) — downloads the standalone
38
+ binary for the detected platform from GitHub Releases, verifies it
39
+ against the release's `SHA256SUMS.txt`, installs to `~/.local/bin` or
40
+ `/usr/local/bin` (overridable with `GHFIND_INSTALL_DIR`, never needs
41
+ sudo), and prints a PATH hint when needed.
42
+ - **`SHA256SUMS.txt` on every release** — new `checksums` job in the
43
+ release workflow merges all platform binaries' checksums into one
44
+ file attached to the GitHub Release; the curl installer and package
45
+ maintainers verify against it.
46
+ - **Community health files** — `SECURITY.md` (private vulnerability
47
+ reporting), `CODE_OF_CONDUCT.md` (Contributor Covenant 2.1), and
48
+ `SUPPORT.md` (routes users to `--doctor`, issues, and discussions).
49
+
50
+ ### Fixed
51
+
52
+ - **`scripts/brew.rb` formula was stale and broken** — pointed at the
53
+ wrong repo (`frank/search-cli`), version 0.1.0, and `search-cli-*`
54
+ asset names that never matched the release artifacts. Now targets
55
+ `codersdfs/search-cli` releases with the correct `ghfind-*` asset
56
+ names (plus linux-arm64), a livecheck block, and a version-pinning
57
+ test. Still a template: SHA256 placeholders are filled from
58
+ `SHA256SUMS.txt` when the tap lands.
59
+
60
+ ---
61
+
9
62
  ## [9.5.1] — 2026-09-15
10
63
 
11
64
  ### Fixed
package/README.md CHANGED
@@ -26,6 +26,14 @@
26
26
  npm install -g github-search-cli
27
27
  ```
28
28
 
29
+ Or via the **curl installer** (Linux/macOS — downloads the standalone
30
+ binary, verifies its SHA256 against the release checksums, no Node
31
+ needed):
32
+
33
+ ```bash
34
+ curl -fsSL https://raw.githubusercontent.com/codersdfs/search-cli/main/scripts/install.sh | sh
35
+ ```
36
+
29
37
  Or grab a **standalone binary** (no Node.js needed) from [GitHub Releases](https://github.com/codersdfs/search-cli/releases) — `ghfind-<os>-<arch>` executables for Linux, macOS, and Windows.
30
38
 
31
39
  ## Why ghfind?
@@ -86,6 +94,40 @@ ghfind --compare a/b c/d # side-by-side comparison
86
94
  ghfind pkg "query" --json # npm package search as JSON
87
95
  ```
88
96
 
97
+ ## Use with AI agents
98
+
99
+ ghfind speaks the [Model Context Protocol](https://modelcontextprotocol.io) —
100
+ any MCP client (Claude Code, Cursor, Codex, …) can call its GitHub search
101
+ as tools:
102
+
103
+ ```bash
104
+ claude mcp add ghfind -- ghfind mcp
105
+ ```
106
+
107
+ or in your MCP client config:
108
+
109
+ ```json
110
+ {
111
+ "mcpServers": {
112
+ "ghfind": { "command": "ghfind", "args": ["mcp"] }
113
+ }
114
+ }
115
+ ```
116
+
117
+ Exposed tools: `ghfind_search_repos`, `ghfind_trending`,
118
+ `ghfind_npm_packages`, `ghfind_org_profile`, `ghfind_user_profile`,
119
+ `ghfind_compare_repos`, `ghfind_deep_dive`, `ghfind_bookmarked_releases`,
120
+ and `ghfind_skill` (a token-efficient CLI usage guide for agents).
121
+ Unauthenticated requests are rate-limited to 60/hr — set `GITHUB_TOKEN`
122
+ in the environment for 5,000/hr.
123
+
124
+ CLI-first agents can skip MCP entirely:
125
+
126
+ ```bash
127
+ ghfind skill # list agent skills
128
+ ghfind skill ghfind-cli # print the token-efficient CLI guide
129
+ ```
130
+
89
131
  ### Completions
90
132
 
91
133
  ```bash
@@ -117,6 +159,8 @@ ghfind --completion fish | source
117
159
  <tr><td><b>Graph</b></td><td>Space → Activity graph — commit chart, fullscreen toggle</td></tr>
118
160
  <tr><td><b>Help</b></td><td><code>?</code> / <code>Ctrl+H</code> — keybindings reference</td></tr>
119
161
  <tr><td><b>Watch</b></td><td><code>--watch</code> — poll for new results</td></tr>
162
+ <tr><td><b>MCP server</b></td><td><code>ghfind mcp</code> — GitHub search as tools for AI agents (Claude Code, Cursor, …)</td></tr>
163
+ <tr><td><b>Agent skill</b></td><td><code>ghfind skill</code> — token-efficient CLI usage guide for coding agents</td></tr>
120
164
  </table>
121
165
 
122
166
  <details>
@@ -224,7 +268,7 @@ Prefix with `-` to exclude. Supported: `language`, `stars`, `fork`, `archived`,
224
268
  }
225
269
  ```
226
270
 
227
- Env: `GITHUB_TOKEN`, `GHFIND_CONFIG`, `XDG_CONFIG_HOME`, `XDG_STATE_HOME`
271
+ Env: `GITHUB_TOKEN`, `GHFIND_CONFIG`, `XDG_CONFIG_HOME`, `XDG_STATE_HOME`, `NO_COLOR` (disables colored `--doctor` output, per [no-color.org](https://no-color.org/))
228
272
 
229
273
  ---
230
274
 
@@ -237,14 +281,14 @@ cd ghfind
237
281
  # With Bun (recommended for TUI)
238
282
  bun install
239
283
  bun start # TUI
240
- bun test # 295 tests
284
+ bun test # 335 tests
241
285
  bun run check # format check + tests — the green gate
242
286
  bun run build # build dist/
243
287
 
244
288
  # Or with npm
245
289
  npm install
246
290
  npm start # TUI (requires Node 20+)
247
- npm test # 295 tests
291
+ npm test # 335 tests
248
292
  npm run build # build dist/
249
293
 
250
294
  > Want to contribute? See [CONTRIBUTING.md](CONTRIBUTING.md) for commands,
@@ -257,6 +301,14 @@ npm run build # build dist/
257
301
 
258
302
  Recent releases (full history in [CHANGELOG.md](CHANGELOG.md)):
259
303
 
304
+ ### v9.6.0
305
+
306
+ - **MCP server (beta)** — `ghfind mcp` turns ghfind into a tool server: Claude Code, Cursor, Codex, and any MCP client can call GitHub search over stdio (nine tools, no new dependencies)
307
+ - **Agent skill (beta)** — `ghfind skill` gives coding agents a token-efficient usage guide; `ghfind trending` accepts a language filter (`ghfind trending rust`)
308
+ - **curl installer** — `curl -fsSL https://raw.githubusercontent.com/codersdfs/search-cli/main/scripts/install.sh | sh` downloads the standalone binary and verifies it against the release's `SHA256SUMS.txt`
309
+ - **`NO_COLOR` support** — `ghfind --doctor` drops ANSI colors when `NO_COLOR` is set or stdout isn't a TTY
310
+ - Fixed the stale `scripts/brew.rb` formula (wrong repo, version, and asset names)
311
+
260
312
  ### v9.5.1
261
313
 
262
314
  - Fixed landing-screen keys leaking into the main view — `/`, `Space`, `t`, `c`, `?`, `q` all double-fired; `b` on the landing screen now opens Bookmarks
@@ -268,12 +320,6 @@ Recent releases (full history in [CHANGELOG.md](CHANGELOG.md)):
268
320
  - Supports `--json`, `--csv`, `--markdown`, `--count`, `--limit`, `--token`; `@` prefix accepted
269
321
  - Fixed `ghfind org` mangling multi-word names with dashes
270
322
 
271
- ### v9.3.0
272
-
273
- - Fixed `c` keybinding in TUI not adding repos to comparison — a missing closing brace in the space-key handler broke every later key handler (`c`, `t`, `?`)
274
- - README viewer renders full markdown (headings, code blocks, lists, tables, blockquotes, rules) instead of stripping formatting
275
- - Widened compare table columns (min 35 chars), added Description + URL rows, and raised the topic cap to 5 per repo
276
-
277
323
  ---
278
324
 
279
325
  ## License
@@ -7,7 +7,7 @@ _ghfind() {
7
7
  cur="${COMP_WORDS[COMP_CWORD]}"
8
8
  prev="${COMP_WORDS[COMP_CWORD-1]}"
9
9
 
10
- opts="--json --csv --markdown --count --limit --sort --token --trending --since --pipe --format --registry --watch --interval --version --help --completion pkg login init doctor org"
10
+ opts="--json --csv --markdown --count --limit --sort --token --trending --since --pipe --format --registry --watch --interval --version --help --completion pkg login init doctor org mcp skill"
11
11
 
12
12
  case "${prev}" in
13
13
  --sort)
@@ -20,4 +20,4 @@ complete -c ghfind -l version -d "Print version"
20
20
  complete -c ghfind -l help -d "Print help"
21
21
  complete -c ghfind -l completion -d "Shell" -r -f -a "bash zsh fish"
22
22
 
23
- complete -c ghfind -f -a "login init doctor org pkg"
23
+ complete -c ghfind -f -a "login init doctor org pkg mcp skill"
@@ -28,6 +28,8 @@ _ghfind() {
28
28
  'doctor[Environment diagnostics]'
29
29
  'org[Org profile]:org name:'
30
30
  'pkg[Search packages]:query:'
31
+ 'mcp[Run the MCP server for AI agents (stdio)]'
32
+ 'skill[Print an agent skill guide]:skill name:'
31
33
  )
32
34
  _arguments "${opts[@]}" '*:query:'
33
35
  }