@opencodehub/cli 0.2.2 → 0.2.3
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/dist/commands/ci-templates/github-nightly.yml +35 -0
- package/dist/commands/ci-templates/github-rescan.yml +52 -0
- package/dist/commands/ci-templates/github-verdict.yml +24 -0
- package/dist/commands/ci-templates/github-weekly.yml +49 -0
- package/dist/commands/ci-templates/gitlab-ci.yml +56 -0
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin-assets/agents/code-analyst.md +18 -0
- package/dist/plugin-assets/commands/audit-deps.md +29 -0
- package/dist/plugin-assets/commands/owners.md +20 -0
- package/dist/plugin-assets/commands/probe.md +21 -0
- package/dist/plugin-assets/commands/rename.md +20 -0
- package/dist/plugin-assets/commands/verdict.md +18 -0
- package/dist/plugin-assets/hooks/augment.sh +128 -0
- package/dist/plugin-assets/hooks/docs-staleness.sh +45 -0
- package/dist/plugin-assets/hooks.json +34 -0
- package/dist/plugin-assets/skills/codehub-code-pack/SKILL.md +181 -0
- package/dist/plugin-assets/skills/codehub-code-pack/references/determinism-contract.md +150 -0
- package/dist/plugin-assets/skills/codehub-contract-map/SKILL.md +144 -0
- package/dist/plugin-assets/skills/codehub-document/SKILL.md +152 -0
- package/dist/plugin-assets/skills/codehub-document/references/cross-reference-spec.md +142 -0
- package/dist/plugin-assets/skills/codehub-document/references/data-source-map.md +139 -0
- package/dist/plugin-assets/skills/codehub-document/references/document-templates.md +347 -0
- package/dist/plugin-assets/skills/codehub-document/references/mermaid-patterns.md +181 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/README.md +64 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-analysis-dead-code.md +104 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-analysis-ownership.md +101 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-analysis-risk-hotspots.md +105 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-architecture-data-flow.md +103 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-architecture-module-map.md +102 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-architecture-system-overview.md +100 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-behavior-processes.md +103 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-behavior-state-machines.md +101 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-cross-repo-contracts-matrix.md +104 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-cross-repo-dependency-flow.md +111 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-cross-repo-portfolio-map.md +106 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-diagrams-components.md +99 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-diagrams-dependency-graph.md +104 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-diagrams-sequences.md +103 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-reference-cli.md +110 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-reference-mcp-tools.md +100 -0
- package/dist/plugin-assets/skills/codehub-document/templates/agents/doc-reference-public-api.md +111 -0
- package/dist/plugin-assets/skills/codehub-document/templates/orchestrator-prompt.md +110 -0
- package/dist/plugin-assets/skills/codehub-onboarding/SKILL.md +111 -0
- package/dist/plugin-assets/skills/codehub-pr-description/SKILL.md +122 -0
- package/dist/plugin-assets/skills/opencodehub-debugging/SKILL.md +144 -0
- package/dist/plugin-assets/skills/opencodehub-exploring/SKILL.md +120 -0
- package/dist/plugin-assets/skills/opencodehub-guide/SKILL.md +180 -0
- package/dist/plugin-assets/skills/opencodehub-impact-analysis/SKILL.md +151 -0
- package/dist/plugin-assets/skills/opencodehub-pr-review/SKILL.md +246 -0
- package/dist/plugin-assets/skills/opencodehub-refactoring/SKILL.md +180 -0
- package/package.json +11 -9
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: OpenCodeHub Nightly
|
|
2
|
+
on:
|
|
3
|
+
schedule:
|
|
4
|
+
- cron: "0 1 * * *"
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
jobs:
|
|
7
|
+
nightly:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
security-events: write
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
with:
|
|
15
|
+
fetch-depth: 0
|
|
16
|
+
- uses: actions/setup-node@v4
|
|
17
|
+
with:
|
|
18
|
+
node-version: 20
|
|
19
|
+
- run: npm install -g @opencodehub/cli@latest
|
|
20
|
+
- run: codehub analyze --force --sbom --scan
|
|
21
|
+
- name: upload SARIF
|
|
22
|
+
if: always()
|
|
23
|
+
uses: actions/upload-sarif@v3
|
|
24
|
+
with:
|
|
25
|
+
sarif_file: .codehub/scan.sarif
|
|
26
|
+
category: opencodehub-nightly
|
|
27
|
+
- name: upload SBOM
|
|
28
|
+
if: always()
|
|
29
|
+
uses: actions/upload-artifact@v4
|
|
30
|
+
with:
|
|
31
|
+
name: sbom-${{ github.run_id }}
|
|
32
|
+
path: |
|
|
33
|
+
.codehub/sbom.cyclonedx.json
|
|
34
|
+
.codehub/sbom.spdx.json
|
|
35
|
+
retention-days: 30
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: OpenCodeHub SBOM Rescan
|
|
2
|
+
on:
|
|
3
|
+
schedule:
|
|
4
|
+
- cron: "0 6 * * *"
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
jobs:
|
|
7
|
+
rescan:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
issues: write
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-node@v4
|
|
15
|
+
with:
|
|
16
|
+
node-version: 20
|
|
17
|
+
- run: npm install -g @opencodehub/cli@latest
|
|
18
|
+
- name: fetch prior SBOM
|
|
19
|
+
run: |
|
|
20
|
+
mkdir -p .codehub
|
|
21
|
+
gh run download --name sbom-latest --dir .codehub || \
|
|
22
|
+
codehub analyze --sbom
|
|
23
|
+
env:
|
|
24
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
25
|
+
- name: rescan SBOM with osv-scanner + grype
|
|
26
|
+
id: rescan
|
|
27
|
+
run: |
|
|
28
|
+
codehub scan --scanners osv-scanner,grype \
|
|
29
|
+
--sbom .codehub/sbom.cyclonedx.json \
|
|
30
|
+
--severity HIGH,CRITICAL \
|
|
31
|
+
--output /tmp/rescan.sarif || true
|
|
32
|
+
NEW_CVES=$(jq -r '.runs[].results[]?.ruleId // empty' /tmp/rescan.sarif | sort -u)
|
|
33
|
+
echo "cves<<EOF" >> $GITHUB_OUTPUT
|
|
34
|
+
echo "$NEW_CVES" >> $GITHUB_OUTPUT
|
|
35
|
+
echo "EOF" >> $GITHUB_OUTPUT
|
|
36
|
+
- name: file or update issue per CVE
|
|
37
|
+
if: steps.rescan.outputs.cves != ''
|
|
38
|
+
env:
|
|
39
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
40
|
+
run: |
|
|
41
|
+
echo "${{ steps.rescan.outputs.cves }}" | while read -r CVE; do
|
|
42
|
+
[ -z "$CVE" ] && continue
|
|
43
|
+
TITLE="CVE ${CVE} detected in ${REPO_NAME}"
|
|
44
|
+
EXISTING=$(gh issue list --state open --label security --search "$TITLE in:title" --json number --jq '.[0].number // ""')
|
|
45
|
+
if [ -z "$EXISTING" ]; then
|
|
46
|
+
gh issue create --title "$TITLE" --label security,automated \
|
|
47
|
+
--body "Daily SBOM rescan found a new HIGH+ vulnerability (${CVE}). See /tmp/rescan.sarif in this workflow run."
|
|
48
|
+
else
|
|
49
|
+
gh issue comment "$EXISTING" \
|
|
50
|
+
--body "Still open as of $(date -u +%FT%TZ) — SBOM rescan on ${MAIN_BRANCH}."
|
|
51
|
+
fi
|
|
52
|
+
done
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: OpenCodeHub Verdict
|
|
2
|
+
on: [pull_request]
|
|
3
|
+
jobs:
|
|
4
|
+
verdict:
|
|
5
|
+
runs-on: ubuntu-latest
|
|
6
|
+
steps:
|
|
7
|
+
- uses: actions/checkout@v4
|
|
8
|
+
with:
|
|
9
|
+
fetch-depth: 0
|
|
10
|
+
- uses: actions/setup-node@v4
|
|
11
|
+
with:
|
|
12
|
+
node-version: 20
|
|
13
|
+
- run: npm install -g @opencodehub/cli@latest
|
|
14
|
+
- run: codehub analyze --incremental
|
|
15
|
+
- name: verdict
|
|
16
|
+
id: verdict
|
|
17
|
+
run: |
|
|
18
|
+
codehub verdict --base origin/${MAIN_BRANCH} --head HEAD \
|
|
19
|
+
--output-format markdown --pr-comment > /tmp/verdict.md
|
|
20
|
+
echo "exit_code=$?" >> $GITHUB_OUTPUT
|
|
21
|
+
- run: gh pr comment ${{ github.event.pull_request.number }} --body-file /tmp/verdict.md
|
|
22
|
+
env:
|
|
23
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
24
|
+
- run: exit ${{ steps.verdict.outputs.exit_code }}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: OpenCodeHub Weekly Deep Scan
|
|
2
|
+
on:
|
|
3
|
+
schedule:
|
|
4
|
+
- cron: "0 3 * * 0"
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
jobs:
|
|
7
|
+
weekly:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
issues: write
|
|
12
|
+
security-events: write
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
with:
|
|
16
|
+
fetch-depth: 0
|
|
17
|
+
- uses: actions/setup-node@v4
|
|
18
|
+
with:
|
|
19
|
+
node-version: 20
|
|
20
|
+
- run: npm install -g @opencodehub/cli@latest
|
|
21
|
+
- name: deep scan (P1 + P2)
|
|
22
|
+
run: |
|
|
23
|
+
codehub analyze --force --sbom --scan \
|
|
24
|
+
--with trivy,checkov,hadolint,tflint,spectral
|
|
25
|
+
- name: license audit
|
|
26
|
+
id: license
|
|
27
|
+
run: |
|
|
28
|
+
codehub scan --scanners license_audit --output /tmp/license.sarif || true
|
|
29
|
+
VERDICT=$(codehub verdict --json | jq -r '.gates.license_audit // "ALLOW"')
|
|
30
|
+
echo "verdict=$VERDICT" >> $GITHUB_OUTPUT
|
|
31
|
+
- name: open license BLOCK issue
|
|
32
|
+
if: steps.license.outputs.verdict == 'BLOCK'
|
|
33
|
+
env:
|
|
34
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
35
|
+
run: |
|
|
36
|
+
TITLE="OpenCodeHub license_audit returned BLOCK (${REPO_NAME})"
|
|
37
|
+
EXISTING=$(gh issue list --state open --label license --search "$TITLE in:title" --json number --jq '.[0].number // ""')
|
|
38
|
+
if [ -z "$EXISTING" ]; then
|
|
39
|
+
gh issue create \
|
|
40
|
+
--title "$TITLE" \
|
|
41
|
+
--label license,automated \
|
|
42
|
+
--body "Weekly deep scan detected a BLOCK verdict from the license_audit gate. See SARIF artifact attached to this run."
|
|
43
|
+
fi
|
|
44
|
+
- name: upload SARIF
|
|
45
|
+
if: always()
|
|
46
|
+
uses: actions/upload-sarif@v3
|
|
47
|
+
with:
|
|
48
|
+
sarif_file: .codehub/scan.sarif
|
|
49
|
+
category: opencodehub-weekly
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
stages:
|
|
2
|
+
- verdict
|
|
3
|
+
- scan
|
|
4
|
+
|
|
5
|
+
default:
|
|
6
|
+
image: node:20
|
|
7
|
+
before_script:
|
|
8
|
+
- npm install -g @opencodehub/cli@latest
|
|
9
|
+
|
|
10
|
+
verdict:
|
|
11
|
+
stage: verdict
|
|
12
|
+
rules:
|
|
13
|
+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
14
|
+
script:
|
|
15
|
+
- codehub analyze --incremental
|
|
16
|
+
- |
|
|
17
|
+
codehub verdict --base origin/${MAIN_BRANCH} --head HEAD \
|
|
18
|
+
--output-format markdown --pr-comment > verdict.md
|
|
19
|
+
- cat verdict.md
|
|
20
|
+
artifacts:
|
|
21
|
+
when: always
|
|
22
|
+
paths:
|
|
23
|
+
- verdict.md
|
|
24
|
+
expire_in: 1 week
|
|
25
|
+
|
|
26
|
+
nightly:
|
|
27
|
+
stage: scan
|
|
28
|
+
rules:
|
|
29
|
+
- if: $CI_PIPELINE_SOURCE == "schedule" && $OCH_JOB == "nightly"
|
|
30
|
+
script:
|
|
31
|
+
- codehub analyze --force --sbom --scan
|
|
32
|
+
artifacts:
|
|
33
|
+
when: always
|
|
34
|
+
paths:
|
|
35
|
+
- .codehub/scan.sarif
|
|
36
|
+
- .codehub/sbom.cyclonedx.json
|
|
37
|
+
- .codehub/sbom.spdx.json
|
|
38
|
+
reports:
|
|
39
|
+
sast: .codehub/scan.sarif
|
|
40
|
+
expire_in: 30 days
|
|
41
|
+
|
|
42
|
+
weekly:
|
|
43
|
+
stage: scan
|
|
44
|
+
rules:
|
|
45
|
+
- if: $CI_PIPELINE_SOURCE == "schedule" && $OCH_JOB == "weekly"
|
|
46
|
+
script:
|
|
47
|
+
- |
|
|
48
|
+
codehub analyze --force --sbom --scan \
|
|
49
|
+
--with trivy,checkov,hadolint,tflint,spectral
|
|
50
|
+
- codehub scan --scanners license_audit --output license.sarif || true
|
|
51
|
+
artifacts:
|
|
52
|
+
when: always
|
|
53
|
+
paths:
|
|
54
|
+
- .codehub/scan.sarif
|
|
55
|
+
- license.sarif
|
|
56
|
+
expire_in: 30 days
|
package/dist/index.js
CHANGED
|
@@ -7,11 +7,19 @@
|
|
|
7
7
|
* native binding, no pipeline, no MCP SDK unless we are actually going to
|
|
8
8
|
* run that subcommand.
|
|
9
9
|
*/
|
|
10
|
+
import { readFileSync } from "node:fs";
|
|
10
11
|
import { cpus } from "node:os";
|
|
12
|
+
import { dirname, join } from "node:path";
|
|
13
|
+
import { fileURLToPath } from "node:url";
|
|
11
14
|
import { Command } from "commander";
|
|
15
|
+
// Read the CLI's own version from its package.json. Resolved at runtime
|
|
16
|
+
// from the compiled dist/ — package.json sits at <pkg-root>/package.json,
|
|
17
|
+
// two levels up from <pkg-root>/dist/index.js.
|
|
18
|
+
const pkgJsonPath = join(dirname(fileURLToPath(import.meta.url)), "..", "package.json");
|
|
19
|
+
const pkgVersion = JSON.parse(readFileSync(pkgJsonPath, "utf8")).version;
|
|
12
20
|
const program = new Command()
|
|
13
21
|
.name("codehub")
|
|
14
|
-
.version(
|
|
22
|
+
.version(pkgVersion)
|
|
15
23
|
.description("OpenCodeHub — code-graph indexer and MCP server for coding agents");
|
|
16
24
|
program
|
|
17
25
|
.command("analyze [path]")
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-analyst
|
|
3
|
+
description: Use when the user asks to understand code structure, impact of changes, find owners, audit dependencies, or navigate the codebase graph. Specializes in the OpenCodeHub MCP toolkit and always grounds claims in graph queries rather than text search.
|
|
4
|
+
tools: mcp__opencodehub__query, mcp__opencodehub__context, mcp__opencodehub__impact, mcp__opencodehub__route_map, mcp__opencodehub__api_impact, mcp__opencodehub__shape_check, mcp__opencodehub__tool_map, mcp__opencodehub__verdict, mcp__opencodehub__owners, mcp__opencodehub__license_audit, mcp__opencodehub__list_findings, mcp__opencodehub__list_findings_delta, mcp__opencodehub__list_dead_code, mcp__opencodehub__signature, mcp__opencodehub__detect_changes, mcp__opencodehub__rename, Read, Grep, Glob
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are the OpenCodeHub code-analyst. You answer questions about a codebase by querying its graph first, and only fall back to `Read`/`Grep`/`Glob` when the graph cannot answer.
|
|
9
|
+
|
|
10
|
+
Tool selection rules:
|
|
11
|
+
- **Exploring / "how does X work"**: `query` for concept-to-code jumps; `context` for the 360° view of a named symbol; `route_map` for HTTP routes and their handlers; `tool_map` for CLI or MCP tool surface areas.
|
|
12
|
+
- **Impact / "what breaks if I change X"**: `impact` with `direction: "upstream"` for callers, `"downstream"` for callees; `api_impact` for public API boundaries; `shape_check` for structural drift across payloads and types.
|
|
13
|
+
- **Ownership**: `owners` for top contributors. `signature` for canonical function signatures before quoting them.
|
|
14
|
+
- **Risk / review**: `verdict` for the 5-tier merge recommendation; `list_findings` and `list_findings_delta` for scanner output; `license_audit` for license tiering; `list_dead_code` for unreferenced symbols.
|
|
15
|
+
- **Refactors**: `rename` always with `dry_run: true` first — never apply without showing the diff and getting explicit confirmation.
|
|
16
|
+
- **Freshness**: `detect_changes` before committing or when the user implies the index might be stale.
|
|
17
|
+
|
|
18
|
+
Always cite with `path:line`. Never paraphrase signatures — quote them. If a tool returns nothing, say so; do not invent coverage.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: License tier + dependency findings audit
|
|
3
|
+
allowed-tools: ["mcp__opencodehub__license_audit", "mcp__opencodehub__list_findings"]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Audit dependency licenses and outstanding security findings for the current repo, and give the user a one-screen verdict.
|
|
7
|
+
|
|
8
|
+
Steps:
|
|
9
|
+
1. Call `mcp__opencodehub__license_audit` with `{}`.
|
|
10
|
+
2. Call `mcp__opencodehub__list_findings` with `{ minSeverity: "warning" }`.
|
|
11
|
+
3. Produce a report with exactly these sections:
|
|
12
|
+
|
|
13
|
+
**License tier**
|
|
14
|
+
- Overall tier (`permissive` | `weak-copyleft` | `strong-copyleft` | `proprietary` | `unknown`).
|
|
15
|
+
- One-line rationale.
|
|
16
|
+
|
|
17
|
+
**GPL / strong-copyleft deps**
|
|
18
|
+
- Bulleted list of `<package>@<version>` with license id. If none, write "None."
|
|
19
|
+
|
|
20
|
+
**Proprietary / unknown deps**
|
|
21
|
+
- Bulleted list of `<package>@<version>` with license id. If none, write "None."
|
|
22
|
+
|
|
23
|
+
**Critical findings** (severity `error` or `critical`)
|
|
24
|
+
- Bulleted list of `<rule-id> — <file>:<line> — <message>`. If none, write "None."
|
|
25
|
+
|
|
26
|
+
**Recommendation**
|
|
27
|
+
- One of: `ship`, `ship with license notice update`, `block — license incompatible`, `block — critical findings unresolved`.
|
|
28
|
+
|
|
29
|
+
Keep under 25 lines total. If either MCP call errors, report the error and stop.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Top contributors for a symbol or file
|
|
3
|
+
argument-hint: "<symbol-or-path>"
|
|
4
|
+
allowed-tools: ["mcp__opencodehub__owners"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Identify the top contributors for the target symbol or file so the user knows who to pull into review.
|
|
8
|
+
|
|
9
|
+
Target: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
Steps:
|
|
12
|
+
1. Call `mcp__opencodehub__owners` with `{ target: "$ARGUMENTS" }`.
|
|
13
|
+
2. Render a table with the top 3 contributors and these columns:
|
|
14
|
+
- **Author** (name + email, as returned).
|
|
15
|
+
- **Commits** touching this target.
|
|
16
|
+
- **Last touched** (ISO date of their most recent commit).
|
|
17
|
+
- **Lines changed** (sum of additions + deletions).
|
|
18
|
+
3. Below the table, note which author is the current code-owner candidate: the most recent author whose commit count is within 30 percent of the top contributor's count. If there is no clear winner, say "No single owner — recommend dual review."
|
|
19
|
+
|
|
20
|
+
If the tool returns zero contributors, report "No git history for $ARGUMENTS" and stop.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Impact-and-context probe on a symbol
|
|
3
|
+
argument-hint: "<symbolName>"
|
|
4
|
+
allowed-tools: ["mcp__opencodehub__context", "mcp__opencodehub__impact"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Run an impact-and-context probe on the target symbol to brief the user before they touch it.
|
|
8
|
+
|
|
9
|
+
Target: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
Steps:
|
|
12
|
+
1. Call `mcp__opencodehub__context` with `{ name: "$ARGUMENTS" }` to gather callers, callees, and the execution flows this symbol participates in.
|
|
13
|
+
2. Call `mcp__opencodehub__impact` with `{ target: "$ARGUMENTS", direction: "upstream", depth: 3 }` to compute the blast radius.
|
|
14
|
+
3. Summarize in exactly 5 lines:
|
|
15
|
+
- What it does (1 line, derived from the signature and surrounding comments).
|
|
16
|
+
- Who calls it (top 3 direct callers with file:line).
|
|
17
|
+
- What it depends on (top 3 direct callees).
|
|
18
|
+
- Blast radius (total affected symbols, affected execution flows).
|
|
19
|
+
- Risk tier (LOW | MEDIUM | HIGH | CRITICAL) and the one-line reason.
|
|
20
|
+
|
|
21
|
+
If either MCP call returns an empty result, say so explicitly and stop — do not pad the summary.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Graph-aware rename with dry-run preview
|
|
3
|
+
argument-hint: "<oldName> <newName>"
|
|
4
|
+
allowed-tools: ["mcp__opencodehub__rename", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Rename a symbol across the graph safely. Always dry-run first, present the diff, and only apply on explicit confirmation.
|
|
8
|
+
|
|
9
|
+
Input: `$ARGUMENTS` — expected as `<oldName> <newName>` (space-separated). If either token is missing, stop and ask the user to re-issue with both names.
|
|
10
|
+
|
|
11
|
+
Steps:
|
|
12
|
+
1. Parse `$ARGUMENTS` into `oldName` and `newName`.
|
|
13
|
+
2. Call `mcp__opencodehub__rename` with `{ from: "<oldName>", to: "<newName>", dry_run: true }`.
|
|
14
|
+
3. Render the preview:
|
|
15
|
+
- **Symbol**: `<oldName>` → `<newName>`.
|
|
16
|
+
- **Files affected**: count, then a bulleted list of `path` with per-file edit counts (cap list at 20, note overflow).
|
|
17
|
+
- **Call sites rewritten**: total count.
|
|
18
|
+
- **Risks flagged**: any warnings from the tool (ambiguous overloads, external exports, shadowed locals) — bulleted. If none, write "None."
|
|
19
|
+
4. Stop and ask the user: "Apply this rename? (yes/no)". Do NOT call `rename` again with `dry_run: false` until the user replies `yes`.
|
|
20
|
+
5. On `yes`, call `mcp__opencodehub__rename` with `{ from: "<oldName>", to: "<newName>", dry_run: false }` and report the number of files written. On anything else, report "Cancelled — no files modified."
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 5-tier PR verdict for the current branch
|
|
3
|
+
argument-hint: "[base-ref]"
|
|
4
|
+
allowed-tools: ["mcp__opencodehub__verdict", "Bash(codehub verdict:*)", "Bash(git:*)"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Produce a 5-tier merge verdict for the current branch against `main` (or the base ref passed in `$ARGUMENTS`).
|
|
8
|
+
|
|
9
|
+
Steps:
|
|
10
|
+
1. Resolve the base ref: use `$ARGUMENTS` if non-empty, else `main`.
|
|
11
|
+
2. Call `mcp__opencodehub__verdict` with `{ base: "<baseRef>", head: "HEAD" }`. If the MCP tool is unavailable in this session, fall back to `codehub verdict --base <baseRef> --head HEAD` via Bash.
|
|
12
|
+
3. Summarize the response in this shape:
|
|
13
|
+
- **Tier**: one of `auto_merge` | `single_review` | `dual_review` | `expert_review` | `block`.
|
|
14
|
+
- **Top drivers**: bullet list of the 3 strongest signals that pushed the tier (high-impact symbols, failing checks, risky hotspots, missing coverage, etc.).
|
|
15
|
+
- **Blockers** (only if tier is `block`): the specific findings that must be resolved.
|
|
16
|
+
- **Next action**: the single concrete step the author should take (merge, request review from X, add tests for Y, fix finding Z).
|
|
17
|
+
|
|
18
|
+
Keep the output under 15 lines. Link to files with `path:line` — no prose paraphrase of the code.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# augment.sh — Claude Code PreToolUse hook for Bash/Grep/Glob.
|
|
3
|
+
#
|
|
4
|
+
# Claude Code hands the tool invocation to this script on stdin as JSON:
|
|
5
|
+
# { "tool_name": "Grep",
|
|
6
|
+
# "tool_input": { "pattern": "..." | "command": "rg ..." } }
|
|
7
|
+
#
|
|
8
|
+
# We extract the first plausible search token, forward it to `codehub augment`,
|
|
9
|
+
# and stream that command's stderr back to Claude Code as additional context
|
|
10
|
+
# via the PreToolUse hookSpecificOutput envelope on stdout.
|
|
11
|
+
#
|
|
12
|
+
# Contract:
|
|
13
|
+
# - Exit 0 regardless of what happens — hook failures must never block the
|
|
14
|
+
# underlying tool call.
|
|
15
|
+
# - Patterns shorter than 3 chars are skipped (too noisy to enrich).
|
|
16
|
+
# - We rely on `python3` for JSON parsing so we don't take a dep on `jq`.
|
|
17
|
+
|
|
18
|
+
set -u
|
|
19
|
+
|
|
20
|
+
HOOK_INPUT=""
|
|
21
|
+
if [ -t 0 ]; then
|
|
22
|
+
# No stdin — the legacy `CLAUDE_TOOL_INPUT` env var is our fallback.
|
|
23
|
+
HOOK_INPUT="${CLAUDE_TOOL_INPUT:-}"
|
|
24
|
+
else
|
|
25
|
+
# Non-interactive stdin: Claude Code always sends a JSON payload.
|
|
26
|
+
HOOK_INPUT="$(cat)"
|
|
27
|
+
fi
|
|
28
|
+
|
|
29
|
+
if [ -z "$HOOK_INPUT" ]; then
|
|
30
|
+
exit 0
|
|
31
|
+
fi
|
|
32
|
+
|
|
33
|
+
# Discover the codehub binary. Prefer an on-PATH install so repeated hook
|
|
34
|
+
# invocations avoid the `npx` spawn cost.
|
|
35
|
+
CODEHUB_BIN=""
|
|
36
|
+
if command -v codehub >/dev/null 2>&1; then
|
|
37
|
+
CODEHUB_BIN="codehub"
|
|
38
|
+
elif command -v npx >/dev/null 2>&1; then
|
|
39
|
+
CODEHUB_BIN="npx --yes @opencodehub/cli"
|
|
40
|
+
else
|
|
41
|
+
exit 0
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
# Parse tool_name + pattern using python3. Falls through to exit 0 if the
|
|
45
|
+
# interpreter is missing or the payload isn't valid JSON.
|
|
46
|
+
if ! command -v python3 >/dev/null 2>&1; then
|
|
47
|
+
exit 0
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
PATTERN="$(printf '%s' "$HOOK_INPUT" | python3 - <<'PY' 2>/dev/null
|
|
51
|
+
import json, sys, re
|
|
52
|
+
|
|
53
|
+
try:
|
|
54
|
+
data = json.loads(sys.stdin.read() or "{}")
|
|
55
|
+
except Exception:
|
|
56
|
+
sys.exit(0)
|
|
57
|
+
|
|
58
|
+
tool = (data.get("tool_name") or "").strip()
|
|
59
|
+
tool_input = data.get("tool_input") or {}
|
|
60
|
+
pattern = ""
|
|
61
|
+
|
|
62
|
+
if tool == "Grep":
|
|
63
|
+
pattern = (tool_input.get("pattern") or "").strip()
|
|
64
|
+
elif tool == "Glob":
|
|
65
|
+
raw = (tool_input.get("pattern") or "").strip()
|
|
66
|
+
m = re.search(r"[*\\/]([a-zA-Z][a-zA-Z0-9_-]{2,})", raw)
|
|
67
|
+
if m:
|
|
68
|
+
pattern = m.group(1)
|
|
69
|
+
elif tool == "Bash":
|
|
70
|
+
cmd = (tool_input.get("command") or "").strip()
|
|
71
|
+
if re.search(r"\b(rg|grep|ag|ack)\b", cmd):
|
|
72
|
+
tokens = cmd.split()
|
|
73
|
+
skip_next = False
|
|
74
|
+
flags_with_values = {
|
|
75
|
+
"-e", "-f", "-m", "-A", "-B", "-C", "-g", "--glob",
|
|
76
|
+
"-t", "--type", "--include", "--exclude",
|
|
77
|
+
}
|
|
78
|
+
found_cmd = False
|
|
79
|
+
for tok in tokens:
|
|
80
|
+
if skip_next:
|
|
81
|
+
skip_next = False
|
|
82
|
+
continue
|
|
83
|
+
if not found_cmd:
|
|
84
|
+
if re.search(r"(^|/)(rg|grep|ag|ack)$", tok):
|
|
85
|
+
found_cmd = True
|
|
86
|
+
continue
|
|
87
|
+
if tok.startswith("-"):
|
|
88
|
+
if tok in flags_with_values:
|
|
89
|
+
skip_next = True
|
|
90
|
+
continue
|
|
91
|
+
cleaned = tok.strip("'\"")
|
|
92
|
+
if len(cleaned) >= 3:
|
|
93
|
+
pattern = cleaned
|
|
94
|
+
break
|
|
95
|
+
|
|
96
|
+
pattern = re.sub(r"[^A-Za-z0-9_./-]", "", pattern)
|
|
97
|
+
if len(pattern) >= 3:
|
|
98
|
+
print(pattern)
|
|
99
|
+
PY
|
|
100
|
+
)"
|
|
101
|
+
|
|
102
|
+
if [ -z "$PATTERN" ]; then
|
|
103
|
+
exit 0
|
|
104
|
+
fi
|
|
105
|
+
|
|
106
|
+
# Run the augment command with a tight timeout. We capture stderr (the
|
|
107
|
+
# enriched text block) and discard stdout to keep the hook output channel
|
|
108
|
+
# dedicated to the PreToolUse envelope we emit below.
|
|
109
|
+
AUGMENT_OUTPUT="$( $CODEHUB_BIN augment -- "$PATTERN" 2>&1 >/dev/null || true )"
|
|
110
|
+
|
|
111
|
+
if [ -z "$AUGMENT_OUTPUT" ]; then
|
|
112
|
+
exit 0
|
|
113
|
+
fi
|
|
114
|
+
|
|
115
|
+
# Emit the PreToolUse additionalContext envelope on stdout so Claude Code
|
|
116
|
+
# injects it into the model's context before the Grep/Glob/Bash call runs.
|
|
117
|
+
python3 - "$AUGMENT_OUTPUT" <<'PY' 2>/dev/null
|
|
118
|
+
import json, sys
|
|
119
|
+
text = sys.argv[1]
|
|
120
|
+
print(json.dumps({
|
|
121
|
+
"hookSpecificOutput": {
|
|
122
|
+
"hookEventName": "PreToolUse",
|
|
123
|
+
"additionalContext": text,
|
|
124
|
+
}
|
|
125
|
+
}))
|
|
126
|
+
PY
|
|
127
|
+
|
|
128
|
+
exit 0
|