repomemory 1.10.0 → 1.11.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/README.md +4 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/risk.d.ts +8 -0
- package/dist/commands/risk.d.ts.map +1 -0
- package/dist/commands/risk.js +87 -0
- package/dist/commands/risk.js.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/git-intelligence.d.ts +59 -0
- package/dist/lib/git-intelligence.d.ts.map +1 -0
- package/dist/lib/git-intelligence.js +274 -0
- package/dist/lib/git-intelligence.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +114 -1
- package/dist/mcp/server.js.map +1 -1
- package/package.json +1 -1
- package/server.json +6 -2
package/README.md
CHANGED
|
@@ -107,7 +107,7 @@ No prompts when `--yes` / `--defaults` / `--no-prompt` is used.
|
|
|
107
107
|
|
|
108
108
|
## MCP Server — Agents With Real Memory
|
|
109
109
|
|
|
110
|
-
The real power is the MCP server. When configured via `repomemory setup claude`, it auto-starts with Claude Code and gives agents
|
|
110
|
+
The real power is the MCP server. When configured via `repomemory setup claude`, it auto-starts with Claude Code and gives agents 7 tools:
|
|
111
111
|
|
|
112
112
|
| Tool | What It Does |
|
|
113
113
|
|------|-------------|
|
|
@@ -116,6 +116,7 @@ The real power is the MCP server. When configured via `repomemory setup claude`,
|
|
|
116
116
|
| `context_write` | Write entries with smart scope routing (preferences → global) |
|
|
117
117
|
| `context_read` | Read full content, repo-first with global fallback |
|
|
118
118
|
| `context_list` | Browse entries with `[repo]`/`[global]` provenance tags |
|
|
119
|
+
| `context_risk` | Assess modification risk — hotspots, hidden coupling, bus factor |
|
|
119
120
|
| `context_delete` | Remove stale knowledge |
|
|
120
121
|
|
|
121
122
|
```
|
|
@@ -171,6 +172,8 @@ repomemory search <query> # Search knowledge base from terminal
|
|
|
171
172
|
repomemory status # Coverage and freshness report
|
|
172
173
|
repomemory doctor # Diagnostics and health check
|
|
173
174
|
repomemory dashboard # Local web UI (localhost:3333)
|
|
175
|
+
repomemory risk # Hotspots, coupling, ownership analysis
|
|
176
|
+
repomemory risk -f src/auth.ts # Targeted risk assessment for specific files
|
|
174
177
|
repomemory sync # Sync git history to changelog
|
|
175
178
|
repomemory setup <tool> # Configure Claude/Cursor/Copilot/etc
|
|
176
179
|
repomemory hook install # Auto-sync changelog on commits
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const STARTER_INDEX = "# Project Context\n\n> Auto-generated by [repomemory](https://github.com/DanielGuru/repomemory). Run `repomemory analyze` to populate.\n\n## Quick Orient\n*Run `repomemory analyze` to generate project-specific orientation.*\n\n## Context Files\n- `facts/` \u2014 Architecture, patterns, integrations\n- `decisions/` \u2014 Why things are this way (prevents re-debating)\n- `regressions/` \u2014 Known gotchas, things that broke before\n- `sessions/` \u2014 Compressed session summaries\n- `changelog/` \u2014 Recent changes by month\n- `preferences/` \u2014 Coding style, preferred patterns, tool configs\n\n## For AI Agents\nSearch this directory for task-relevant context before starting work.\nWrite new learnings using the `context_write` MCP tool during your session.\n";
|
|
2
2
|
export declare function writeDefaultConfigFile(repoRoot: string, provider: string, model: string, embeddingProvider?: string): void;
|
|
3
|
-
export declare const CLAUDE_MD_BLOCK = "## Repository Memory (repomemory)\n\nThis repo uses [repomemory](https://github.com/DanielGuru/repomemory) for persistent AI memory.\n\n**IMPORTANT: Before starting ANY task, you MUST call `context_search` with relevant\nkeywords. This is NOT optional. The knowledge base contains architecture docs,\npast decisions, and known regressions that WILL save you from mistakes.\nDo NOT skip this step even if the task seems simple.**\n\n**ALWAYS at the start of every task:**\n1. Call `context_search` with keywords related to your task\n2. If this is a new session, call `context_auto_orient` for a full project overview\n3. NEVER propose changes without first checking for past decisions\n\n**During your session:**\n- ALWAYS use `context_write` to record discoveries, decisions, and gotchas\n- ALWAYS use `context_delete` to remove stale or incorrect knowledge\n- Record coding preferences in `context_write(category=\"preferences\", ...)`\n\n**Before modifying code:**\n- You MUST search for known regressions related to the component\n- You MUST check for past decisions before proposing alternatives\n\n**At end of session (REQUIRED):**\n- Write a session summary: `context_write(category=\"sessions\", ...)`\n- Route discoveries to the right category (facts/, decisions/, preferences/)";
|
|
3
|
+
export declare const CLAUDE_MD_BLOCK = "## Repository Memory (repomemory)\n\nThis repo uses [repomemory](https://github.com/DanielGuru/repomemory) for persistent AI memory.\n\n**IMPORTANT: Before starting ANY task, you MUST call `context_search` with relevant\nkeywords. This is NOT optional. The knowledge base contains architecture docs,\npast decisions, and known regressions that WILL save you from mistakes.\nDo NOT skip this step even if the task seems simple.**\n\n**ALWAYS at the start of every task:**\n1. Call `context_search` with keywords related to your task\n2. If this is a new session, call `context_auto_orient` for a full project overview\n3. NEVER propose changes without first checking for past decisions\n\n**During your session:**\n- ALWAYS use `context_write` to record discoveries, decisions, and gotchas\n- ALWAYS use `context_delete` to remove stale or incorrect knowledge\n- Record coding preferences in `context_write(category=\"preferences\", ...)`\n\n**Before modifying code:**\n- You MUST search for known regressions related to the component\n- You MUST check for past decisions before proposing alternatives\n- Call `context_risk` with the file paths you plan to modify \u2014 it reveals hidden coupling (files that must change together), ownership concentration, and churn hotspots\n\n**At end of session (REQUIRED):**\n- Write a session summary: `context_write(category=\"sessions\", ...)`\n- Route discoveries to the right category (facts/, decisions/, preferences/)";
|
|
4
4
|
export declare function initCommand(options: {
|
|
5
5
|
dir?: string;
|
|
6
6
|
provider?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,2wBAkBzB,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,CAkBN;AAED,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,2wBAkBzB,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,CAkBN;AAED,eAAO,MAAM,eAAe,27CA0BiD,CAAC;AAE9E,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,iBAkEzG"}
|
package/dist/commands/init.js
CHANGED
|
@@ -63,6 +63,7 @@ Do NOT skip this step even if the task seems simple.**
|
|
|
63
63
|
**Before modifying code:**
|
|
64
64
|
- You MUST search for known regressions related to the component
|
|
65
65
|
- You MUST check for past decisions before proposing alternatives
|
|
66
|
+
- Call \`context_risk\` with the file paths you plan to modify — it reveals hidden coupling (files that must change together), ownership concentration, and churn hotspots
|
|
66
67
|
|
|
67
68
|
**At end of session (REQUIRED):**
|
|
68
69
|
- Write a session summary: \`context_write(category="sessions", ...)\`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,QAAgB,EAChB,KAAa,EACb,iBAA0B;IAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,aAAa,GAA4B;YAC7C,QAAQ;YACR,KAAK;YACL,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,mBAAmB,EAAE,cAAc,CAAC,mBAAmB;YACvD,aAAa,EAAE,cAAc,CAAC,aAAa;YAC3C,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,cAAc,EAAE,EAAc;YAC9B,eAAe,EAAE,EAAc;SAChC,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,aAAa,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QACtD,CAAC;QACD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk.d.ts","sourceRoot":"","sources":["../../src/commands/risk.ts"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,iBAgGA"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { analyzeGitIntelligence, assessFileRisk } from "../lib/git-intelligence.js";
|
|
3
|
+
export async function riskCommand(options) {
|
|
4
|
+
const repoRoot = options.dir || process.cwd();
|
|
5
|
+
const topN = parseInt(options.limit || "15");
|
|
6
|
+
const maxCommits = parseInt(options.maxCommits || "500");
|
|
7
|
+
if (options.files) {
|
|
8
|
+
// Targeted assessment
|
|
9
|
+
const targets = options.files.split(",").map((f) => f.trim());
|
|
10
|
+
console.log(chalk.bold(`\n🔍 Assessing risk for ${targets.length} file${targets.length === 1 ? "" : "s"}...\n`));
|
|
11
|
+
const result = assessFileRisk(repoRoot, targets, { maxCommits });
|
|
12
|
+
if (options.json) {
|
|
13
|
+
console.log(JSON.stringify(result, null, 2));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
for (const a of result.assessments) {
|
|
17
|
+
const color = a.riskLevel === "high" ? chalk.red : a.riskLevel === "medium" ? chalk.yellow : chalk.green;
|
|
18
|
+
const icon = a.riskLevel === "high" ? "⚠️" : a.riskLevel === "medium" ? "⚡" : "✅";
|
|
19
|
+
console.log(`${icon} ${chalk.bold(a.file)} — ${color(a.riskLevel + " risk")}`);
|
|
20
|
+
if (a.riskFactors.length > 0) {
|
|
21
|
+
for (const f of a.riskFactors) {
|
|
22
|
+
console.log(chalk.dim(` ${f}`));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console.log(chalk.dim(" No significant risk factors detected"));
|
|
27
|
+
}
|
|
28
|
+
if (a.ownership) {
|
|
29
|
+
console.log(chalk.dim(` Owner: ${a.ownership.primaryOwner} (${a.ownership.ownershipPct}%), bus factor: ${a.ownership.busFactor}`));
|
|
30
|
+
}
|
|
31
|
+
if (a.coChangePartners.length > 0) {
|
|
32
|
+
console.log(chalk.dim(" Often changes with:"));
|
|
33
|
+
for (const c of a.coChangePartners) {
|
|
34
|
+
const partner = c.fileA === a.file ? c.fileB : c.fileA;
|
|
35
|
+
console.log(chalk.dim(` - ${partner} (${c.coChangeCount} co-changes)`));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
console.log();
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Global overview
|
|
43
|
+
console.log(chalk.bold(`\n🔍 Analyzing git intelligence (up to ${maxCommits} commits)...\n`));
|
|
44
|
+
const intel = analyzeGitIntelligence(repoRoot, { maxCommits, topN });
|
|
45
|
+
if (intel.analyzedCommits === 0) {
|
|
46
|
+
throw new Error("No git history found. Is this a git repository?");
|
|
47
|
+
}
|
|
48
|
+
if (options.json) {
|
|
49
|
+
console.log(JSON.stringify(intel, null, 2));
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
console.log(chalk.dim(` Analyzed ${intel.analyzedCommits} commits over ${intel.timespan}\n`));
|
|
53
|
+
// Hotspots
|
|
54
|
+
if (intel.hotspots.length > 0) {
|
|
55
|
+
console.log(chalk.bold.red(" 🔥 Hotspot Files (high churn — modify with care)\n"));
|
|
56
|
+
for (const h of intel.hotspots) {
|
|
57
|
+
const bar = renderBar(h.score);
|
|
58
|
+
console.log(` ${bar} ${chalk.bold(h.file)}`);
|
|
59
|
+
console.log(chalk.dim(` ${h.commits} commits, ${h.churn} lines churned, ${h.authors} authors\n`));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Co-change pairs
|
|
63
|
+
if (intel.coChangePairs.length > 0) {
|
|
64
|
+
console.log(chalk.bold.yellow(" 🔗 Hidden Coupling (files that change together)\n"));
|
|
65
|
+
for (const c of intel.coChangePairs.slice(0, 10)) {
|
|
66
|
+
console.log(` ${chalk.cyan(c.fileA)} ↔ ${chalk.cyan(c.fileB)}`);
|
|
67
|
+
console.log(chalk.dim(` ${c.coChangeCount} co-changes, confidence: ${c.confidence}\n`));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Ownership
|
|
71
|
+
if (intel.ownership.length > 0) {
|
|
72
|
+
console.log(chalk.bold.blue(" 👤 Ownership Concentration\n"));
|
|
73
|
+
for (const o of intel.ownership) {
|
|
74
|
+
const risk = o.busFactor === 1 ? chalk.red(" ⚠️ bus-factor risk") : "";
|
|
75
|
+
console.log(` ${chalk.bold(o.file)} — ${o.primaryOwner} (${o.ownershipPct}%), bus factor: ${o.busFactor}${risk}`);
|
|
76
|
+
}
|
|
77
|
+
console.log();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function renderBar(score) {
|
|
81
|
+
const width = 15;
|
|
82
|
+
const filled = Math.round(score * width);
|
|
83
|
+
const empty = width - filled;
|
|
84
|
+
const color = score >= 0.7 ? chalk.red : score >= 0.4 ? chalk.yellow : chalk.green;
|
|
85
|
+
return color("█".repeat(filled) + "░".repeat(empty)) + chalk.dim(` ${(score * 100).toFixed(0)}%`);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=risk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../../src/commands/risk.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,7 @@ import { hookCommand } from "./commands/hook.js";
|
|
|
12
12
|
import { goCommand } from "./commands/go.js";
|
|
13
13
|
import { searchCommand } from "./commands/search.js";
|
|
14
14
|
import { doctorCommand } from "./commands/doctor.js";
|
|
15
|
+
import { riskCommand } from "./commands/risk.js";
|
|
15
16
|
import { globalListCommand, globalReadCommand, globalWriteCommand, globalDeleteCommand, globalExportCommand, globalImportCommand, } from "./commands/global.js";
|
|
16
17
|
import { createRequire } from "module";
|
|
17
18
|
const require = createRequire(import.meta.url);
|
|
@@ -101,6 +102,15 @@ program
|
|
|
101
102
|
.option("--json", "Output machine-readable JSON", false)
|
|
102
103
|
.option("--output <path>", "Write a diagnostics bundle to this file")
|
|
103
104
|
.action(doctorCommand);
|
|
105
|
+
program
|
|
106
|
+
.command("risk")
|
|
107
|
+
.description("Analyze git history for hotspots, hidden coupling, and ownership risk")
|
|
108
|
+
.option("-d, --dir <path>", "Repository root directory", process.cwd())
|
|
109
|
+
.option("-f, --files <files>", "Comma-separated file paths to assess (e.g. src/auth.ts,src/api.ts)")
|
|
110
|
+
.option("-l, --limit <n>", "Max results per category", "15")
|
|
111
|
+
.option("--max-commits <n>", "Max git commits to analyze", "500")
|
|
112
|
+
.option("--json", "Output results as JSON", false)
|
|
113
|
+
.action(riskCommand);
|
|
104
114
|
program
|
|
105
115
|
.command("go")
|
|
106
116
|
.description("One-command setup — init, analyze, and configure Claude Code in one flow")
|
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,59 @@
|
|
|
1
|
+
export interface FileHotspot {
|
|
2
|
+
file: string;
|
|
3
|
+
commits: number;
|
|
4
|
+
authors: number;
|
|
5
|
+
insertions: number;
|
|
6
|
+
deletions: number;
|
|
7
|
+
churn: number;
|
|
8
|
+
score: number;
|
|
9
|
+
}
|
|
10
|
+
export interface CoChangePair {
|
|
11
|
+
fileA: string;
|
|
12
|
+
fileB: string;
|
|
13
|
+
coChangeCount: number;
|
|
14
|
+
confidence: number;
|
|
15
|
+
}
|
|
16
|
+
export interface FileOwnership {
|
|
17
|
+
file: string;
|
|
18
|
+
primaryOwner: string;
|
|
19
|
+
ownershipPct: number;
|
|
20
|
+
contributors: {
|
|
21
|
+
name: string;
|
|
22
|
+
commits: number;
|
|
23
|
+
pct: number;
|
|
24
|
+
}[];
|
|
25
|
+
busFactor: number;
|
|
26
|
+
}
|
|
27
|
+
export interface GitIntelligence {
|
|
28
|
+
hotspots: FileHotspot[];
|
|
29
|
+
coChangePairs: CoChangePair[];
|
|
30
|
+
ownership: FileOwnership[];
|
|
31
|
+
analyzedCommits: number;
|
|
32
|
+
timespan: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Run full git intelligence analysis on a repository.
|
|
36
|
+
* Analyzes up to `maxCommits` of history (default 500).
|
|
37
|
+
*/
|
|
38
|
+
export declare function analyzeGitIntelligence(repoRoot: string, options?: {
|
|
39
|
+
maxCommits?: number;
|
|
40
|
+
topN?: number;
|
|
41
|
+
}): GitIntelligence;
|
|
42
|
+
/**
|
|
43
|
+
* Get risk assessment for specific files.
|
|
44
|
+
* Returns hotspot score, co-change partners, and ownership info.
|
|
45
|
+
*/
|
|
46
|
+
export declare function assessFileRisk(repoRoot: string, targets: string[], options?: {
|
|
47
|
+
maxCommits?: number;
|
|
48
|
+
}): {
|
|
49
|
+
assessments: Array<{
|
|
50
|
+
file: string;
|
|
51
|
+
hotspot: FileHotspot | null;
|
|
52
|
+
coChangePartners: CoChangePair[];
|
|
53
|
+
ownership: FileOwnership | null;
|
|
54
|
+
riskLevel: "low" | "medium" | "high";
|
|
55
|
+
riskFactors: string[];
|
|
56
|
+
}>;
|
|
57
|
+
globalHotspots: FileHotspot[];
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=git-intelligence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-intelligence.d.ts","sourceRoot":"","sources":["../../src/lib/git-intelligence.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgOD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,eAAe,CAuCjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACpC;IACD,WAAW,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;QAC5B,gBAAgB,EAAE,YAAY,EAAE,CAAC;QACjC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;QAChC,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACrC,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC,CAAC;IACH,cAAc,EAAE,WAAW,EAAE,CAAC;CAC/B,CA2CA"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { execFileSync } from "child_process";
|
|
2
|
+
// --- Helpers ---
|
|
3
|
+
function git(args, cwd, timeout = 30_000) {
|
|
4
|
+
try {
|
|
5
|
+
return execFileSync("git", args, {
|
|
6
|
+
cwd,
|
|
7
|
+
encoding: "utf-8",
|
|
8
|
+
timeout,
|
|
9
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
10
|
+
}).trim();
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return "";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
// --- Analysis Functions ---
|
|
17
|
+
/**
|
|
18
|
+
* Analyze git history to find hotspot files (high churn).
|
|
19
|
+
* Uses `git log --numstat` to count per-file changes.
|
|
20
|
+
*/
|
|
21
|
+
function analyzeHotspots(repoRoot, maxCommits) {
|
|
22
|
+
// Get per-file change stats from git log
|
|
23
|
+
const log = git(["log", `--max-count=${maxCommits}`, "--no-merges", "--format=%H", "--numstat"], repoRoot, 60_000);
|
|
24
|
+
if (!log)
|
|
25
|
+
return [];
|
|
26
|
+
const fileStats = new Map();
|
|
27
|
+
// Also get per-commit authors
|
|
28
|
+
const commitAuthors = new Map();
|
|
29
|
+
const authorLog = git(["log", `--max-count=${maxCommits}`, "--no-merges", "--format=%H%x00%an"], repoRoot, 30_000);
|
|
30
|
+
for (const line of authorLog.split("\n")) {
|
|
31
|
+
const [hash, author] = line.split("\0");
|
|
32
|
+
if (hash && author)
|
|
33
|
+
commitAuthors.set(hash, author);
|
|
34
|
+
}
|
|
35
|
+
let currentCommit = "";
|
|
36
|
+
for (const line of log.split("\n")) {
|
|
37
|
+
if (!line)
|
|
38
|
+
continue;
|
|
39
|
+
// Lines with only a hash (40 hex chars)
|
|
40
|
+
if (/^[0-9a-f]{40}$/.test(line)) {
|
|
41
|
+
currentCommit = line;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
// numstat lines: insertions \t deletions \t file
|
|
45
|
+
const match = line.match(/^(\d+|-)\t(\d+|-)\t(.+)$/);
|
|
46
|
+
if (!match || !currentCommit)
|
|
47
|
+
continue;
|
|
48
|
+
const insertions = match[1] === "-" ? 0 : parseInt(match[1]);
|
|
49
|
+
const deletions = match[2] === "-" ? 0 : parseInt(match[2]);
|
|
50
|
+
const file = match[3];
|
|
51
|
+
// Skip binary files and deleted files
|
|
52
|
+
if (file.includes(" => "))
|
|
53
|
+
continue; // renamed files in diff format
|
|
54
|
+
let stats = fileStats.get(file);
|
|
55
|
+
if (!stats) {
|
|
56
|
+
stats = { commits: new Set(), authors: new Set(), insertions: 0, deletions: 0 };
|
|
57
|
+
fileStats.set(file, stats);
|
|
58
|
+
}
|
|
59
|
+
stats.commits.add(currentCommit);
|
|
60
|
+
const author = commitAuthors.get(currentCommit);
|
|
61
|
+
if (author)
|
|
62
|
+
stats.authors.add(author);
|
|
63
|
+
stats.insertions += insertions;
|
|
64
|
+
stats.deletions += deletions;
|
|
65
|
+
}
|
|
66
|
+
// Convert to hotspot entries and compute scores
|
|
67
|
+
const hotspots = [];
|
|
68
|
+
for (const [file, stats] of fileStats) {
|
|
69
|
+
const churn = stats.insertions + stats.deletions;
|
|
70
|
+
hotspots.push({
|
|
71
|
+
file,
|
|
72
|
+
commits: stats.commits.size,
|
|
73
|
+
authors: stats.authors.size,
|
|
74
|
+
insertions: stats.insertions,
|
|
75
|
+
deletions: stats.deletions,
|
|
76
|
+
churn,
|
|
77
|
+
score: 0, // computed after normalization
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (hotspots.length === 0)
|
|
81
|
+
return [];
|
|
82
|
+
// Normalize scores: churn × commit_count (files that change often AND change a lot)
|
|
83
|
+
const maxChurn = Math.max(...hotspots.map((h) => h.churn));
|
|
84
|
+
const maxCommitCount = Math.max(...hotspots.map((h) => h.commits));
|
|
85
|
+
for (const h of hotspots) {
|
|
86
|
+
const churnNorm = maxChurn > 0 ? h.churn / maxChurn : 0;
|
|
87
|
+
const commitNorm = maxCommitCount > 0 ? h.commits / maxCommitCount : 0;
|
|
88
|
+
h.score = Math.round((churnNorm * 0.6 + commitNorm * 0.4) * 100) / 100;
|
|
89
|
+
}
|
|
90
|
+
// Sort by score descending and return top entries
|
|
91
|
+
hotspots.sort((a, b) => b.score - a.score);
|
|
92
|
+
return hotspots;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Find files that frequently change together (co-change detection).
|
|
96
|
+
* Uses commit history to find file pairs that appear in the same commits.
|
|
97
|
+
*/
|
|
98
|
+
function analyzeCoChanges(repoRoot, maxCommits, minCoChanges = 3) {
|
|
99
|
+
// Get files per commit
|
|
100
|
+
const log = git(["log", `--max-count=${maxCommits}`, "--no-merges", "--format=%H", "--name-only"], repoRoot, 60_000);
|
|
101
|
+
if (!log)
|
|
102
|
+
return [];
|
|
103
|
+
const commitFiles = new Map();
|
|
104
|
+
const fileCommitCounts = new Map();
|
|
105
|
+
let currentCommit = "";
|
|
106
|
+
for (const line of log.split("\n")) {
|
|
107
|
+
if (!line)
|
|
108
|
+
continue;
|
|
109
|
+
if (/^[0-9a-f]{40}$/.test(line)) {
|
|
110
|
+
currentCommit = line;
|
|
111
|
+
if (!commitFiles.has(currentCommit))
|
|
112
|
+
commitFiles.set(currentCommit, []);
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (currentCommit) {
|
|
116
|
+
commitFiles.get(currentCommit).push(line);
|
|
117
|
+
fileCommitCounts.set(line, (fileCommitCounts.get(line) || 0) + 1);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Count co-change pairs (only for commits with 2-15 files to avoid noise from large commits)
|
|
121
|
+
const pairCounts = new Map();
|
|
122
|
+
for (const [, files] of commitFiles) {
|
|
123
|
+
if (files.length < 2 || files.length > 15)
|
|
124
|
+
continue;
|
|
125
|
+
for (let i = 0; i < files.length; i++) {
|
|
126
|
+
for (let j = i + 1; j < files.length; j++) {
|
|
127
|
+
const key = files[i] < files[j] ? `${files[i]}\0${files[j]}` : `${files[j]}\0${files[i]}`;
|
|
128
|
+
pairCounts.set(key, (pairCounts.get(key) || 0) + 1);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Build results with confidence scores
|
|
133
|
+
const pairs = [];
|
|
134
|
+
for (const [key, count] of pairCounts) {
|
|
135
|
+
if (count < minCoChanges)
|
|
136
|
+
continue;
|
|
137
|
+
const [fileA, fileB] = key.split("\0");
|
|
138
|
+
const countA = fileCommitCounts.get(fileA) || 1;
|
|
139
|
+
const countB = fileCommitCounts.get(fileB) || 1;
|
|
140
|
+
// Confidence: how often they co-change relative to each file's individual change frequency
|
|
141
|
+
// Jaccard-like: co-changes / (changes_A + changes_B - co-changes)
|
|
142
|
+
const confidence = Math.round((count / (countA + countB - count)) * 100) / 100;
|
|
143
|
+
pairs.push({ fileA, fileB, coChangeCount: count, confidence });
|
|
144
|
+
}
|
|
145
|
+
pairs.sort((a, b) => b.coChangeCount - a.coChangeCount);
|
|
146
|
+
return pairs;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Analyze file ownership from git blame/shortlog.
|
|
150
|
+
* Uses `git shortlog` per-file for efficiency.
|
|
151
|
+
*/
|
|
152
|
+
function analyzeOwnership(repoRoot, files) {
|
|
153
|
+
const ownership = [];
|
|
154
|
+
for (const file of files) {
|
|
155
|
+
// Use shortlog for the specific file
|
|
156
|
+
const shortlog = git(["shortlog", "-sn", "--no-merges", "HEAD", "--", file], repoRoot);
|
|
157
|
+
if (!shortlog)
|
|
158
|
+
continue;
|
|
159
|
+
const contributors = [];
|
|
160
|
+
let totalCommits = 0;
|
|
161
|
+
for (const line of shortlog.split("\n")) {
|
|
162
|
+
const match = line.trim().match(/^(\d+)\s+(.+)$/);
|
|
163
|
+
if (!match)
|
|
164
|
+
continue;
|
|
165
|
+
const commits = parseInt(match[1]);
|
|
166
|
+
totalCommits += commits;
|
|
167
|
+
contributors.push({ name: match[2], commits, pct: 0 });
|
|
168
|
+
}
|
|
169
|
+
if (contributors.length === 0)
|
|
170
|
+
continue;
|
|
171
|
+
// Calculate percentages
|
|
172
|
+
for (const c of contributors) {
|
|
173
|
+
c.pct = Math.round((c.commits / totalCommits) * 100);
|
|
174
|
+
}
|
|
175
|
+
// Bus factor: minimum contributors to cover 80% of commits
|
|
176
|
+
let cumulative = 0;
|
|
177
|
+
let busFactor = 0;
|
|
178
|
+
for (const c of contributors) {
|
|
179
|
+
cumulative += c.pct;
|
|
180
|
+
busFactor++;
|
|
181
|
+
if (cumulative >= 80)
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
ownership.push({
|
|
185
|
+
file,
|
|
186
|
+
primaryOwner: contributors[0].name,
|
|
187
|
+
ownershipPct: contributors[0].pct,
|
|
188
|
+
contributors: contributors.slice(0, 5), // top 5
|
|
189
|
+
busFactor,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
return ownership;
|
|
193
|
+
}
|
|
194
|
+
// --- Main Entry Point ---
|
|
195
|
+
/**
|
|
196
|
+
* Run full git intelligence analysis on a repository.
|
|
197
|
+
* Analyzes up to `maxCommits` of history (default 500).
|
|
198
|
+
*/
|
|
199
|
+
export function analyzeGitIntelligence(repoRoot, options = {}) {
|
|
200
|
+
const maxCommits = options.maxCommits ?? 500;
|
|
201
|
+
const topN = options.topN ?? 20;
|
|
202
|
+
// Check if it's a git repo
|
|
203
|
+
const isGit = git(["rev-parse", "--is-inside-work-tree"], repoRoot);
|
|
204
|
+
if (isGit !== "true") {
|
|
205
|
+
return { hotspots: [], coChangePairs: [], ownership: [], analyzedCommits: 0, timespan: "N/A" };
|
|
206
|
+
}
|
|
207
|
+
// Get timespan info
|
|
208
|
+
const totalCommitsStr = git(["rev-list", "--count", `--max-count=${maxCommits}`, "HEAD"], repoRoot);
|
|
209
|
+
const analyzedCommits = parseInt(totalCommitsStr) || 0;
|
|
210
|
+
let timespan = "N/A";
|
|
211
|
+
if (analyzedCommits > 0) {
|
|
212
|
+
const oldestDate = git(["log", `--max-count=${maxCommits}`, "--reverse", "--format=%ai", "HEAD"], repoRoot, 30_000)
|
|
213
|
+
.split("\n")
|
|
214
|
+
.filter(Boolean)[0];
|
|
215
|
+
if (oldestDate) {
|
|
216
|
+
const days = Math.round((Date.now() - new Date(oldestDate).getTime()) / (1000 * 60 * 60 * 24));
|
|
217
|
+
if (days > 365)
|
|
218
|
+
timespan = `${Math.round(days / 365)} year${days > 730 ? "s" : ""}`;
|
|
219
|
+
else if (days > 30)
|
|
220
|
+
timespan = `${Math.round(days / 30)} month${days > 60 ? "s" : ""}`;
|
|
221
|
+
else
|
|
222
|
+
timespan = `${days} day${days !== 1 ? "s" : ""}`;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// Run analyses
|
|
226
|
+
const allHotspots = analyzeHotspots(repoRoot, maxCommits);
|
|
227
|
+
const hotspots = allHotspots.slice(0, topN);
|
|
228
|
+
const coChangePairs = analyzeCoChanges(repoRoot, maxCommits).slice(0, topN);
|
|
229
|
+
// Ownership only for hotspot files (expensive per-file)
|
|
230
|
+
const hotspotFiles = hotspots.slice(0, 10).map((h) => h.file);
|
|
231
|
+
const ownership = analyzeOwnership(repoRoot, hotspotFiles);
|
|
232
|
+
return { hotspots, coChangePairs, ownership, analyzedCommits, timespan };
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Get risk assessment for specific files.
|
|
236
|
+
* Returns hotspot score, co-change partners, and ownership info.
|
|
237
|
+
*/
|
|
238
|
+
export function assessFileRisk(repoRoot, targets, options = {}) {
|
|
239
|
+
const maxCommits = options.maxCommits ?? 500;
|
|
240
|
+
const allHotspots = analyzeHotspots(repoRoot, maxCommits);
|
|
241
|
+
const allCoChanges = analyzeCoChanges(repoRoot, maxCommits);
|
|
242
|
+
const ownershipData = analyzeOwnership(repoRoot, targets);
|
|
243
|
+
const assessments = targets.map((file) => {
|
|
244
|
+
const hotspot = allHotspots.find((h) => h.file === file) || null;
|
|
245
|
+
const coChangePartners = allCoChanges.filter((c) => c.fileA === file || c.fileB === file).slice(0, 5);
|
|
246
|
+
const ownership = ownershipData.find((o) => o.file === file) || null;
|
|
247
|
+
// Determine risk level
|
|
248
|
+
const riskFactors = [];
|
|
249
|
+
if (hotspot && hotspot.score >= 0.7) {
|
|
250
|
+
riskFactors.push(`High churn hotspot (score: ${hotspot.score}, ${hotspot.commits} commits, ${hotspot.churn} lines changed)`);
|
|
251
|
+
}
|
|
252
|
+
else if (hotspot && hotspot.score >= 0.4) {
|
|
253
|
+
riskFactors.push(`Moderate churn (score: ${hotspot.score}, ${hotspot.commits} commits)`);
|
|
254
|
+
}
|
|
255
|
+
if (ownership && ownership.busFactor === 1) {
|
|
256
|
+
riskFactors.push(`Bus factor risk: only ${ownership.primaryOwner} (${ownership.ownershipPct}% of commits)`);
|
|
257
|
+
}
|
|
258
|
+
if (coChangePartners.length > 0) {
|
|
259
|
+
const partners = coChangePartners.map((c) => (c.fileA === file ? c.fileB : c.fileA));
|
|
260
|
+
riskFactors.push(`Hidden coupling: often changes with ${partners.slice(0, 3).join(", ")}`);
|
|
261
|
+
}
|
|
262
|
+
let riskLevel = "low";
|
|
263
|
+
if (hotspot && hotspot.score >= 0.7)
|
|
264
|
+
riskLevel = "high";
|
|
265
|
+
else if (riskFactors.length >= 2 || (hotspot && hotspot.score >= 0.4))
|
|
266
|
+
riskLevel = "medium";
|
|
267
|
+
return { file, hotspot, coChangePartners, ownership, riskLevel, riskFactors };
|
|
268
|
+
});
|
|
269
|
+
return {
|
|
270
|
+
assessments,
|
|
271
|
+
globalHotspots: allHotspots.slice(0, 5),
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=git-intelligence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-intelligence.js","sourceRoot":"","sources":["../../src/lib/git-intelligence.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAY1D,UAAU,cAAc;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,EAAE,CAAC;IAC/C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAeD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CA0B5F;AAyBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMrE;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAg1C/F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAOlD"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -5,6 +5,7 @@ import { ContextStore } from "../lib/context-store.js";
|
|
|
5
5
|
import { SearchIndex } from "../lib/search.js";
|
|
6
6
|
import { createEmbeddingProvider } from "../lib/embeddings.js";
|
|
7
7
|
import { resolveGlobalDir } from "../lib/config.js";
|
|
8
|
+
import { assessFileRisk, analyzeGitIntelligence } from "../lib/git-intelligence.js";
|
|
8
9
|
import { createRequire } from "module";
|
|
9
10
|
const require = createRequire(import.meta.url);
|
|
10
11
|
const { version: PKG_VERSION } = require("../../package.json");
|
|
@@ -179,7 +180,7 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
179
180
|
role: "user",
|
|
180
181
|
content: {
|
|
181
182
|
type: "text",
|
|
182
|
-
text: `I'm about to work on: ${task}\n\nYou MUST search the repository's persistent knowledge base for relevant context before starting. Use context_search with relevant keywords, and call context_auto_orient if this is a new session. Do NOT skip
|
|
183
|
+
text: `I'm about to work on: ${task}\n\nYou MUST search the repository's persistent knowledge base for relevant context before starting. Use context_search with relevant keywords, and call context_auto_orient if this is a new session. Before modifying any files, call context_risk with the file paths you plan to change — it reveals hidden coupling, ownership concentration, and churn hotspots. Do NOT skip these steps.`,
|
|
183
184
|
},
|
|
184
185
|
},
|
|
185
186
|
],
|
|
@@ -400,6 +401,31 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
400
401
|
openWorldHint: false,
|
|
401
402
|
},
|
|
402
403
|
},
|
|
404
|
+
{
|
|
405
|
+
name: "context_risk",
|
|
406
|
+
description: "Assess modification risk for files BEFORE editing them. Analyzes git history to surface: hotspot files (high churn), hidden coupling (files that always change together), ownership concentration (bus factor). Use this when you're about to modify important files to understand what else might need to change and what risks to watch for.",
|
|
407
|
+
inputSchema: {
|
|
408
|
+
type: "object",
|
|
409
|
+
properties: {
|
|
410
|
+
targets: {
|
|
411
|
+
type: "array",
|
|
412
|
+
items: { type: "string" },
|
|
413
|
+
description: "File paths to assess (relative to repo root). Example: ['src/lib/auth.ts', 'src/api/routes.ts']. If omitted, returns global hotspot overview.",
|
|
414
|
+
},
|
|
415
|
+
maxCommits: {
|
|
416
|
+
type: "number",
|
|
417
|
+
description: "Max git commits to analyze (default: 500). Lower = faster, higher = more accurate.",
|
|
418
|
+
},
|
|
419
|
+
},
|
|
420
|
+
},
|
|
421
|
+
annotations: {
|
|
422
|
+
title: "Risk Assessment",
|
|
423
|
+
readOnlyHint: true,
|
|
424
|
+
destructiveHint: false,
|
|
425
|
+
idempotentHint: true,
|
|
426
|
+
openWorldHint: false,
|
|
427
|
+
},
|
|
428
|
+
},
|
|
403
429
|
],
|
|
404
430
|
};
|
|
405
431
|
});
|
|
@@ -960,7 +986,94 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
960
986
|
parts.push("\n> **Note**: Context is mostly empty. Ask the user to run `npx repomemory analyze` to populate with architecture knowledge.");
|
|
961
987
|
}
|
|
962
988
|
}
|
|
989
|
+
// 7. Top risk hotspots (quick git intelligence)
|
|
990
|
+
try {
|
|
991
|
+
const intel = analyzeGitIntelligence(repoRoot, { maxCommits: 200, topN: 5 });
|
|
992
|
+
if (intel.hotspots.length > 0) {
|
|
993
|
+
parts.push("\n# Risk Hotspots (high-churn files — use `context_risk` before modifying)\n");
|
|
994
|
+
for (const h of intel.hotspots.slice(0, 5)) {
|
|
995
|
+
const level = h.score >= 0.7 ? "\u26a0\ufe0f" : h.score >= 0.4 ? "\u26a1" : "";
|
|
996
|
+
parts.push(`- ${level} ${h.file} — score: ${h.score}, ${h.commits} commits, ${h.churn} lines churned`);
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
catch {
|
|
1001
|
+
// Git intelligence is best-effort in orient
|
|
1002
|
+
}
|
|
1003
|
+
session.readCallCount++;
|
|
1004
|
+
return { content: [{ type: "text", text: parts.join("\n") + getWriteNudge() }] };
|
|
1005
|
+
}
|
|
1006
|
+
case "context_risk": {
|
|
1007
|
+
const { targets, maxCommits = 500 } = (args || {});
|
|
1008
|
+
session.toolCalls.push({ tool: "context_risk", timestamp: new Date() });
|
|
963
1009
|
session.readCallCount++;
|
|
1010
|
+
const parts = [];
|
|
1011
|
+
if (targets && targets.length > 0) {
|
|
1012
|
+
// Targeted risk assessment
|
|
1013
|
+
const result = assessFileRisk(repoRoot, targets, { maxCommits });
|
|
1014
|
+
parts.push(`# Risk Assessment (${result.globalHotspots.length > 0 ? "from " + maxCommits + " commits" : "no git history"})\n`);
|
|
1015
|
+
for (const a of result.assessments) {
|
|
1016
|
+
const icon = a.riskLevel === "high" ? "\u26a0\ufe0f" : a.riskLevel === "medium" ? "\u26a1" : "\u2705";
|
|
1017
|
+
parts.push(`## ${icon} ${a.file} — ${a.riskLevel} risk`);
|
|
1018
|
+
if (a.riskFactors.length > 0) {
|
|
1019
|
+
for (const f of a.riskFactors) {
|
|
1020
|
+
parts.push(`- ${f}`);
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
else {
|
|
1024
|
+
parts.push("- No significant risk factors detected");
|
|
1025
|
+
}
|
|
1026
|
+
if (a.ownership) {
|
|
1027
|
+
parts.push(`- **Owner:** ${a.ownership.primaryOwner} (${a.ownership.ownershipPct}%), bus factor: ${a.ownership.busFactor}`);
|
|
1028
|
+
}
|
|
1029
|
+
if (a.coChangePartners.length > 0) {
|
|
1030
|
+
parts.push("- **Often changes with:**");
|
|
1031
|
+
for (const c of a.coChangePartners) {
|
|
1032
|
+
const partner = c.fileA === a.file ? c.fileB : c.fileA;
|
|
1033
|
+
parts.push(` - ${partner} (${c.coChangeCount} co-changes, confidence: ${c.confidence})`);
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1036
|
+
parts.push("");
|
|
1037
|
+
}
|
|
1038
|
+
// Add global hotspots for context
|
|
1039
|
+
if (result.globalHotspots.length > 0) {
|
|
1040
|
+
parts.push("## Top Hotspots (for context)\n");
|
|
1041
|
+
for (const h of result.globalHotspots) {
|
|
1042
|
+
parts.push(`- ${h.file} — score: ${h.score}, ${h.commits} commits, ${h.churn} lines churned`);
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
else {
|
|
1047
|
+
// Global overview mode
|
|
1048
|
+
const intel = analyzeGitIntelligence(repoRoot, { maxCommits, topN: 15 });
|
|
1049
|
+
if (intel.analyzedCommits === 0) {
|
|
1050
|
+
return {
|
|
1051
|
+
content: [{ type: "text", text: "No git history found. Is this a git repository?" }],
|
|
1052
|
+
};
|
|
1053
|
+
}
|
|
1054
|
+
parts.push(`# Git Intelligence Overview (${intel.analyzedCommits} commits over ${intel.timespan})\n`);
|
|
1055
|
+
if (intel.hotspots.length > 0) {
|
|
1056
|
+
parts.push("## Hotspot Files (high churn — modify with care)\n");
|
|
1057
|
+
for (const h of intel.hotspots.slice(0, 10)) {
|
|
1058
|
+
parts.push(`- **${h.file}** — score: ${h.score}, ${h.commits} commits, ${h.churn} lines churned, ${h.authors} authors`);
|
|
1059
|
+
}
|
|
1060
|
+
parts.push("");
|
|
1061
|
+
}
|
|
1062
|
+
if (intel.coChangePairs.length > 0) {
|
|
1063
|
+
parts.push("## Hidden Coupling (files that change together)\n");
|
|
1064
|
+
for (const c of intel.coChangePairs.slice(0, 10)) {
|
|
1065
|
+
parts.push(`- ${c.fileA} \u2194 ${c.fileB} — ${c.coChangeCount} co-changes (confidence: ${c.confidence})`);
|
|
1066
|
+
}
|
|
1067
|
+
parts.push("");
|
|
1068
|
+
}
|
|
1069
|
+
if (intel.ownership.length > 0) {
|
|
1070
|
+
parts.push("## Ownership Concentration\n");
|
|
1071
|
+
for (const o of intel.ownership) {
|
|
1072
|
+
const risk = o.busFactor === 1 ? " \u26a0\ufe0f bus-factor risk" : "";
|
|
1073
|
+
parts.push(`- **${o.file}** — ${o.primaryOwner} (${o.ownershipPct}%), bus factor: ${o.busFactor}${risk}`);
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
964
1077
|
return { content: [{ type: "text", text: parts.join("\n") + getWriteNudge() }] };
|
|
965
1078
|
}
|
|
966
1079
|
default:
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"$schema": "https://registry.modelcontextprotocol.io/schema/server.json",
|
|
3
3
|
"name": "io.github.DanielGuru/repomemory",
|
|
4
4
|
"description": "Persistent, structured memory for AI coding agents. Hybrid keyword + semantic search, auto-session capture, intelligent category routing. Your codebase never forgets.",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.11.0",
|
|
6
6
|
"packages": [
|
|
7
7
|
{
|
|
8
8
|
"registry": "npm",
|
|
9
9
|
"name": "repomemory",
|
|
10
|
-
"version": "1.
|
|
10
|
+
"version": "1.11.0",
|
|
11
11
|
"runtime": "node",
|
|
12
12
|
"args": [
|
|
13
13
|
"dist/index.js",
|
|
@@ -42,6 +42,10 @@
|
|
|
42
42
|
{
|
|
43
43
|
"name": "context_auto_orient",
|
|
44
44
|
"description": "Get comprehensive project orientation in one call — index, sessions, recent changes"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "context_risk",
|
|
48
|
+
"description": "Assess modification risk for files — hotspots, hidden coupling, ownership concentration, bus factor"
|
|
45
49
|
}
|
|
46
50
|
],
|
|
47
51
|
"_meta": {
|