githits 0.5.4 → 0.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.plugin/plugin.json +1 -1
- package/README.md +241 -169
- package/dist/cli.js +43 -22
- package/dist/index.js +1 -1
- package/dist/shared/{chunk-358c99rp.js → chunk-k46nakj5.js} +1 -1
- package/dist/shared/{chunk-rmvae0wc.js → chunk-rjj92ckh.js} +1 -1
- package/dist/shared/{chunk-z45dnmm3.js → chunk-ttm0y8wk.js} +2 -2
- package/gemini-extension.json +1 -1
- package/package.json +13 -8
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/claude/skills/githits-mcp/SKILL.md +32 -0
- package/plugins/claude/skills/onboarding/SKILL.md +2 -0
- package/skills/githits-mcp/SKILL.md +32 -0
- package/skills/githits-onboarding/SKILL.md +3 -1
package/.plugin/plugin.json
CHANGED
package/README.md
CHANGED
|
@@ -1,273 +1,345 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="./github-githits.png" alt="GitHits" width="100%" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">GitHits CLI</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
Version-aware open-source context for agentic software development.
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://www.npmjs.com/package/githits"><img alt="npm version" src="https://img.shields.io/npm/v/githits.svg"></a>
|
|
13
|
+
<a href="https://www.npmjs.com/package/githits"><img alt="npm downloads" src="https://img.shields.io/npm/dm/githits.svg"></a>
|
|
14
|
+
<a href="https://github.com/githits-com/githits-cli/actions/workflows/main.yml"><img alt="Main" src="https://github.com/githits-com/githits-cli/actions/workflows/main.yml/badge.svg"></a>
|
|
15
|
+
<a href="https://github.com/githits-com/githits-cli/blob/main/LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache--2.0-blue.svg"></a>
|
|
16
|
+
<a href="https://www.npmjs.com/package/githits"><img alt="Node" src="https://img.shields.io/node/v/githits.svg"></a>
|
|
17
|
+
<a href="https://modelcontextprotocol.io/"><img alt="MCP" src="https://img.shields.io/badge/MCP-enabled-5C4EE5"></a>
|
|
18
|
+
<a href="https://skills.sh/githits-com/githits-cli"><img alt="skills.sh" src="https://skills.sh/b/githits-com/githits-cli"></a>
|
|
19
|
+
</p>
|
|
20
|
+
|
|
21
|
+
<p align="center">
|
|
22
|
+
<a href="https://githits.com">Website</a> ·
|
|
23
|
+
<a href="https://docs.githits.com">Documentation</a> ·
|
|
24
|
+
<a href="https://github.com/githits-com/githits-cli/issues">Issues</a>
|
|
25
|
+
</p>
|
|
26
|
+
|
|
27
|
+
GitHits connects AI coding agents to public open-source evidence across the
|
|
28
|
+
full software development lifecycle: discovery, planning, research,
|
|
29
|
+
implementation, debugging, and maintenance.
|
|
30
|
+
|
|
31
|
+
The CLI runs a local [MCP](https://modelcontextprotocol.io/) server that your
|
|
32
|
+
coding tool starts on demand. Agents can then search indexed package and
|
|
33
|
+
repository source, read exact files and documentation pages, inspect package
|
|
34
|
+
health, compare dependency upgrades, and find source-cited examples from real
|
|
35
|
+
open-source projects when model knowledge and local repository context are not
|
|
36
|
+
enough.
|
|
6
37
|
|
|
7
38
|
## Quick Start
|
|
8
39
|
|
|
9
40
|
```sh
|
|
10
|
-
npx githits init
|
|
41
|
+
npx githits@latest init
|
|
11
42
|
```
|
|
12
43
|
|
|
13
|
-
`init`
|
|
14
|
-
|
|
15
|
-
Supported tools: Claude Code, Cursor, Windsurf, VS Code / Copilot, Cline, Claude Desktop, Codex CLI, Pi, Gemini CLI, Google Antigravity, OpenCode, and Hermes Agent.
|
|
44
|
+
`init` signs you in, detects supported coding tools, and configures the local
|
|
45
|
+
GitHits MCP server for the tools you select.
|
|
16
46
|
|
|
17
|
-
|
|
47
|
+
Automatic setup currently supports Claude Code, Cursor, Windsurf,
|
|
48
|
+
VS Code / Copilot, Cline, Claude Desktop, Codex CLI, Pi, Gemini CLI,
|
|
49
|
+
Google Antigravity, OpenCode, Hermes Agent, Zed, Junie, Qwen Code,
|
|
50
|
+
Kiro, Kilo Code, Factory Droid, and Amazon Q CLI.
|
|
18
51
|
|
|
19
|
-
|
|
52
|
+
After setup, open your coding agent and work normally. Many agents call GitHits
|
|
53
|
+
when they need source-backed context. If your agent starts guessing, prompt it
|
|
54
|
+
directly:
|
|
20
55
|
|
|
21
|
-
|
|
56
|
+
```text
|
|
57
|
+
Use GitHits Code Navigation to inspect npm:express. Find how middleware
|
|
58
|
+
errors are handled, read the relevant source, and explain the fix before
|
|
59
|
+
editing code.
|
|
60
|
+
```
|
|
22
61
|
|
|
23
|
-
|
|
24
|
-
- `.claude-plugin/plugin.json` (Claude Code compatibility)
|
|
25
|
-
- `.claude-plugin/marketplace.json` (Claude Code marketplace catalog)
|
|
26
|
-
- `.mcp.json` (Open Plugin MCP server config for plugin hosts)
|
|
27
|
-
- `plugins/claude/` (Claude plugin runtime payload: `.claude-plugin/plugin.json`, `.mcp.json`, `skills/`, and `commands/`)
|
|
62
|
+
## What GitHits Adds
|
|
28
63
|
|
|
29
|
-
|
|
30
|
-
|
|
64
|
+
GitHits is designed for the point where an agent needs evidence from the
|
|
65
|
+
broader open-source ecosystem, not just model memory or local repo context:
|
|
31
66
|
|
|
32
|
-
|
|
67
|
+
| Capability | MCP tools | CLI commands |
|
|
68
|
+
|---|---|---|
|
|
69
|
+
| Code examples | `get_example`, `search_language` | `githits example`, `githits languages` |
|
|
70
|
+
| Code navigation | `search`, `search_status`, `code_files`, `code_read`, `code_grep` | `githits search`, `githits search-status`, `githits code ...` |
|
|
71
|
+
| Documentation access | `docs_list`, `docs_read` | `githits docs ...` |
|
|
72
|
+
| Package inspection | `pkg_info`, `pkg_vulns`, `pkg_deps`, `pkg_changelog`, `pkg_upgrade_review` | `githits pkg ...` |
|
|
73
|
+
| Feedback | `feedback` | `githits feedback` |
|
|
33
74
|
|
|
34
|
-
|
|
75
|
+
Use GitHits when your agent needs to:
|
|
35
76
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
77
|
+
- discover, plan, or research how OSS projects solve a vague issue or unfamiliar error
|
|
78
|
+
- find broad prior art or rare needle-in-the-haystack examples across repositories
|
|
79
|
+
- inspect source, tests, symbols, or docs for a known package or repository
|
|
80
|
+
- verify how a dependency actually behaves before changing code
|
|
81
|
+
- debug stack traces that point into third-party code
|
|
82
|
+
- review package health, licenses, vulnerabilities, dependencies, and changelogs
|
|
83
|
+
- compare dependency upgrades using factual evidence
|
|
40
84
|
|
|
41
|
-
|
|
42
|
-
next `claude` launch.
|
|
85
|
+
## Examples
|
|
43
86
|
|
|
44
|
-
|
|
87
|
+
Find prior art across open source:
|
|
45
88
|
|
|
46
89
|
```sh
|
|
47
|
-
|
|
48
|
-
/plugin install githits@githits-plugins
|
|
90
|
+
npx githits@latest example "HTTP retries with exponential backoff in Python"
|
|
49
91
|
```
|
|
50
92
|
|
|
51
|
-
|
|
52
|
-
plugin is not immediately available.
|
|
53
|
-
|
|
54
|
-
For unpublished/local testing of this repository:
|
|
93
|
+
Search indexed code, docs, and symbols for a dependency:
|
|
55
94
|
|
|
56
95
|
```sh
|
|
57
|
-
|
|
58
|
-
|
|
96
|
+
npx githits@latest search "router middleware" --in npm:express
|
|
97
|
+
npx githits@latest search '"body parser" OR multer' --in npm:express --source docs
|
|
98
|
+
npx githits@latest search "debounce" --in npm:lodash --source symbol
|
|
59
99
|
```
|
|
60
100
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
For unpublished/local testing, install from your local repository path and verify behavior in your host before publishing.
|
|
64
|
-
|
|
65
|
-
In Claude Code, run `/mcp` and confirm `plugin:githits:githits` is listed for the plugin path.
|
|
66
|
-
|
|
67
|
-
Note: when running Claude in this repository directory, root `.mcp.json` can also register `githits` for project-level MCP. For plugin-only attribution during testing, run Claude from a different working directory.
|
|
68
|
-
|
|
69
|
-
**Gemini CLI extension install**
|
|
101
|
+
Read and grep dependency source without cloning:
|
|
70
102
|
|
|
71
103
|
```sh
|
|
72
|
-
|
|
104
|
+
npx githits@latest code files npm:express lib
|
|
105
|
+
npx githits@latest code read npm:express lib/router/index.js --lines 120-200
|
|
106
|
+
npx githits@latest code grep npm:express "router.use" lib --regex
|
|
73
107
|
```
|
|
74
108
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
### Agent Coverage
|
|
109
|
+
Inspect package health and upgrade evidence:
|
|
78
110
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
111
|
+
```sh
|
|
112
|
+
npx githits@latest pkg info npm:express
|
|
113
|
+
npx githits@latest pkg vulns npm:lodash@4.17.20 --severity high
|
|
114
|
+
npx githits@latest pkg deps npm:express@4.18.2 --depth 2
|
|
115
|
+
npx githits@latest pkg changelog npm:express --from 4.18.2 --to 5.2.1
|
|
116
|
+
npx githits@latest pkg upgrade-review npm:zod@4.3.6 --to 4.4.3
|
|
117
|
+
```
|
|
86
118
|
|
|
87
|
-
|
|
119
|
+
Browse and read package documentation:
|
|
88
120
|
|
|
89
|
-
|
|
121
|
+
```sh
|
|
122
|
+
npx githits@latest docs list npm:express
|
|
123
|
+
npx githits@latest docs read <page-id> --lines 20-80
|
|
124
|
+
```
|
|
90
125
|
|
|
91
|
-
|
|
126
|
+
## Supported Sources
|
|
92
127
|
|
|
93
|
-
|
|
94
|
-
|---|---|
|
|
95
|
-
| `get_example` | Find canonical code examples by describing what you need in natural language |
|
|
96
|
-
| `search_language` | Look up supported programming language names |
|
|
97
|
-
| `feedback` | Submit result or session feedback to improve future quality |
|
|
128
|
+
GitHits works with package and repository targets such as:
|
|
98
129
|
|
|
99
|
-
|
|
130
|
+
- package specs: `npm:react`, `npm:react@18.2.0`, `pypi:requests`, `crates:serde`
|
|
131
|
+
- GitHub repos: `https://github.com/expressjs/express`, `github:expressjs/express#main`
|
|
100
132
|
|
|
101
|
-
|
|
133
|
+
Package inspection supports npm, PyPI, Hex, Crates, NuGet, Maven, Packagist,
|
|
134
|
+
RubyGems, Go, Swift, vcpkg, and Zig. Advisory data is unavailable for vcpkg and
|
|
135
|
+
Zig; dependency graph support varies by registry.
|
|
102
136
|
|
|
103
|
-
|
|
104
|
-
|---|---|
|
|
105
|
-
| `search` | Unified indexed search across dependency/repository code, docs, and symbols |
|
|
106
|
-
| `search_status` | Follow up a prior indexed `search` by `searchRef` |
|
|
107
|
-
| `docs_list` | Browse mixed package documentation pages |
|
|
108
|
-
| `docs_read` | Read a documentation page by page ID |
|
|
109
|
-
| `pkg_info` | Quick package triage: version, license, repository popularity, downloads, vulnerabilities |
|
|
110
|
-
| `pkg_vulns` | CVE / OSV advisories for a package or specific version, with filter echo and compact/verbose modes |
|
|
111
|
-
| `pkg_deps` | Direct dependencies, dependency groups, and optional transitive graph |
|
|
112
|
-
| `pkg_changelog` | Release notes / changelog entries for a package or GitHub repo, with compact timeline and body-preview controls |
|
|
113
|
-
| `pkg_upgrade_review` | Evidence for dependency upgrades, including vulnerabilities, changelog entries, deprecation metadata, peer changes, and dependency changes |
|
|
114
|
-
| `code_files` | Discover what files a dependency or repo contains |
|
|
115
|
-
| `code_read` | Read a dependency file by path |
|
|
116
|
-
| `code_grep` | Deterministic text grep across indexed dependency or repo files |
|
|
137
|
+
## License Filtering
|
|
117
138
|
|
|
118
|
-
|
|
139
|
+
Code example search supports license filtering:
|
|
119
140
|
|
|
120
|
-
|
|
141
|
+
- `strict` is the default and filters repositories with copyleft or undeclared licenses
|
|
142
|
+
- `custom` uses your account blocklist configured at [githits.com](https://githits.com)
|
|
143
|
+
- `yolo` disables license filtering
|
|
121
144
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
145
|
+
```sh
|
|
146
|
+
npx githits@latest example "async file reading" --lang python --license strict
|
|
147
|
+
```
|
|
125
148
|
|
|
126
149
|
## Authentication
|
|
127
150
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
### Browser Login (recommended)
|
|
151
|
+
Normal local setup is handled by:
|
|
131
152
|
|
|
132
153
|
```sh
|
|
133
|
-
npx githits
|
|
154
|
+
npx githits@latest init
|
|
134
155
|
```
|
|
135
156
|
|
|
136
|
-
|
|
157
|
+
For manual login:
|
|
137
158
|
|
|
138
|
-
|
|
159
|
+
```sh
|
|
160
|
+
npx githits@latest login
|
|
161
|
+
```
|
|
139
162
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
- `--port <port>` — use a specific port for the local callback server
|
|
163
|
+
Browser OAuth is recommended for local development. Credentials are stored in
|
|
164
|
+
the system keychain by default and refreshed automatically. Useful flags:
|
|
143
165
|
|
|
144
|
-
|
|
166
|
+
- `--no-browser` prints a login URL for SSH, containers, or headless sessions
|
|
167
|
+
- `--force` re-authenticates even if you are already logged in
|
|
168
|
+
- `--port <port>` uses a specific local callback port
|
|
145
169
|
|
|
146
|
-
For CI or environments
|
|
170
|
+
For CI or non-interactive environments, use an API token:
|
|
147
171
|
|
|
148
172
|
```sh
|
|
149
173
|
export GITHITS_API_TOKEN=ghi-your-token-here
|
|
150
174
|
```
|
|
151
175
|
|
|
152
|
-
|
|
176
|
+
Inspect auth and runtime state with:
|
|
153
177
|
|
|
154
|
-
|
|
178
|
+
```sh
|
|
179
|
+
npx githits@latest auth status
|
|
180
|
+
npx githits@latest doctor
|
|
181
|
+
```
|
|
155
182
|
|
|
156
|
-
|
|
183
|
+
See the [authentication docs](https://docs.githits.com/authentication) for
|
|
184
|
+
keychain behavior, file storage mode, CI setup, and troubleshooting.
|
|
157
185
|
|
|
158
|
-
|
|
186
|
+
## Manual MCP Setup
|
|
159
187
|
|
|
160
|
-
If your
|
|
188
|
+
If your coding tool is not auto-configured by `init`, add GitHits to its MCP
|
|
189
|
+
configuration manually:
|
|
161
190
|
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
191
|
+
```json
|
|
192
|
+
{
|
|
193
|
+
"mcpServers": {
|
|
194
|
+
"githits": {
|
|
195
|
+
"command": "npx",
|
|
196
|
+
"args": ["-y", "githits@latest", "mcp", "start"]
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
167
200
|
```
|
|
168
201
|
|
|
169
|
-
|
|
202
|
+
Your tool runs this command over stdio. No background daemon or global install
|
|
203
|
+
is required.
|
|
170
204
|
|
|
171
|
-
|
|
205
|
+
To remove configuration written by `init`:
|
|
172
206
|
|
|
173
207
|
```sh
|
|
174
|
-
|
|
208
|
+
npx githits@latest init uninstall
|
|
175
209
|
```
|
|
176
210
|
|
|
177
|
-
|
|
211
|
+
This removes GitHits MCP configuration and preserves stored credentials. Run
|
|
212
|
+
`npx githits@latest logout` separately to remove credentials.
|
|
178
213
|
|
|
179
|
-
|
|
214
|
+
## Project Setup
|
|
180
215
|
|
|
181
|
-
|
|
216
|
+
For project-local MCP config, run:
|
|
182
217
|
|
|
183
218
|
```sh
|
|
184
|
-
githits
|
|
219
|
+
npx githits@latest init --project
|
|
185
220
|
```
|
|
186
221
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
222
|
+
Project setup is available only for tools with verified project-local MCP
|
|
223
|
+
support. Project config contains no secrets, but it may be committed like other
|
|
224
|
+
tooling configuration, so review generated files before adding them to source
|
|
225
|
+
control.
|
|
190
226
|
|
|
191
|
-
|
|
227
|
+
Agent-safe non-interactive setup uses staged discovery and explicit install:
|
|
192
228
|
|
|
229
|
+
```sh
|
|
230
|
+
npx githits@latest init --detect-agents --json
|
|
231
|
+
npx githits@latest init --install-agents cursor,codex
|
|
193
232
|
```
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
233
|
+
|
|
234
|
+
## Plugin and Extension Packaging
|
|
235
|
+
|
|
236
|
+
The npm package also includes the existing plugin and extension assets used by
|
|
237
|
+
compatible hosts:
|
|
238
|
+
|
|
239
|
+
- `.plugin/plugin.json`
|
|
240
|
+
- `.claude-plugin/plugin.json`
|
|
241
|
+
- `.claude-plugin/marketplace.json`
|
|
242
|
+
- `.mcp.json`
|
|
243
|
+
- `gemini-extension.json`
|
|
244
|
+
- `GEMINI.md`
|
|
245
|
+
- `plugins/claude/`
|
|
246
|
+
- `skills/`
|
|
247
|
+
- `commands/`
|
|
248
|
+
|
|
249
|
+
For Claude Code marketplace installs:
|
|
250
|
+
|
|
251
|
+
```sh
|
|
252
|
+
claude plugin marketplace add githits-com/githits-cli
|
|
253
|
+
claude plugin install githits@githits-plugins
|
|
205
254
|
```
|
|
206
255
|
|
|
207
|
-
|
|
256
|
+
For Gemini CLI extension installs:
|
|
208
257
|
|
|
258
|
+
```sh
|
|
259
|
+
gemini extensions install https://github.com/githits-com/githits-cli
|
|
209
260
|
```
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
githits
|
|
261
|
+
|
|
262
|
+
## Command Reference
|
|
263
|
+
|
|
264
|
+
```text
|
|
265
|
+
githits init Connect GitHits to your coding agents
|
|
266
|
+
githits init uninstall Remove GitHits MCP configuration
|
|
267
|
+
githits login Sign in to your GitHits account
|
|
268
|
+
githits logout Remove stored credentials
|
|
269
|
+
githits mcp Show setup instructions or start the local MCP server
|
|
270
|
+
githits mcp start Always start the local MCP server over stdio
|
|
271
|
+
githits example Find real-world implementations from open source
|
|
272
|
+
githits languages List or filter supported programming languages
|
|
273
|
+
githits feedback Submit feedback about GitHits results
|
|
274
|
+
githits doctor Diagnose configuration and auth state
|
|
275
|
+
githits search Explore repository code, dependencies, docs, and symbols
|
|
276
|
+
githits search-status Check the status of a previous indexed search
|
|
277
|
+
githits code List, read, and grep indexed dependency source
|
|
278
|
+
githits pkg Inspect package metadata, vulnerabilities, deps, and changelogs
|
|
279
|
+
githits docs Browse and read package documentation
|
|
280
|
+
githits auth Manage authentication
|
|
281
|
+
githits auth status Show authentication status
|
|
215
282
|
```
|
|
216
283
|
|
|
284
|
+
Full CLI reference: https://docs.githits.com/cli/commands
|
|
285
|
+
|
|
217
286
|
## Environment Variables
|
|
218
287
|
|
|
288
|
+
Most users do not need environment variables. These are the common overrides for
|
|
289
|
+
CI, auth storage, and local diagnostics:
|
|
290
|
+
|
|
219
291
|
| Variable | Purpose | Default |
|
|
220
292
|
|---|---|---|
|
|
221
|
-
| `GITHITS_API_TOKEN` | API token for authentication |
|
|
222
|
-
| `GITHITS_AUTH_STORAGE` | Override OAuth storage mode
|
|
223
|
-
| `
|
|
224
|
-
| `
|
|
225
|
-
| `GITHITS_CODE_NAV_URL` | Override package/source service URL | `https://pkgseer.dev` |
|
|
226
|
-
| `GITHITS_TELEMETRY` | Emit end-of-run timing spans to stderr for local profiling | — |
|
|
227
|
-
| `GITHITS_DISABLE_UPDATE_CHECK` | Disable npm latest-version update notices | — |
|
|
228
|
-
|
|
229
|
-
## Manual Setup
|
|
230
|
-
|
|
231
|
-
If your tool is not in the supported `githits init` list, configure GitHits manually.
|
|
293
|
+
| `GITHITS_API_TOKEN` | API token for authentication | unset |
|
|
294
|
+
| `GITHITS_AUTH_STORAGE` | Override OAuth storage mode: `keychain` or `file` | `keychain` |
|
|
295
|
+
| `GITHITS_DISABLE_UPDATE_CHECK` | Disable npm latest-version update notices | unset |
|
|
296
|
+
| `GITHITS_TELEMETRY` | Emit local timing diagnostics to stderr | unset |
|
|
232
297
|
|
|
233
|
-
|
|
298
|
+
Full reference: https://docs.githits.com/cli/environment-variables
|
|
234
299
|
|
|
235
|
-
|
|
300
|
+
## Source Layout
|
|
236
301
|
|
|
237
|
-
|
|
238
|
-
npx -y githits@latest mcp start
|
|
239
|
-
```
|
|
302
|
+
This repository contains the GitHits CLI and reusable MCP package:
|
|
240
303
|
|
|
241
|
-
|
|
304
|
+
- `src/` - CLI commands, local auth, setup flows, and local MCP stdio startup
|
|
305
|
+
- `packages/mcp/` - public `@githits/mcp` package for transport-neutral MCP
|
|
306
|
+
server APIs, tool registration, instructions, and smoke-test helpers
|
|
307
|
+
- `packages/core-internal/` - shared workspace implementation used by the CLI
|
|
308
|
+
and MCP package
|
|
309
|
+
- `docs/` - implementation notes and contributor guidelines
|
|
310
|
+
- `scripts/` - package validation, smoke tests, and development utilities
|
|
242
311
|
|
|
243
|
-
|
|
244
|
-
{
|
|
245
|
-
"mcpServers": {
|
|
246
|
-
"githits": {
|
|
247
|
-
"command": "npx",
|
|
248
|
-
"args": ["-y", "githits@latest", "mcp", "start"]
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
```
|
|
312
|
+
## Development
|
|
253
313
|
|
|
254
|
-
|
|
314
|
+
Requirements:
|
|
255
315
|
|
|
256
|
-
|
|
316
|
+
- Node.js `^20.12.0 || >=22.13.0`
|
|
317
|
+
- Bun
|
|
257
318
|
|
|
258
|
-
|
|
319
|
+
Common commands:
|
|
259
320
|
|
|
260
321
|
```sh
|
|
322
|
+
bun install
|
|
323
|
+
bun run dev --help
|
|
324
|
+
bun test
|
|
325
|
+
bun run typecheck
|
|
261
326
|
bun run build
|
|
262
|
-
npm link
|
|
263
|
-
githits --version
|
|
264
327
|
```
|
|
265
328
|
|
|
266
|
-
|
|
329
|
+
When changing MCP tools, CLI commands, shared formatters, auth/error envelopes,
|
|
330
|
+
or MCP/CLI parity behavior, also run the relevant smoke suites:
|
|
267
331
|
|
|
268
|
-
|
|
332
|
+
```sh
|
|
333
|
+
bun run smoke:mcp
|
|
334
|
+
bun run smoke:cli
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
When changing MCP instructions, tool descriptions, or agent-facing behavior,
|
|
338
|
+
use the targeted agent evals described in `eval/agentic/README.md`:
|
|
269
339
|
|
|
270
|
-
|
|
340
|
+
```sh
|
|
341
|
+
bun run agent:e2e
|
|
342
|
+
```
|
|
271
343
|
|
|
272
344
|
## License
|
|
273
345
|
|