githits 0.22.1 → 0.23.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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +4 -2
- package/.codex-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/.plugin/plugin.json +1 -1
- package/AGENTS.md +21 -0
- package/dist/cli.js +32 -24
- package/dist/index.js +1 -1
- package/dist/shared/{chunk-737pd53s.js → chunk-09ym653m.js} +148 -42
- package/dist/shared/{chunk-qjdh687v.js → chunk-4h6ejk0r.js} +1 -1
- package/dist/shared/{chunk-zged479w.js → chunk-rff2rnht.js} +1 -1
- package/gemini-extension.json +1 -1
- package/githits-icon.svg +1 -0
- package/package.json +3 -1
- package/plugin.json +1 -1
- package/server.json +2 -2
- package/skills/githits-code/SKILL.md +5 -3
- package/skills/githits-code/references/code-and-docs.md +15 -5
- package/skills/githits-onboarding/SKILL.md +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{loadAutoLoginAuthSessionMetadata2,clearAutoLoginAuthSessionMetadata2,createAuthCommandDependencies2,createLogoutCommandDependencies2,createAuthStatusDependencies2,createContainer2}from"./chunk-
|
|
1
|
+
import{loadAutoLoginAuthSessionMetadata2,clearAutoLoginAuthSessionMetadata2,createAuthCommandDependencies2,createLogoutCommandDependencies2,createAuthStatusDependencies2,createContainer2}from"./chunk-09ym653m.js";export{clearAutoLoginAuthSessionMetadata2 as clearAutoLoginAuthSessionMetadata,createAuthCommandDependencies2 as createAuthCommandDependencies,createAuthStatusDependencies2 as createAuthStatusDependencies,createContainer2 as createContainer,createLogoutCommandDependencies2 as createLogoutCommandDependencies,loadAutoLoginAuthSessionMetadata2 as loadAutoLoginAuthSessionMetadata};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var description="The code context layer for AI coding agents";var version2="0.
|
|
1
|
+
var description="The code context layer for AI coding agents";var version2="0.23.0";
|
|
2
2
|
export{description,version2};
|
package/gemini-extension.json
CHANGED
package/githits-icon.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1024 1024"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:url(#linear-gradient);}</style><linearGradient id="linear-gradient" x1="82.04" y1="992.89" x2="989.54" y2="-22.11" gradientTransform="translate(0 1024) scale(1 -1)" gradientUnits="userSpaceOnUse"><stop offset=".29" stop-color="#ff4fae"/><stop offset="1" stop-color="#ff872f"/></linearGradient></defs><g id="Layer_1-2"><rect class="cls-2" width="1024" height="1024"/><path class="cls-1" d="M793.15,498.08h-160.84v-174.61h-80.1v388.96h80.1v-137.13h160.84v137.13h80.1v-388.96h-80.1v174.61Z"/><path class="cls-1" d="M410.43,575.29h-85.87v-76.89h173.01s3.84,13.78,3.52,38.77c-.96,98.04-81.06,177.82-179.1,178.46h-1.6c-115.66,0-208.58-96.44-203.45-213.38,4.81-103.17,87.79-187.11,190.95-193.52,67.28-3.84,128.16,24.67,167.89,71.77l-55.11,55.11c-24.67-32.36-65.04-52.54-109.89-49.34-62.16,4.49-112.14,54.79-116.62,116.94-5.13,73.69,53.19,135.21,125.91,135.21s89.71-63.12,89.71-63.12h.64Z"/></g></svg>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "githits",
|
|
3
3
|
"description": "The code context layer for AI coding agents",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.23.0",
|
|
5
5
|
"mcpName": "com.githits/githits",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"workspaces": [
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"mcp.json",
|
|
19
19
|
"server.json",
|
|
20
20
|
"gemini-extension.json",
|
|
21
|
+
"githits-icon.svg",
|
|
21
22
|
"plugin.json",
|
|
22
23
|
"mcp_config.json",
|
|
23
24
|
"AGENTS.md",
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
"plugins:generate": "bun run scripts/generate-plugin-assets.ts",
|
|
54
55
|
"plugins:check": "bun run scripts/generate-plugin-assets.ts --check",
|
|
55
56
|
"audit:pkg-ecosystems": "bun run scripts/pkg-ecosystem-audit.ts",
|
|
57
|
+
"bench:list-text": "bun run scripts/list-text-size-benchmark.ts",
|
|
56
58
|
"agent:e2e": "bun run scripts/agent-eval.ts",
|
|
57
59
|
"agent:e2e:suite": "bun run scripts/agent-eval-suite.ts",
|
|
58
60
|
"agent:e2e:report": "bun run scripts/agent-eval-report.ts",
|
package/plugin.json
CHANGED
package/server.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"source": "github",
|
|
17
17
|
"id": "1165453165"
|
|
18
18
|
},
|
|
19
|
-
"version": "0.
|
|
19
|
+
"version": "0.23.0",
|
|
20
20
|
"remotes": [
|
|
21
21
|
{
|
|
22
22
|
"type": "streamable-http",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"registryType": "npm",
|
|
29
29
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
30
30
|
"identifier": "githits",
|
|
31
|
-
"version": "0.
|
|
31
|
+
"version": "0.23.0",
|
|
32
32
|
"runtimeHint": "npx",
|
|
33
33
|
"transport": {
|
|
34
34
|
"type": "stdio"
|
|
@@ -25,9 +25,9 @@ Use GitHits for evidence from real open-source code instead of guessing from mod
|
|
|
25
25
|
- Need package metadata, vulnerability/advisory status, dependency graphs, or release notes: stop and use the `githits-package` skill instead.
|
|
26
26
|
- Inspecting a known dependency or public repository: start with `githits search` scoped by `--in`.
|
|
27
27
|
- Searching an exact standalone documentation site: use `githits search "<topic>" --source docs --in site:<host[/path]>`. If the result reports suggested site targets, retry one explicitly; suggestions are advisory targets, not aliases.
|
|
28
|
-
- Need file/path enumeration: use `githits
|
|
28
|
+
- Need file/path enumeration: use `githits list <target> [paths...]`; add `--recursive` to traverse directories. Do not probe directories with `githits read`.
|
|
29
29
|
- Know the exact text to match: use `githits code grep` (literal by default). Pass `--regex` for RE2 syntax; lookaround and backreferences are unsupported. Use `githits search` for discovery.
|
|
30
|
-
- Need documentation pages: use `githits search "<topic>" --source docs --in <target>` for topic search, or `githits
|
|
30
|
+
- Need documentation pages: use `githits search "<topic>" --source docs --in <target>` for topic search, or `githits list site:<host[/path]>` to browse a hosted site. Package/repository `list` targets include their local documentation files. Read emitted targets and paths with `githits read`; `githits docs list` remains a legacy package-page browser.
|
|
31
31
|
|
|
32
32
|
## Core Commands
|
|
33
33
|
|
|
@@ -41,13 +41,14 @@ githits search '"body parser" OR multer' --in npm:express --source docs
|
|
|
41
41
|
githits search "middleware" --in site:expressjs.com --source docs
|
|
42
42
|
githits search-status <searchRef>
|
|
43
43
|
|
|
44
|
-
githits
|
|
44
|
+
githits list npm:express@5.2.1 lib/ --recursive --limit 100
|
|
45
45
|
githits read npm:express@5.2.1 lib/express.js --lines 1-90
|
|
46
46
|
githits read 'npm:express@5.2.1#Router'
|
|
47
47
|
githits read npm:express@5.2.1 --selector Router
|
|
48
48
|
githits code grep npm:express@5.2.1 "require('router')" lib/ -C 3
|
|
49
49
|
githits code grep --repo-url https://github.com/expressjs/express --git-ref v5.2.1 "require('router')" lib/
|
|
50
50
|
|
|
51
|
+
githits list site:expressjs.com --limit 20
|
|
51
52
|
githits docs list npm:express --limit 20
|
|
52
53
|
githits read <docsReadTarget>
|
|
53
54
|
githits read <docsReadTarget> --selector <heading-id>
|
|
@@ -61,6 +62,7 @@ githits read <docsReadTarget> --selector <heading-id>
|
|
|
61
62
|
- For docs reads, use the search snippet when sufficient; otherwise run its generated `followUp`. From text, pass the displayed `[docs page]` target unchanged; from `docs list`, pass `docsReadTarget`. Hosted/crawled HTTP(S) targets address mutable current content, so automatic follow-ups forward the exact URL or fragment without search bounds. A fragment returns its heading and full subtree through the next equal-or-higher heading. Use `--selector <heading-id>` for a known logical heading ID without a URL fragment. Repository docs remain snapshot-addressed and keep returned ranges. Add `--lines` only when intentionally selecting a current page range; either bound replaces heading selection. Historical `pageId` works. Use `--json` only for required range/source metadata.
|
|
62
63
|
- For multi-step code/docs investigations, keep raw CLI output out of the final answer unless it is the evidence the user needs.
|
|
63
64
|
- Reuse returned targets, paths, locators, references, and ranges; never invent them. Cite the served target and report stale/provisional evidence, truncation, and coverage limits.
|
|
65
|
+
- For a site inventory, pass the emitted `site:` target and host-relative page path separately to `githits read`. For list pagination, use `--json` to obtain `nextCursor`, then replay the same target and filters with `--after <nextCursor>`; do not edit the cursor. `list --wait` uses milliseconds.
|
|
64
66
|
- Partial and capped documentation coverage are usable published evidence. Report the disclosed limit, but infer neither indexing progress nor retryability from coverage; follow only `searchRef` and the evidence notice.
|
|
65
67
|
- Follow rendered continuation/recovery actions. Use `search-status <searchRef>` only when search explicitly supplies that follow-up; never repeat search to poll or poll a stopped reference. See `references/code-and-docs.md` for status/wait details.
|
|
66
68
|
- If discovery search returns no useful hits, do not repeat it unchanged. Follow the rendered pivots; when the query is now an exact identifier or string, switch to `githits code grep` and read the focused match because symbol discovery may not include re-exports or generated aliases.
|
|
@@ -6,7 +6,7 @@ Package target syntax requires an explicit registry: `registry:name@version`, fo
|
|
|
6
6
|
|
|
7
7
|
`githits search "<query>" --in <target>` searches indexed dependency code, docs, symbols, and exact standalone documentation sites. Repeat `--in` for multiple targets. Use `--source code`, `--source docs`, or `--source symbol` to force a source; omit it for auto-routing. For a standalone site, pass `--source docs --in site:<host[/path]>`.
|
|
8
8
|
|
|
9
|
-
Search text shows producer-proven matched source and structural documentation previews. Path-only matches render as compact file headers; they do not prove a source-content match. Follow the emitted read locator when source context is needed. JSON
|
|
9
|
+
Search text shows producer-proven matched source and structural documentation previews. Path-only matches render as compact file headers; they do not prove a source-content match. Follow the emitted read locator when source context is needed. JSON carries indexed-field provenance, matched source, semantic context, and documentation previews; retired summary, summary-highlight, content-safety, and compatibility focused-source fields are absent.
|
|
10
10
|
|
|
11
11
|
Useful filters: `--kind`, `--category`, `--path-prefix`, `--intent`, `--public`, `--name`, `--lang`, `--limit`, `--offset`, `--wait`, `--allow-partial`, `--json`.
|
|
12
12
|
|
|
@@ -25,9 +25,17 @@ re-exports or generated aliases.
|
|
|
25
25
|
|
|
26
26
|
If a missing or ambiguous site returns suggested site targets, retry one of those exact labels explicitly. They are advisory, not aliases, and GitHits does not select or retry one automatically. A truncation notice means more valid candidates were omitted.
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## List
|
|
29
29
|
|
|
30
|
-
`githits
|
|
30
|
+
`githits list <target> [paths...]` browses one package source tree, repository snapshot, or explicit `site:<host[/path]>` inventory. Package/repository inventories include local documentation files; hosted documentation requires a site target. Quote glob selectors so the shell does not expand them. Add `--recursive` to traverse matched directories.
|
|
31
|
+
|
|
32
|
+
Useful flags: repeatable `--file-type`, `--language`, `--intent`, `--limit` (1-500), `--after`, `--wait` (milliseconds, 0-300000), `--silent`, `--json`. Text lists paths with direct read guidance; `--silent` emits paths only. JSON retains read/browse actions, lifecycle metadata, and `nextCursor`. Continue by replaying the same selection with the returned opaque cursor. Prefer exact emitted read actions to reconstructed locators.
|
|
33
|
+
|
|
34
|
+
`githits read <site-target> <host-relative-page-path>` reads an emitted site PAGE action, including `/` for the root. A site display path alone is not a read locator.
|
|
35
|
+
|
|
36
|
+
## Legacy Code Files
|
|
37
|
+
|
|
38
|
+
`githits code files <spec> [path-prefix]` retains its existing behavior for compatibility; prefer `githits list` for new CLI inventory calls.
|
|
31
39
|
|
|
32
40
|
Useful filters: `--path`, repeatable `--glob`, repeatable `--ext`, repeatable `--file-type`, repeatable `--language`, repeatable `--file-intent`, repeatable `--exclude-intent`, `--exclude-docs`, `--exclude-tests`, `--hidden`, `--limit`, `--wait`, `--verbose`, `--json`.
|
|
33
41
|
|
|
@@ -46,7 +54,7 @@ When grep returns no matches, do not repeat it unchanged. Change or shorten the
|
|
|
46
54
|
|
|
47
55
|
## Docs
|
|
48
56
|
|
|
49
|
-
`githits docs list <spec>`
|
|
57
|
+
`githits docs list <spec>` remains the legacy mixed package documentation-page browser. Prefer `githits list site:<host[/path]>` for hosted inventories or a package/repository `list` target for local documentation files. Neither listing command is topic search.
|
|
50
58
|
|
|
51
59
|
For `githits read <target>`, use the search snippet when sufficient; otherwise run its generated `followUp`. From text, pass the displayed `[docs page]` target unchanged; from `docs list`, pass `docsReadTarget`. Hosted/crawled HTTP(S) targets address mutable current content, so automatic follow-ups forward the exact URL or fragment without search bounds. A fragment returns its heading and full subtree through the next equal-or-higher heading. Use `--selector <heading-id>` for a known logical heading ID without a URL fragment. Repository docs remain snapshot-addressed and keep returned ranges. Add `--lines` only when intentionally selecting a current page range; either bound replaces heading selection. Historical `pageId` values remain supported. `githits docs read` remains a compatibility alias. Use `--json` only for required range/source metadata.
|
|
52
60
|
|
|
@@ -60,13 +68,15 @@ Partial and capped documentation coverage are usable published evidence. Report
|
|
|
60
68
|
- `githits search` maps to MCP `search`.
|
|
61
69
|
- `githits search-status` maps to MCP `search_status`.
|
|
62
70
|
- `githits code files` maps to MCP `code_files`.
|
|
71
|
+
- `githits list` has no unified MCP counterpart yet; MCP retains `code_files` and `docs_list`.
|
|
63
72
|
- `githits code grep` maps to MCP `code_grep`.
|
|
64
73
|
- `githits read <target> <path>` maps to MCP `read` with `target` and `path`.
|
|
65
74
|
- `githits read <target> --selector <name>` maps to MCP `read` with `target` and `selector`, optionally with `path` for code.
|
|
66
75
|
- `githits read '<target>#<symbol>'` maps to MCP `read` with the fragment in `target`, optionally with `path` for code.
|
|
67
76
|
- `githits docs list` maps to MCP `docs_list`.
|
|
68
77
|
- `githits read <docs-target>` maps to MCP `read` with `target` alone.
|
|
78
|
+
- `githits read <site-target> <host-relative-page-path>` maps to MCP `read` with `target` and `path`.
|
|
69
79
|
|
|
70
|
-
Direct repository targets accept approved full HTTPS URLs on github.com, codeberg.org, and gitlab.com. Codeberg requires exactly owner/repo; GitLab allows nested namespaces. Only GitHub supports host shorthand and HTTP compatibility. Never infer a provider from bare owner/repo. Repository refs use an @ suffix and may themselves contain / and @; # is reserved for semantic fragments. Empty refs and mixed suffixes are invalid. Credentials, queries, provider web subpaths, and unsupported/self-hosted hosts are rejected. Package targets keep registry-native coordinates, including `zig:cb/owner/repo` and `swift:gitlab.com/group/project`.
|
|
80
|
+
Direct repository targets accept approved full HTTPS URLs on github.com, codeberg.org, and gitlab.com. Codeberg requires exactly owner/repo; GitLab allows nested namespaces. Only GitHub supports host shorthand and HTTP compatibility. Never infer a provider from bare owner/repo. Repository refs use an @ suffix and may themselves contain / and @; # is reserved for semantic fragments. Empty refs and mixed suffixes are invalid. Credentials, queries, provider web subpaths, and unsupported/self-hosted hosts are rejected. Package targets keep registry-native coordinates, including `zig:cb/owner/repo` and `swift:gitlab.com/group/project`.
|
|
71
81
|
|
|
72
82
|
GitLab web paths with `/-/` or reserved routes such as `tree`, `blob`, and `raw` are rejected. Unreserved names such as `issues` can be repository path components; without a web-route marker, the client treats the complete nested path as repository identity.
|
|
@@ -22,6 +22,7 @@ a GitHits account and configure GitHits unless they explicitly say otherwise.
|
|
|
22
22
|
- Use `npx -y githits@latest ...` for every normal onboarding command. This guarantees the latest published GitHits CLI behavior for new users.
|
|
23
23
|
- Do not use a globally installed `githits` binary for onboarding unless the user explicitly asks to test a local, dev, or pinned CLI build.
|
|
24
24
|
- If the user explicitly asks for local/dev/pinned testing, preserve the command and environment they provide.
|
|
25
|
+
- For explicit development testing, `GITHITS_ENV=dev` selects CLI/local MCP service defaults and a separate login namespace; use the same environment for login and verification. Unset or `prod` uses production. URL overrides remain independent; use `GITHITS_CODE_NAV_URL` instead of the removed `PKGSEER_URL`. This selector does not reconfigure hosted MCP connections or plugin endpoints.
|
|
25
26
|
- Prefer `--json` for staged `init` commands because agents need stable fields.
|
|
26
27
|
- Do not start `npx -y githits@latest` as a background task. If `npx` fails because of network, DNS, or package-fetch errors, stop and report that GitHits CLI is unavailable.
|
|
27
28
|
|