githits 0.11.2 → 0.11.4

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.
@@ -6,12 +6,12 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "The code context layer for AI coding agents",
9
- "version": "0.11.2"
9
+ "version": "0.11.4"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "githits",
14
- "version": "0.11.2",
14
+ "version": "0.11.4",
15
15
  "description": "The code context layer for AI coding agents",
16
16
  "author": {
17
17
  "name": "GitHits"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "githits",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "description": "The code context layer for AI coding agents",
5
5
  "author": {
6
6
  "name": "GitHits"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "githits",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "description": "The code context layer for AI coding agents",
5
5
  "author": {
6
6
  "name": "GitHits"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "githits",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "description": "The code context layer for AI coding agents",
5
5
  "author": {
6
6
  "name": "GitHits"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "githits",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "description": "The code context layer for AI coding agents",
5
5
  "author": {
6
6
  "name": "GitHits"
package/AGENTS.md CHANGED
@@ -32,6 +32,18 @@ Philosophy: "Create architecture that is performant and easy to test"
32
32
 
33
33
  See `docs/guidelines/ARCHITECTURAL_GUIDELINES.md` for detailed planning checklist and design principles.
34
34
 
35
+ ## Tool output UX
36
+
37
+ Human-readable tool text is an optimized product surface, not raw field
38
+ serialization. Before editing it, inspect real output and preserve existing
39
+ strengths: lead with the outcome, group related evidence, remove repetition and
40
+ scaffolding, and retain stable follow-up locators, actions, and trust facts.
41
+ Wrap free prose to the caller's width, keep formatter-authored punctuation ASCII
42
+ while preserving backend Unicode, and never make color carry meaning. When CLI
43
+ and MCP need the same information, share one formatter per tool with color and
44
+ width as inputs; keep JSON lossless for machines. A complete data dump is not
45
+ good output merely because it is complete.
46
+
35
47
  ## Testing
36
48
 
37
49
  Philosophy: "If it is not tested, it is likely broken"
@@ -40,7 +52,7 @@ Philosophy: "If it is not tested, it is likely broken"
40
52
 
41
53
  - Use `bun test` for running tests
42
54
  - 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.
43
- - 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.
55
+ - 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 and the neutral answer/confidence, `metrics.json` for derived token/cost/duration/tool-call metrics, and `isolation-violations.json` for trace-validation failures, not just harness pass/fail. Treat usefulness or quality as reportable only when a later grading stage provides it.
44
56
  - 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.
45
57
  - 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.
46
58
  - Keep tests async and isolated
@@ -114,8 +126,9 @@ See `docs/guidelines/TESTING.md` for comprehensive patterns.
114
126
  - 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, plugin/assistant packaging assets, and the diagnostics implementation/lifecycle (environment, process, and output destinations).
115
127
  - `packages/core-internal` is private source. It owns transport-neutral service clients, service interfaces, shared request/header primitives, the host-supplied `ServiceDiagnostics` contract, neutral service errors, PKCE helpers, and `TokenProvider`. It must not discover diagnostics environment settings or own diagnostics process/output destinations. Never publish or leak `@githits/core-internal` into public artifacts.
116
128
  - `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, token/header/config helpers, and optional injected `ServiceDiagnostics`.
129
+ - The production hosted server at `https://mcp.githits.com` lives in the separate `remote-mcp` repository and consumes the published `@githits/mcp` package as the canonical implementation of tool registration, descriptors, `quick_start`, and tool logic. `remote-mcp` owns HTTP transport, request-scoped service composition, auth/session handling, deployment, and observability; do not duplicate package-owned MCP behavior there. A change in this repository reaches hosted clients only after `@githits/mcp` is released, `remote-mcp` updates that dependency, and the hosted server is deployed.
117
130
  - `@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.
118
- - `@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.
131
+ - `@githits/mcp/internal` is a workspace-only alias for root CLI transition helpers. External packages and the `remote-mcp` repository must never import it. If remote server work needs something internal, promote the smallest stable API through `@githits/mcp` instead.
119
132
  - 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. The public-package validator also rejects static `fs`, `node:fs`, `fs/promises`, and `node:fs/promises` imports in core source and packed MCP artifacts, and rejects direct core `process.stderr`/`process.stdout` access. These checks cover statically resolved string-literal module edges; they do not claim browser compatibility.
120
133
 
121
134
  ## Release Boundaries
package/README.md CHANGED
@@ -132,8 +132,9 @@ npx githits@latest docs read <page-id> --lines 20-80
132
132
 
133
133
  GitHits 0.10 adds two opt-in local tools for early dogfooding:
134
134
 
135
- - `resolve_target` / `githits resolve` turns a fuzzy or ambiguous package or
136
- repository name into ranked canonical targets.
135
+ - `resolve_target` / `githits resolve` turns a fuzzy or ambiguous package,
136
+ repository, or documentation-site name into grouped canonical targets with
137
+ related project identities kept together.
137
138
  - `code_diff` / `githits code diff` compares repository trees resolved from
138
139
  exact package versions or public GitHub refs.
139
140