githits 0.6.6 → 0.7.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 +21 -3
- package/.claude-plugin/plugin.json +16 -2
- package/.codex-plugin/plugin.json +42 -0
- package/.cursor-plugin/plugin.json +29 -0
- package/.mcp.json +2 -2
- package/.plugin/plugin.json +16 -2
- package/AGENTS.md +201 -0
- package/README.md +23 -6
- package/dist/cli.js +30 -24
- package/dist/index.js +1 -1
- package/dist/shared/{chunk-ffqa4bpw.js → chunk-mysf4hjt.js} +18 -3
- package/dist/shared/{chunk-pwfqg90m.js → chunk-ncsgqtj1.js} +1 -1
- package/dist/shared/{chunk-qh0kv76d.js → chunk-p8dg49ey.js} +1 -1
- package/gemini-extension.json +2 -3
- package/mcp_config.json +7 -0
- package/package.json +23 -14
- package/plugin.json +3 -0
- package/server.json +5 -2
- package/skills/githits-code/SKILL.md +10 -7
- package/skills/githits-code/references/code-and-docs.md +3 -1
- package/skills/githits-onboarding/SKILL.md +54 -10
- package/GEMINI.md +0 -83
- package/commands/example.md +0 -27
- package/commands/help.md +0 -52
- package/commands/login.md +0 -36
- package/commands/logout.md +0 -16
- package/commands/search.md +0 -27
- package/commands/status.md +0 -22
- package/plugins/claude/.claude-plugin/plugin.json +0 -12
- package/plugins/claude/.mcp.json +0 -8
- package/plugins/claude/commands/example.md +0 -27
- package/plugins/claude/commands/help.md +0 -52
- package/plugins/claude/commands/login.md +0 -36
- package/plugins/claude/commands/logout.md +0 -16
- package/plugins/claude/commands/search.md +0 -27
- package/plugins/claude/commands/status.md +0 -22
- package/plugins/claude/skills/githits-mcp/SKILL.md +0 -40
- package/plugins/claude/skills/onboarding/SKILL.md +0 -123
- package/plugins/claude/skills/search/SKILL.md +0 -44
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "The code context layer for AI coding agents",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.7.0"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "githits",
|
|
14
|
-
"
|
|
14
|
+
"version": "0.7.0",
|
|
15
15
|
"description": "The code context layer for AI coding agents",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "GitHits"
|
|
@@ -19,7 +19,25 @@
|
|
|
19
19
|
"homepage": "https://githits.com",
|
|
20
20
|
"repository": "https://github.com/githits-com/githits-cli",
|
|
21
21
|
"license": "Apache-2.0",
|
|
22
|
-
"keywords": [
|
|
22
|
+
"keywords": [
|
|
23
|
+
"githits",
|
|
24
|
+
"context layer",
|
|
25
|
+
"public open-source",
|
|
26
|
+
"open-source code",
|
|
27
|
+
"code search",
|
|
28
|
+
"package documentation",
|
|
29
|
+
"documentation search",
|
|
30
|
+
"package metadata",
|
|
31
|
+
"vulnerabilities",
|
|
32
|
+
"changelogs",
|
|
33
|
+
"dependency graphs",
|
|
34
|
+
"upgrade evidence",
|
|
35
|
+
"implementation examples"
|
|
36
|
+
],
|
|
37
|
+
"source": {
|
|
38
|
+
"source": "url",
|
|
39
|
+
"url": "https://github.com/githits-com/githits-cli.git"
|
|
40
|
+
},
|
|
23
41
|
"category": "developer-tools"
|
|
24
42
|
}
|
|
25
43
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "githits",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "The code context layer for AI coding agents",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "GitHits"
|
|
@@ -8,5 +8,19 @@
|
|
|
8
8
|
"homepage": "https://githits.com",
|
|
9
9
|
"repository": "https://github.com/githits-com/githits-cli",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
|
-
"keywords": [
|
|
11
|
+
"keywords": [
|
|
12
|
+
"githits",
|
|
13
|
+
"context layer",
|
|
14
|
+
"public open-source",
|
|
15
|
+
"open-source code",
|
|
16
|
+
"code search",
|
|
17
|
+
"package documentation",
|
|
18
|
+
"documentation search",
|
|
19
|
+
"package metadata",
|
|
20
|
+
"vulnerabilities",
|
|
21
|
+
"changelogs",
|
|
22
|
+
"dependency graphs",
|
|
23
|
+
"upgrade evidence",
|
|
24
|
+
"implementation examples"
|
|
25
|
+
]
|
|
12
26
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "githits",
|
|
3
|
+
"version": "0.7.0",
|
|
4
|
+
"description": "The code context layer for AI coding agents",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "GitHits"
|
|
7
|
+
},
|
|
8
|
+
"homepage": "https://githits.com",
|
|
9
|
+
"repository": "https://github.com/githits-com/githits-cli",
|
|
10
|
+
"license": "Apache-2.0",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"githits",
|
|
13
|
+
"context layer",
|
|
14
|
+
"public open-source",
|
|
15
|
+
"open-source code",
|
|
16
|
+
"code search",
|
|
17
|
+
"package documentation",
|
|
18
|
+
"documentation search",
|
|
19
|
+
"package metadata",
|
|
20
|
+
"vulnerabilities",
|
|
21
|
+
"changelogs",
|
|
22
|
+
"dependency graphs",
|
|
23
|
+
"upgrade evidence",
|
|
24
|
+
"implementation examples"
|
|
25
|
+
],
|
|
26
|
+
"skills": "./skills/",
|
|
27
|
+
"mcpServers": "./.mcp.json",
|
|
28
|
+
"interface": {
|
|
29
|
+
"displayName": "GitHits",
|
|
30
|
+
"shortDescription": "The code context layer for AI coding agents",
|
|
31
|
+
"longDescription": "Search public open-source code, documentation, package metadata, vulnerabilities, changelogs, dependencies, and implementation examples.",
|
|
32
|
+
"developerName": "GitHits",
|
|
33
|
+
"category": "Developer Tools",
|
|
34
|
+
"capabilities": ["Code Search", "Documentation Search", "Package Research"],
|
|
35
|
+
"websiteURL": "https://githits.com",
|
|
36
|
+
"defaultPrompt": [
|
|
37
|
+
"Use GitHits to inspect this project's open-source dependencies.",
|
|
38
|
+
"Find source-backed examples for this implementation.",
|
|
39
|
+
"Research package documentation and upgrade risks."
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "githits",
|
|
3
|
+
"version": "0.7.0",
|
|
4
|
+
"description": "The code context layer for AI coding agents",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "GitHits"
|
|
7
|
+
},
|
|
8
|
+
"homepage": "https://githits.com",
|
|
9
|
+
"repository": "https://github.com/githits-com/githits-cli",
|
|
10
|
+
"license": "Apache-2.0",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"githits",
|
|
13
|
+
"context layer",
|
|
14
|
+
"public open-source",
|
|
15
|
+
"open-source code",
|
|
16
|
+
"code search",
|
|
17
|
+
"package documentation",
|
|
18
|
+
"documentation search",
|
|
19
|
+
"package metadata",
|
|
20
|
+
"vulnerabilities",
|
|
21
|
+
"changelogs",
|
|
22
|
+
"dependency graphs",
|
|
23
|
+
"upgrade evidence",
|
|
24
|
+
"implementation examples"
|
|
25
|
+
],
|
|
26
|
+
"skills": "skills",
|
|
27
|
+
"mcpServers": ".mcp.json",
|
|
28
|
+
"logo": "github-githits.png"
|
|
29
|
+
}
|
package/.mcp.json
CHANGED
package/.plugin/plugin.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "githits",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "The code context layer for AI coding agents",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "GitHits"
|
|
@@ -8,5 +8,19 @@
|
|
|
8
8
|
"homepage": "https://githits.com",
|
|
9
9
|
"repository": "https://github.com/githits-com/githits-cli",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
|
-
"keywords": [
|
|
11
|
+
"keywords": [
|
|
12
|
+
"githits",
|
|
13
|
+
"context layer",
|
|
14
|
+
"public open-source",
|
|
15
|
+
"open-source code",
|
|
16
|
+
"code search",
|
|
17
|
+
"package documentation",
|
|
18
|
+
"documentation search",
|
|
19
|
+
"package metadata",
|
|
20
|
+
"vulnerabilities",
|
|
21
|
+
"changelogs",
|
|
22
|
+
"dependency graphs",
|
|
23
|
+
"upgrade evidence",
|
|
24
|
+
"implementation examples"
|
|
25
|
+
]
|
|
12
26
|
}
|
package/AGENTS.md
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# githits Agent Instructions
|
|
2
|
+
|
|
3
|
+
GitHits companion for the backend - provides MCP server and command-line tools for code example search.
|
|
4
|
+
|
|
5
|
+
We strive to produce high quality code that can easily be maintained. Focus is on long term development speed, not on quick wins.
|
|
6
|
+
|
|
7
|
+
This document contains the most important instructions that need to be kept always in context.
|
|
8
|
+
|
|
9
|
+
## General
|
|
10
|
+
|
|
11
|
+
- Use very concise output and neutral tone
|
|
12
|
+
- If unclear about anything or stuck, please stop and ask for clarification
|
|
13
|
+
- Always verify assumptions
|
|
14
|
+
- Don't jump into coding, plan and assess the impact first
|
|
15
|
+
- Read more detailed documentation when needed
|
|
16
|
+
- Remember your MCP tools and use them when needed
|
|
17
|
+
|
|
18
|
+
## Architecture
|
|
19
|
+
|
|
20
|
+
Philosophy: "Create architecture that is performant and easy to test"
|
|
21
|
+
|
|
22
|
+
- Focus on building structures that are performant and scalable
|
|
23
|
+
- Build architecture that is easy to test
|
|
24
|
+
- Isolate functionality into sensible small modules
|
|
25
|
+
- Follow single responsibility principle
|
|
26
|
+
- Prefer public helper modules to lots of private methods
|
|
27
|
+
- Use dependency injection for external services (REST client, etc.)
|
|
28
|
+
- Do not eagerly validate network/proxy/environment configuration while constructing command dependencies when the command has local-only or no-network paths. Defer validation until the first network operation and add regression tests for malformed env values on local paths.
|
|
29
|
+
- For MCP/agent-facing tools, avoid coupled optional flags and default-true booleans. Design schemas for real agent calls, including empty strings, empty arrays, and explicit `false` values.
|
|
30
|
+
- For GraphQL/API-backed tools, treat minimal data fetching as part of the tool contract. Before adding or changing selected fields, compare the query against every consumer (text, verbose, JSON, MCP, CLI, and internal callers), use conditional fields or separate queries for mode-specific data, and add tests that assert the wire variables/selections for compact and detailed modes.
|
|
31
|
+
|
|
32
|
+
See `docs/guidelines/ARCHITECTURAL_GUIDELINES.md` for detailed planning checklist and design principles.
|
|
33
|
+
|
|
34
|
+
## Testing
|
|
35
|
+
|
|
36
|
+
Philosophy: "If it is not tested, it is likely broken"
|
|
37
|
+
|
|
38
|
+
**Critical Rules:**
|
|
39
|
+
|
|
40
|
+
- Use `bun test` for running tests
|
|
41
|
+
- Use `bun run smoke:mcp` and `bun run smoke:cli` when changing MCP tools, CLI commands, shared formatters, auth/error envelopes, or MCP/CLI parity behavior. These are live-capable local suites, not the normal unit suite; they must pass unauthenticated by validating auth handling, and provide deeper coverage when authenticated. After building, also run `bun run smoke:cli:built` and `bun run smoke:mcp:built` when changing smoke launch behavior or CI product validation; these secret-free modes execute `dist/cli.js` under Node.
|
|
42
|
+
- Use `bun run agent:e2e` when changing MCP instructions, tool descriptions, or agent-facing tool behavior. This is a human/agent-driven qualitative eval, not a deterministic CI gate. Pick targeted workloads from `eval/agentic/README.md`; run both Claude and Codex for broad instruction changes when practical. Inspect `tool-calls.json` and `final.json` for actual tool use, `toolIssues`, `instructionIssues`, and usefulness, not just harness pass/fail.
|
|
43
|
+
- Maintain smoke coverage when adding or changing user-facing tools/commands. Prefer structural UX assertions over brittle snapshots, and keep MCP `format: "json"` and CLI `--json` behavior aligned.
|
|
44
|
+
- When changing GraphQL/API selections, add regression tests for over-fetch controls (for example `@include` variables, body omission, field lists, or query builders) and live-smoke the affected CLI/MCP surfaces when authenticated access is available.
|
|
45
|
+
- Keep tests async and isolated
|
|
46
|
+
- Mock services at the interface level using factory functions
|
|
47
|
+
- Use mock factories from `test-helpers.ts` (e.g., `createMockGitHitsService()`, `createMockAuthService()`)
|
|
48
|
+
- Test behavior, not implementation - focus on inputs and outputs
|
|
49
|
+
- Test only one layer at a time - mock dependencies
|
|
50
|
+
- When tests simulate another platform, simulate that platform's path semantics too. Use `path.win32` for Windows paths and avoid mixed literals like `C:\\Users\\me/app`; mixed separators can make tests pass while real Windows logic is broken.
|
|
51
|
+
|
|
52
|
+
**Test Structure:**
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
import { describe, expect, it, mock } from "bun:test";
|
|
56
|
+
import { createMockGitHitsService } from "./test-helpers.js";
|
|
57
|
+
|
|
58
|
+
describe("myTool", () => {
|
|
59
|
+
it("does something", async () => {
|
|
60
|
+
const mockService = createMockGitHitsService({
|
|
61
|
+
/* overrides */
|
|
62
|
+
});
|
|
63
|
+
// test...
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
See `docs/guidelines/TESTING.md` for comprehensive patterns.
|
|
69
|
+
|
|
70
|
+
## Development Workflow (Docs-driven)
|
|
71
|
+
|
|
72
|
+
- Proposals -> Plans -> Implementation -> Completion
|
|
73
|
+
- Keep docs updated as features evolve:
|
|
74
|
+
- Implementation notes: `docs/implementation/`
|
|
75
|
+
- Guidelines: `docs/guidelines/`
|
|
76
|
+
- Use test driven development whenever possible
|
|
77
|
+
- Document what and why with JSDoc comments
|
|
78
|
+
|
|
79
|
+
## Plugin Asset Workflow
|
|
80
|
+
|
|
81
|
+
- Root `skills/` and `AGENTS.md` are the only authored shared agent guidance. `CLAUDE.md` and `GEMINI.md` must remain symlinks to `AGENTS.md`.
|
|
82
|
+
- Use the repository-internal `githits-plugin-maintenance` skill when changing skills, agent guidance, plugin/marketplace/extension manifests, MCP transport metadata, root release metadata, generator behavior, or agent-facing setup/auth behavior. It must remain under `.agents/skills/` and must not be published with the public root `skills/` tree.
|
|
83
|
+
- Do not edit generated plugin assets directly. Change their canonical inputs, run `bun run plugins:generate`, inspect the diff, and run `bun run plugins:check`.
|
|
84
|
+
- `server.json` owns the canonical plugin keyword list used by generated manifests; keep `package.json` aligned with it.
|
|
85
|
+
- All plugin and extension packages use hosted remote MCP. Direct `githits init` configuration retains local stdio except for Cursor, which is remote-only. Claude and Gemini direct setup remove legacy plugin or extension state before installing the user-scoped stdio server.
|
|
86
|
+
|
|
87
|
+
## TypeScript Essentials
|
|
88
|
+
|
|
89
|
+
### Quick Start
|
|
90
|
+
|
|
91
|
+
- Use `bun run dev` for development
|
|
92
|
+
- Use `bun test` for testing
|
|
93
|
+
- Use `bun run build` before committing
|
|
94
|
+
|
|
95
|
+
### Code Style
|
|
96
|
+
|
|
97
|
+
- Always add TypeScript types for function parameters and returns
|
|
98
|
+
- Prefer interfaces to type aliases for object shapes
|
|
99
|
+
- Use `const` assertions for literal types
|
|
100
|
+
- Prefer explicit types over inference for public APIs
|
|
101
|
+
- Use Zod for runtime validation
|
|
102
|
+
|
|
103
|
+
### Patterns
|
|
104
|
+
|
|
105
|
+
- **Dependency Injection**: Use factory functions that accept dependencies
|
|
106
|
+
- **Service Layer**: Abstract external calls behind service interfaces
|
|
107
|
+
- **Error Handling**: Use `withErrorHandling()` wrapper for consistent errors
|
|
108
|
+
- **Tool Pattern**: Follow `ToolDefinition` interface for MCP tools
|
|
109
|
+
|
|
110
|
+
## Workspace Boundaries
|
|
111
|
+
|
|
112
|
+
- Root `src/**` is still the published `githits` CLI implementation until the CLI package move completes. It owns Commander commands, local auth storage, browser login, init/setup flows, local stdio MCP startup, and plugin/assistant packaging assets.
|
|
113
|
+
- `packages/core-internal` is private source. It owns transport-neutral service clients, service interfaces, shared request/header/telemetry primitives, neutral service errors, PKCE helpers, and `TokenProvider`. Never publish or leak `@githits/core-internal` into public artifacts.
|
|
114
|
+
- `packages/mcp` is the public `@githits/mcp` package. Its public tool/server API is `packages/mcp/src/index.ts`: transport-neutral MCP server creation, tool registration, descriptors, instructions, request-scoped service provider types, and MCP service types. Its public runtime/client API is `packages/mcp/src/client.ts`, exported as `@githits/mcp/client`, for remote MCP servers that need concrete service implementations and token/header/config helpers.
|
|
115
|
+
- `@githits/mcp/smoke-test` is a public validation helper entrypoint for remote MCP servers. It exports smoke assertions and `runMcpSmoke()` without depending on local CLI startup.
|
|
116
|
+
- `@githits/mcp/internal` is a workspace-only alias for root CLI transition helpers. External packages and the future remote MCP server repo must never import it. If remote server work needs something internal, promote the smallest stable API through `@githits/mcp` instead.
|
|
117
|
+
- Public package artifacts for both root `githits` and `@githits/mcp` must not contain `@githits/core-internal`, `workspace:*`, `@githits/mcp/internal`, or private source aliases in JS, declarations, or manifests.
|
|
118
|
+
|
|
119
|
+
## Release Boundaries
|
|
120
|
+
|
|
121
|
+
- `githits` and `@githits/mcp` have separate release flows. They may be bumped together when both surfaces changed, but CLI-only changes should not bump `@githits/mcp`.
|
|
122
|
+
- Root `githits` release versions must stay aligned with generated plugin/assistant manifests: `.plugin/plugin.json`, `.claude-plugin/plugin.json`, `.codex-plugin/plugin.json`, `.cursor-plugin/plugin.json`, `.claude-plugin/marketplace.json`, and `gemini-extension.json`. The versionless Antigravity `plugin.json` and `mcp_config.json` must also be regenerated and checked.
|
|
123
|
+
- `@githits/mcp` release versions live in `packages/mcp/package.json` and should change only for MCP package API, tool behavior, MCP instructions, schemas, MCP auth/error behavior, or remote-server-facing public type changes.
|
|
124
|
+
- For coordinated CLI and MCP releases, keep the MCP minor aligned with the CLI minor for discoverability. The first MCP release for a CLI minor starts at `X.Y.0`; later MCP-package-visible changes in that CLI minor bump the MCP patch.
|
|
125
|
+
- Successful `Main` runs on `main` trigger both root and MCP release workflows. The MCP workflow publishes only when the package version is not already published; manual dispatch is for recovery or dry runs.
|
|
126
|
+
- Validate package behavior from outside root path aliases. Repo-local imports can hide package export-map or declaration problems.
|
|
127
|
+
|
|
128
|
+
### Common Pitfalls
|
|
129
|
+
|
|
130
|
+
- Not mocking services in tests
|
|
131
|
+
- Missing error handling in async operations
|
|
132
|
+
- Not updating `index.ts` exports when adding new modules
|
|
133
|
+
|
|
134
|
+
## Commit & PR Guidelines
|
|
135
|
+
|
|
136
|
+
### Commit Messages
|
|
137
|
+
|
|
138
|
+
Use [Conventional Commits](https://www.conventionalcommits.org/) format:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
<type>: <description>
|
|
142
|
+
|
|
143
|
+
[optional body with context]
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Types:**
|
|
147
|
+
|
|
148
|
+
- `feat:` - New feature
|
|
149
|
+
- `fix:` - Bug fix
|
|
150
|
+
- `docs:` - Documentation only
|
|
151
|
+
- `refactor:` - Code change that neither fixes a bug nor adds a feature
|
|
152
|
+
- `test:` - Adding or updating tests
|
|
153
|
+
- `chore:` - Maintenance tasks (deps, build, etc.)
|
|
154
|
+
|
|
155
|
+
**Examples:**
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
feat: add search MCP tool
|
|
159
|
+
|
|
160
|
+
Implements code example search via GitHits backend REST API
|
|
161
|
+
with license filtering support.
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
fix: handle expired tokens in auth status
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Pull Requests
|
|
169
|
+
|
|
170
|
+
- Use descriptive PR titles (they appear in release notes)
|
|
171
|
+
- Add labels for categorization:
|
|
172
|
+
- `feature` / `enhancement` - New features
|
|
173
|
+
- `bug` / `fix` - Bug fixes
|
|
174
|
+
- `documentation` - Docs changes
|
|
175
|
+
- `maintenance` / `chore` - Maintenance
|
|
176
|
+
- `skip-changelog` - Exclude from release notes
|
|
177
|
+
|
|
178
|
+
### Other Rules
|
|
179
|
+
|
|
180
|
+
- No single liners - include body with context
|
|
181
|
+
- Follow guidelines from `docs/guidelines/REVIEW_GUIDELINES.md`
|
|
182
|
+
- Do not amend commits or rebase unless asked specifically
|
|
183
|
+
|
|
184
|
+
## Project Structure
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
src/
|
|
188
|
+
cli.ts # root CLI entry point for published githits package
|
|
189
|
+
container.ts # root CLI dependency injection
|
|
190
|
+
auth/ # OAuth PKCE utilities
|
|
191
|
+
commands/ # CLI commands and local stdio MCP command
|
|
192
|
+
services/ # CLI/local auth storage and service composition
|
|
193
|
+
tools/ # root CLI/MCP parity tests only
|
|
194
|
+
packages/
|
|
195
|
+
core-internal/ # private transport-neutral service/core source
|
|
196
|
+
mcp/ # public @githits/mcp package source
|
|
197
|
+
cli/ # private placeholder until CLI package move
|
|
198
|
+
docs/
|
|
199
|
+
guidelines/ # Development guidelines
|
|
200
|
+
implementation/ # Implementation documentation
|
|
201
|
+
```
|
package/README.md
CHANGED
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
<a href="https://www.npmjs.com/package/githits"><img alt="Node" src="https://img.shields.io/node/v/githits.svg"></a>
|
|
17
17
|
<a href="https://modelcontextprotocol.io/"><img alt="MCP" src="https://img.shields.io/badge/MCP-enabled-5C4EE5"></a>
|
|
18
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
|
+
<a href="https://smithery.ai/servers/githits/GitHits"><img alt="smithery badge" src="https://smithery.ai/badge/githits/GitHits"></a>
|
|
20
|
+
<a href="https://glama.ai/mcp/servers/githits-com/githits-cli"><img alt="githits-cli MCP server" src="https://glama.ai/mcp/servers/githits-com/githits-cli/badges/score.svg"></a>
|
|
19
21
|
</p>
|
|
20
22
|
|
|
21
23
|
<p align="center">
|
|
@@ -41,8 +43,9 @@ enough.
|
|
|
41
43
|
npx githits@latest init
|
|
42
44
|
```
|
|
43
45
|
|
|
44
|
-
`init` signs you in, detects supported coding tools, and configures
|
|
45
|
-
|
|
46
|
+
`init` signs you in, detects supported coding tools, and configures GitHits for
|
|
47
|
+
the tools you select. It uses the local stdio MCP except for Cursor, whose
|
|
48
|
+
direct setup uses the hosted remote MCP.
|
|
46
49
|
|
|
47
50
|
Automatic setup currently supports Claude Code, Cursor, Windsurf,
|
|
48
51
|
VS Code / Copilot, Cline, Claude Desktop, Codex CLI, Pi, Gemini CLI,
|
|
@@ -248,18 +251,32 @@ npx githits@latest init --install-agents cursor,codex
|
|
|
248
251
|
|
|
249
252
|
## Plugin and Extension Packaging
|
|
250
253
|
|
|
251
|
-
The
|
|
252
|
-
compatible hosts
|
|
254
|
+
The repository and published package provide the plugin and extension assets
|
|
255
|
+
used by compatible hosts. Git-based installs also retain the context-file
|
|
256
|
+
symlinks (`CLAUDE.md` and `GEMINI.md`) to the canonical `AGENTS.md`:
|
|
253
257
|
|
|
254
258
|
- `.plugin/plugin.json`
|
|
255
259
|
- `.claude-plugin/plugin.json`
|
|
256
260
|
- `.claude-plugin/marketplace.json`
|
|
261
|
+
- `.codex-plugin/plugin.json`
|
|
262
|
+
- `.cursor-plugin/plugin.json`
|
|
257
263
|
- `.mcp.json`
|
|
258
264
|
- `gemini-extension.json`
|
|
265
|
+
- `plugin.json` (Google Antigravity)
|
|
266
|
+
- `mcp_config.json` (Google Antigravity)
|
|
267
|
+
- `AGENTS.md`
|
|
268
|
+
- `CLAUDE.md`
|
|
259
269
|
- `GEMINI.md`
|
|
260
|
-
- `plugins/claude/`
|
|
261
270
|
- `skills/`
|
|
262
|
-
|
|
271
|
+
|
|
272
|
+
The root skill tree is shared by all supported hosts. Every plugin and extension
|
|
273
|
+
install uses the hosted remote MCP, including Claude, Codex, Cursor, Gemini CLI,
|
|
274
|
+
Google Antigravity, and VS Code/GitHub Copilot OpenPlugin. Direct `githits init`
|
|
275
|
+
setup is a separate path: it installs local stdio configurations for supported
|
|
276
|
+
tools except Cursor, which remains remote-only. The repository root is a native
|
|
277
|
+
Antigravity plugin through `plugin.json`, `mcp_config.json`, and the shared
|
|
278
|
+
`skills/` tree. Generated manifests are refreshed with `bun run plugins:generate`
|
|
279
|
+
and validated with `bun run plugins:check`.
|
|
263
280
|
|
|
264
281
|
For Claude Code marketplace installs:
|
|
265
282
|
|