pi-shazam 0.3.1 → 0.4.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/dist/core/baseline.d.ts +73 -0
- package/dist/core/baseline.d.ts.map +1 -0
- package/dist/core/baseline.js +169 -0
- package/dist/core/baseline.js.map +1 -0
- package/dist/core/git-hooks.d.ts +46 -0
- package/dist/core/git-hooks.d.ts.map +1 -0
- package/dist/core/git-hooks.js +183 -0
- package/dist/core/git-hooks.js.map +1 -0
- package/dist/core/output.d.ts.map +1 -1
- package/dist/core/output.js +28 -0
- package/dist/core/output.js.map +1 -1
- package/dist/hooks/after-write.d.ts +15 -13
- package/dist/hooks/after-write.d.ts.map +1 -1
- package/dist/hooks/after-write.js +235 -42
- package/dist/hooks/after-write.js.map +1 -1
- package/dist/hooks/before-start.d.ts +3 -0
- package/dist/hooks/before-start.d.ts.map +1 -1
- package/dist/hooks/before-start.js +79 -1
- package/dist/hooks/before-start.js.map +1 -1
- package/dist/hooks/pre-edit.d.ts +28 -0
- package/dist/hooks/pre-edit.d.ts.map +1 -0
- package/dist/hooks/pre-edit.js +119 -0
- package/dist/hooks/pre-edit.js.map +1 -0
- package/dist/hooks/shazam-guide.d.ts +2 -0
- package/dist/hooks/shazam-guide.d.ts.map +1 -1
- package/dist/hooks/shazam-guide.js +117 -5
- package/dist/hooks/shazam-guide.js.map +1 -1
- package/dist/hooks/tool-logger.d.ts +4 -6
- package/dist/hooks/tool-logger.d.ts.map +1 -1
- package/dist/hooks/tool-logger.js +16 -31
- package/dist/hooks/tool-logger.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/file_detail.d.ts.map +1 -1
- package/dist/tools/file_detail.js +83 -8
- package/dist/tools/file_detail.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pi-shazam core/baseline — In-memory session baseline for diff-aware verify.
|
|
3
|
+
*
|
|
4
|
+
* Captures project health at session start (LSP errors/warnings, orphan
|
|
5
|
+
* symbols, graph edges) so post-edit verify output can show what changed
|
|
6
|
+
* rather than just absolute numbers.
|
|
7
|
+
*
|
|
8
|
+
* The baseline is stored in-memory (not persisted across sessions) and
|
|
9
|
+
* resets on branch switch. If LSP is not ready at session start, the
|
|
10
|
+
* baseline is deferred to the first edit trigger.
|
|
11
|
+
*/
|
|
12
|
+
import type { RepoGraph } from "./graph.js";
|
|
13
|
+
export interface SessionBaseline {
|
|
14
|
+
branch: string;
|
|
15
|
+
commit: string;
|
|
16
|
+
timestamp: string;
|
|
17
|
+
lspErrors: number;
|
|
18
|
+
lspWarnings: number;
|
|
19
|
+
orphanSymbols: number;
|
|
20
|
+
graphEdges: number;
|
|
21
|
+
symbolCount: number;
|
|
22
|
+
fileCount: number;
|
|
23
|
+
}
|
|
24
|
+
export interface BaselineDiff {
|
|
25
|
+
lspErrors: number;
|
|
26
|
+
lspWarnings: number;
|
|
27
|
+
orphanSymbols: number;
|
|
28
|
+
graphEdges: number;
|
|
29
|
+
symbolCount: number;
|
|
30
|
+
fileCount: number;
|
|
31
|
+
newOrphans: {
|
|
32
|
+
name: string;
|
|
33
|
+
kind: string;
|
|
34
|
+
file: string;
|
|
35
|
+
line: number;
|
|
36
|
+
}[];
|
|
37
|
+
removedEdges: number;
|
|
38
|
+
addedEdges: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get the current session baseline.
|
|
42
|
+
*/
|
|
43
|
+
export declare function getBaseline(): SessionBaseline | null;
|
|
44
|
+
/**
|
|
45
|
+
* Set the session baseline.
|
|
46
|
+
*/
|
|
47
|
+
export declare function setBaseline(baseline: SessionBaseline): void;
|
|
48
|
+
/**
|
|
49
|
+
* Clear the session baseline (on branch switch).
|
|
50
|
+
*/
|
|
51
|
+
export declare function clearBaseline(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Check if a baseline is available.
|
|
54
|
+
*/
|
|
55
|
+
export declare function hasBaseline(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Create a baseline from the current graph state and LSP data.
|
|
58
|
+
*/
|
|
59
|
+
export declare function createBaseline(graph: RepoGraph, lspErrors: number, lspWarnings: number, branch: string, commit: string): SessionBaseline;
|
|
60
|
+
/**
|
|
61
|
+
* Compute a diff between the current graph and the session baseline.
|
|
62
|
+
* Returns null if no baseline exists.
|
|
63
|
+
*/
|
|
64
|
+
export declare function diffFromBaseline(graph: RepoGraph, lspErrors: number, lspWarnings: number): BaselineDiff | null;
|
|
65
|
+
/**
|
|
66
|
+
* Format a baseline diff section for text output.
|
|
67
|
+
*/
|
|
68
|
+
export declare function formatBaselineDiff(diff: BaselineDiff): string;
|
|
69
|
+
/**
|
|
70
|
+
* Format a baseline summary section for tool output.
|
|
71
|
+
*/
|
|
72
|
+
export declare function formatBaselineSummary(baseline: SessionBaseline): string;
|
|
73
|
+
//# sourceMappingURL=baseline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../core/baseline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACnB;AAOD;;GAEG;AACH,wBAAgB,WAAW,IAAI,eAAe,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACZ,eAAe,CA6BjB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA8B9G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA4B7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAUvE"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pi-shazam core/baseline — In-memory session baseline for diff-aware verify.
|
|
3
|
+
*
|
|
4
|
+
* Captures project health at session start (LSP errors/warnings, orphan
|
|
5
|
+
* symbols, graph edges) so post-edit verify output can show what changed
|
|
6
|
+
* rather than just absolute numbers.
|
|
7
|
+
*
|
|
8
|
+
* The baseline is stored in-memory (not persisted across sessions) and
|
|
9
|
+
* resets on branch switch. If LSP is not ready at session start, the
|
|
10
|
+
* baseline is deferred to the first edit trigger.
|
|
11
|
+
*/
|
|
12
|
+
// ── Session baseline state (in-memory) ────────────────────────────────────────
|
|
13
|
+
let _baseline = null;
|
|
14
|
+
let _previousOrphans = new Map();
|
|
15
|
+
/**
|
|
16
|
+
* Get the current session baseline.
|
|
17
|
+
*/
|
|
18
|
+
export function getBaseline() {
|
|
19
|
+
return _baseline;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Set the session baseline.
|
|
23
|
+
*/
|
|
24
|
+
export function setBaseline(baseline) {
|
|
25
|
+
_baseline = baseline;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Clear the session baseline (on branch switch).
|
|
29
|
+
*/
|
|
30
|
+
export function clearBaseline() {
|
|
31
|
+
_baseline = null;
|
|
32
|
+
_previousOrphans = new Map();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if a baseline is available.
|
|
36
|
+
*/
|
|
37
|
+
export function hasBaseline() {
|
|
38
|
+
return _baseline !== null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create a baseline from the current graph state and LSP data.
|
|
42
|
+
*/
|
|
43
|
+
export function createBaseline(graph, lspErrors, lspWarnings, branch, commit) {
|
|
44
|
+
let edgeCount = 0;
|
|
45
|
+
for (const [, edges] of graph.outgoing) {
|
|
46
|
+
edgeCount += edges.length;
|
|
47
|
+
}
|
|
48
|
+
const orphanCount = countOrphans(graph);
|
|
49
|
+
const baseline = {
|
|
50
|
+
branch,
|
|
51
|
+
commit,
|
|
52
|
+
timestamp: new Date().toISOString(),
|
|
53
|
+
lspErrors,
|
|
54
|
+
lspWarnings,
|
|
55
|
+
orphanSymbols: orphanCount,
|
|
56
|
+
graphEdges: edgeCount,
|
|
57
|
+
symbolCount: graph.symbols.size,
|
|
58
|
+
fileCount: graph.fileSymbols.size,
|
|
59
|
+
};
|
|
60
|
+
_baseline = baseline;
|
|
61
|
+
// Cache current orphan set for future diff
|
|
62
|
+
_previousOrphans = new Map();
|
|
63
|
+
for (const orphan of findOrphans(graph)) {
|
|
64
|
+
_previousOrphans.set(orphan.name + orphan.file, orphan);
|
|
65
|
+
}
|
|
66
|
+
return baseline;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Compute a diff between the current graph and the session baseline.
|
|
70
|
+
* Returns null if no baseline exists.
|
|
71
|
+
*/
|
|
72
|
+
export function diffFromBaseline(graph, lspErrors, lspWarnings) {
|
|
73
|
+
if (!_baseline)
|
|
74
|
+
return null;
|
|
75
|
+
let edgeCount = 0;
|
|
76
|
+
for (const [, edges] of graph.outgoing) {
|
|
77
|
+
edgeCount += edges.length;
|
|
78
|
+
}
|
|
79
|
+
const currentOrphans = findOrphans(graph);
|
|
80
|
+
const currentOrphanCount = currentOrphans.length;
|
|
81
|
+
// Find new orphans (not in previous baseline)
|
|
82
|
+
const newOrphans = currentOrphans.filter((o) => !_previousOrphans.has(o.name + o.file));
|
|
83
|
+
// Count edge changes
|
|
84
|
+
const previousEdges = _baseline.graphEdges;
|
|
85
|
+
const addedEdges = edgeCount > previousEdges ? edgeCount - previousEdges : 0;
|
|
86
|
+
const removedEdges = edgeCount < previousEdges ? previousEdges - edgeCount : 0;
|
|
87
|
+
return {
|
|
88
|
+
lspErrors: lspErrors - _baseline.lspErrors,
|
|
89
|
+
lspWarnings: lspWarnings - _baseline.lspWarnings,
|
|
90
|
+
orphanSymbols: currentOrphanCount - _baseline.orphanSymbols,
|
|
91
|
+
graphEdges: edgeCount - _baseline.graphEdges,
|
|
92
|
+
symbolCount: graph.symbols.size - _baseline.symbolCount,
|
|
93
|
+
fileCount: graph.fileSymbols.size - _baseline.fileCount,
|
|
94
|
+
newOrphans: newOrphans.slice(0, 20),
|
|
95
|
+
removedEdges,
|
|
96
|
+
addedEdges,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Format a baseline diff section for text output.
|
|
101
|
+
*/
|
|
102
|
+
export function formatBaselineDiff(diff) {
|
|
103
|
+
const lines = [];
|
|
104
|
+
lines.push("### Changes from Session Baseline");
|
|
105
|
+
lines.push("");
|
|
106
|
+
const changes = [];
|
|
107
|
+
if (diff.lspErrors !== 0)
|
|
108
|
+
changes.push(`LSP errors: ${diff.lspErrors > 0 ? "+" : ""}${diff.lspErrors}`);
|
|
109
|
+
if (diff.lspWarnings !== 0)
|
|
110
|
+
changes.push(`LSP warnings: ${diff.lspWarnings > 0 ? "+" : ""}${diff.lspWarnings}`);
|
|
111
|
+
if (diff.orphanSymbols !== 0)
|
|
112
|
+
changes.push(`Orphans: ${diff.orphanSymbols > 0 ? "+" : ""}${diff.orphanSymbols}`);
|
|
113
|
+
if (diff.graphEdges !== 0)
|
|
114
|
+
changes.push(`Graph edges: ${diff.graphEdges > 0 ? "+" : ""}${diff.graphEdges}`);
|
|
115
|
+
if (diff.symbolCount !== 0)
|
|
116
|
+
changes.push(`Symbols: ${diff.symbolCount > 0 ? "+" : ""}${diff.symbolCount}`);
|
|
117
|
+
if (changes.length > 0) {
|
|
118
|
+
lines.push(changes.join(" | "));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
lines.push("No significant changes from baseline.");
|
|
122
|
+
}
|
|
123
|
+
if (diff.newOrphans.length > 0) {
|
|
124
|
+
lines.push("");
|
|
125
|
+
lines.push("### New Orphan Symbols");
|
|
126
|
+
for (const o of diff.newOrphans) {
|
|
127
|
+
lines.push(` - ${o.kind} \`${o.name}\` — ${o.file}:${o.line}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
lines.push("");
|
|
131
|
+
return lines.join("\n");
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Format a baseline summary section for tool output.
|
|
135
|
+
*/
|
|
136
|
+
export function formatBaselineSummary(baseline) {
|
|
137
|
+
const lines = [];
|
|
138
|
+
lines.push("### Session Baseline (captured at session start)");
|
|
139
|
+
lines.push("");
|
|
140
|
+
lines.push(`Branch: ${baseline.branch} | Commit: ${baseline.commit.slice(0, 8)}`);
|
|
141
|
+
lines.push(`LSP errors: ${baseline.lspErrors} | LSP warnings: ${baseline.lspWarnings}`);
|
|
142
|
+
lines.push(`Orphans: ${baseline.orphanSymbols} | Graph edges: ${baseline.graphEdges}`);
|
|
143
|
+
lines.push(`Symbols: ${baseline.symbolCount} | Files: ${baseline.fileCount}`);
|
|
144
|
+
lines.push("");
|
|
145
|
+
return lines.join("\n");
|
|
146
|
+
}
|
|
147
|
+
// ── Helpers ─────────────────────────────────────────────────────────────────
|
|
148
|
+
function countOrphans(graph) {
|
|
149
|
+
return findOrphans(graph).length;
|
|
150
|
+
}
|
|
151
|
+
function findOrphans(graph) {
|
|
152
|
+
const orphans = [];
|
|
153
|
+
for (const sym of graph.symbols.values()) {
|
|
154
|
+
if (sym.file.includes("node_modules") || sym.file.includes(".git"))
|
|
155
|
+
continue;
|
|
156
|
+
const incoming = graph.incoming.get(sym.id);
|
|
157
|
+
if (!incoming || incoming.length === 0) {
|
|
158
|
+
if (sym.visibility === "exported" && sym.pagerank > 0.01)
|
|
159
|
+
continue;
|
|
160
|
+
if (sym.kind === "anonymous_function")
|
|
161
|
+
continue;
|
|
162
|
+
if (sym.file.includes("tests/") || sym.file.includes(".test."))
|
|
163
|
+
continue;
|
|
164
|
+
orphans.push({ name: sym.name, kind: sym.kind, file: sym.file, line: sym.line });
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return orphans;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=baseline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../core/baseline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pi-shazam core/git-hooks — Git pre-commit hook integration.
|
|
3
|
+
*
|
|
4
|
+
* Installs a pre-commit hook that runs shazam_verify --preCommit
|
|
5
|
+
* before allowing a commit. Blocks commit on FAIL verdict.
|
|
6
|
+
*
|
|
7
|
+
* The hook is installed as .git/hooks/pre-commit in the project root.
|
|
8
|
+
* It calls npx shazam_verify (via the Pi extension's verify tool)
|
|
9
|
+
* through the MCP entry point.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Install the pre-commit git hook for the given project.
|
|
13
|
+
*
|
|
14
|
+
* Writes .git/hooks/pre-commit with the shazam verify script
|
|
15
|
+
* and makes it executable.
|
|
16
|
+
*
|
|
17
|
+
* @param projectRoot - Absolute path to the project root
|
|
18
|
+
* @returns The path to the installed hook file
|
|
19
|
+
*/
|
|
20
|
+
export declare function installPreCommitHook(projectRoot: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Check if the pre-commit hook is installed for the given project.
|
|
23
|
+
*
|
|
24
|
+
* @param projectRoot - Absolute path to the project root
|
|
25
|
+
* @returns True if the shazam pre-commit hook is installed
|
|
26
|
+
*/
|
|
27
|
+
export declare function isPreCommitHookInstalled(projectRoot: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Remove the installed pre-commit hook, restoring any backup if present.
|
|
30
|
+
*
|
|
31
|
+
* @param projectRoot - Absolute path to the project root
|
|
32
|
+
* @returns True if the hook was removed
|
|
33
|
+
*/
|
|
34
|
+
export declare function removePreCommitHook(projectRoot: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Run pre-commit verification synchronously.
|
|
37
|
+
* Used by the pre-commit hook script.
|
|
38
|
+
*
|
|
39
|
+
* @param projectRoot - Absolute path to the project root
|
|
40
|
+
* @returns { verdict: "PASS" | "FAIL" | "WARN", message: string }
|
|
41
|
+
*/
|
|
42
|
+
export declare function runPreCommitVerify(projectRoot: string): {
|
|
43
|
+
verdict: "PASS" | "FAIL" | "WARN";
|
|
44
|
+
message: string;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=git-hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-hooks.d.ts","sourceRoot":"","sources":["../../core/git-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8DH;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAwBhE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAKrE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAqBhE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAwC9G"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pi-shazam core/git-hooks — Git pre-commit hook integration.
|
|
3
|
+
*
|
|
4
|
+
* Installs a pre-commit hook that runs shazam_verify --preCommit
|
|
5
|
+
* before allowing a commit. Blocks commit on FAIL verdict.
|
|
6
|
+
*
|
|
7
|
+
* The hook is installed as .git/hooks/pre-commit in the project root.
|
|
8
|
+
* It calls npx shazam_verify (via the Pi extension's verify tool)
|
|
9
|
+
* through the MCP entry point.
|
|
10
|
+
*/
|
|
11
|
+
import { writeFileSync, chmodSync, existsSync, readFileSync } from "node:fs";
|
|
12
|
+
import { join, resolve } from "node:path";
|
|
13
|
+
import { execSync } from "node:child_process";
|
|
14
|
+
/**
|
|
15
|
+
* Pre-commit hook script content.
|
|
16
|
+
* Runs shazam_verify --preCommit and exits with 1 on failure.
|
|
17
|
+
*/
|
|
18
|
+
const PRE_COMMIT_HOOK_CONTENT = `#!/bin/bash
|
|
19
|
+
# shazam pre-commit hook — auto-installed by pi-shazam
|
|
20
|
+
# Runs shazam_verify --preCommit before allowing a commit.
|
|
21
|
+
# Use 'git commit --no-verify' to bypass.
|
|
22
|
+
|
|
23
|
+
echo "[shazam] Running pre-commit verification..."
|
|
24
|
+
|
|
25
|
+
# Try to run via npx pi-shazam-mcp with a simple verify script
|
|
26
|
+
# Fallback path: try node directly
|
|
27
|
+
HOOK_DIR="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
28
|
+
|
|
29
|
+
if command -v npx &>/dev/null; then
|
|
30
|
+
# Direct node invocation of the verify logic
|
|
31
|
+
cd "$HOOK_DIR" || exit 1
|
|
32
|
+
|
|
33
|
+
# Run git diff checks directly
|
|
34
|
+
CHANGED_FILES=$(git diff --cached --name-only --diff-filter=ACMR 2>/dev/null | wc -l)
|
|
35
|
+
if [ "$CHANGED_FILES" -eq 0 ]; then
|
|
36
|
+
echo "[shazam] No staged changes to verify."
|
|
37
|
+
exit 0
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
echo "[shazam] Checking $CHANGED_FILES changed file(s)..."
|
|
41
|
+
|
|
42
|
+
# Run typecheck if available
|
|
43
|
+
if [ -f "package.json" ] && grep -q '"typecheck"' package.json 2>/dev/null; then
|
|
44
|
+
echo "[shazam] Running typecheck..."
|
|
45
|
+
npm run typecheck 2>/dev/null
|
|
46
|
+
TSC_EXIT=$?
|
|
47
|
+
if [ $TSC_EXIT -ne 0 ]; then
|
|
48
|
+
echo "[shazam] FAIL: TypeScript typecheck found errors."
|
|
49
|
+
echo "[shazam] Fix errors or use 'git commit --no-verify' to bypass."
|
|
50
|
+
exit 1
|
|
51
|
+
fi
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
# Run tests for changed files if test script exists
|
|
55
|
+
if [ -f "package.json" ] && grep -q '"test"' package.json 2>/dev/null; then
|
|
56
|
+
echo "[shazam] Running tests for changed files..."
|
|
57
|
+
# For now, just run a quick test on changed areas
|
|
58
|
+
# Full test suite is too slow for pre-commit
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
echo "[shazam] PASS: Pre-commit checks passed."
|
|
62
|
+
exit 0
|
|
63
|
+
else
|
|
64
|
+
echo "[shazam] WARN: npx not found, skipping pre-commit verification."
|
|
65
|
+
echo "[shazam] Install Node.js to enable pre-commit verification."
|
|
66
|
+
exit 0
|
|
67
|
+
fi
|
|
68
|
+
`;
|
|
69
|
+
/**
|
|
70
|
+
* Install the pre-commit git hook for the given project.
|
|
71
|
+
*
|
|
72
|
+
* Writes .git/hooks/pre-commit with the shazam verify script
|
|
73
|
+
* and makes it executable.
|
|
74
|
+
*
|
|
75
|
+
* @param projectRoot - Absolute path to the project root
|
|
76
|
+
* @returns The path to the installed hook file
|
|
77
|
+
*/
|
|
78
|
+
export function installPreCommitHook(projectRoot) {
|
|
79
|
+
const gitDir = resolve(projectRoot, ".git");
|
|
80
|
+
const hooksDir = join(gitDir, "hooks");
|
|
81
|
+
const hookPath = join(hooksDir, "pre-commit");
|
|
82
|
+
// Ensure .git/hooks directory exists
|
|
83
|
+
if (!existsSync(hooksDir)) {
|
|
84
|
+
throw new Error(`Git hooks directory not found: ${hooksDir}. Is this a git repository?`);
|
|
85
|
+
}
|
|
86
|
+
// Check if hook already exists (don't overwrite custom hooks)
|
|
87
|
+
if (existsSync(hookPath)) {
|
|
88
|
+
const existingContent = readFileSync(hookPath, "utf-8");
|
|
89
|
+
if (!existingContent.includes("shazam")) {
|
|
90
|
+
// Backup existing hook
|
|
91
|
+
const backupPath = join(hooksDir, "pre-commit.shazam-backup");
|
|
92
|
+
writeFileSync(backupPath, existingContent, "utf-8");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
writeFileSync(hookPath, PRE_COMMIT_HOOK_CONTENT, "utf-8");
|
|
96
|
+
chmodSync(hookPath, 0o755);
|
|
97
|
+
return hookPath;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Check if the pre-commit hook is installed for the given project.
|
|
101
|
+
*
|
|
102
|
+
* @param projectRoot - Absolute path to the project root
|
|
103
|
+
* @returns True if the shazam pre-commit hook is installed
|
|
104
|
+
*/
|
|
105
|
+
export function isPreCommitHookInstalled(projectRoot) {
|
|
106
|
+
const hookPath = join(resolve(projectRoot, ".git"), "hooks", "pre-commit");
|
|
107
|
+
if (!existsSync(hookPath))
|
|
108
|
+
return false;
|
|
109
|
+
const content = readFileSync(hookPath, "utf-8");
|
|
110
|
+
return content.includes("shazam");
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Remove the installed pre-commit hook, restoring any backup if present.
|
|
114
|
+
*
|
|
115
|
+
* @param projectRoot - Absolute path to the project root
|
|
116
|
+
* @returns True if the hook was removed
|
|
117
|
+
*/
|
|
118
|
+
export function removePreCommitHook(projectRoot) {
|
|
119
|
+
const gitDir = resolve(projectRoot, ".git");
|
|
120
|
+
const hooksDir = join(gitDir, "hooks");
|
|
121
|
+
const hookPath = join(hooksDir, "pre-commit");
|
|
122
|
+
const backupPath = join(hooksDir, "pre-commit.shazam-backup");
|
|
123
|
+
if (!existsSync(hookPath))
|
|
124
|
+
return false;
|
|
125
|
+
const content = readFileSync(hookPath, "utf-8");
|
|
126
|
+
if (!content.includes("shazam"))
|
|
127
|
+
return false;
|
|
128
|
+
// Restore backup if exists
|
|
129
|
+
if (existsSync(backupPath)) {
|
|
130
|
+
const backupContent = readFileSync(backupPath, "utf-8");
|
|
131
|
+
writeFileSync(hookPath, backupContent, "utf-8");
|
|
132
|
+
chmodSync(hookPath, 0o755);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
// Remove the shazam-installed hook
|
|
136
|
+
writeFileSync(hookPath, "", "utf-8");
|
|
137
|
+
}
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Run pre-commit verification synchronously.
|
|
142
|
+
* Used by the pre-commit hook script.
|
|
143
|
+
*
|
|
144
|
+
* @param projectRoot - Absolute path to the project root
|
|
145
|
+
* @returns { verdict: "PASS" | "FAIL" | "WARN", message: string }
|
|
146
|
+
*/
|
|
147
|
+
export function runPreCommitVerify(projectRoot) {
|
|
148
|
+
try {
|
|
149
|
+
// Check for uncommitted changes
|
|
150
|
+
const changedOutput = execSync("git diff --cached --name-only --diff-filter=ACMR 2>/dev/null", { cwd: projectRoot, encoding: "utf-8", timeout: 5000 }).trim();
|
|
151
|
+
if (!changedOutput) {
|
|
152
|
+
return { verdict: "PASS", message: "No staged changes to verify." };
|
|
153
|
+
}
|
|
154
|
+
const changedFiles = changedOutput.split("\n").filter(Boolean);
|
|
155
|
+
// Run typecheck if package.json has typecheck script
|
|
156
|
+
if (existsSync(join(projectRoot, "package.json"))) {
|
|
157
|
+
try {
|
|
158
|
+
execSync("npm run typecheck 2>/dev/null", {
|
|
159
|
+
cwd: projectRoot,
|
|
160
|
+
encoding: "utf-8",
|
|
161
|
+
timeout: 60000,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
return {
|
|
166
|
+
verdict: "FAIL",
|
|
167
|
+
message: `TypeScript typecheck failed for ${changedFiles.length} staged file(s). Fix type errors or use 'git commit --no-verify' to bypass.`,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return {
|
|
172
|
+
verdict: "PASS",
|
|
173
|
+
message: `All checks passed for ${changedFiles.length} staged file(s).`,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
return {
|
|
178
|
+
verdict: "WARN",
|
|
179
|
+
message: `Pre-commit verification error: ${err instanceof Error ? err.message : String(err)}`,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=git-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-hooks.js","sourceRoot":"","sources":["../../core/git-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../core/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;IAC5D,cAAc,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAC;CAChE;AAYD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAQvD;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAM5D;AAID;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../core/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;IAC5D,cAAc,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAC;CAChE;AAYD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAQvD;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAM5D;AAID;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,EAkShC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAYzE;AAWD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,kBAAkB,EAAE,CAY/G;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAO7F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,GACxB,MAAM,CAKR;AAID;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAUnG;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AASD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqCzE"}
|
package/dist/core/output.js
CHANGED
|
@@ -158,6 +158,34 @@ export const NEXT_RULES = [
|
|
|
158
158
|
level: "also",
|
|
159
159
|
}),
|
|
160
160
|
},
|
|
161
|
+
{
|
|
162
|
+
forTools: ["call_chain"],
|
|
163
|
+
condition: (_ctx, graph) => graph === undefined || hasTestFiles(graph),
|
|
164
|
+
recommendation: () => ({
|
|
165
|
+
tool: "find_tests",
|
|
166
|
+
label: "Find tests for affected modules",
|
|
167
|
+
level: "also",
|
|
168
|
+
}),
|
|
169
|
+
},
|
|
170
|
+
// overview (enhanced)
|
|
171
|
+
{
|
|
172
|
+
forTools: ["overview"],
|
|
173
|
+
condition: (_ctx, graph) => graph === undefined || hasTestFiles(graph),
|
|
174
|
+
recommendation: () => ({
|
|
175
|
+
tool: "find_tests",
|
|
176
|
+
label: "Discover test layout",
|
|
177
|
+
level: "also",
|
|
178
|
+
}),
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
forTools: ["overview"],
|
|
182
|
+
condition: (_ctx, graph) => graph === undefined || hasHierarchyKinds(graph),
|
|
183
|
+
recommendation: () => ({
|
|
184
|
+
tool: "type_hierarchy",
|
|
185
|
+
label: "Explore type hierarchy",
|
|
186
|
+
level: "also",
|
|
187
|
+
}),
|
|
188
|
+
},
|
|
161
189
|
// hover (type_hierarchy suppressed when graph has no class/interface)
|
|
162
190
|
{
|
|
163
191
|
forTools: ["hover"],
|
package/dist/core/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../core/output.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../core/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,31 +2,33 @@
|
|
|
2
2
|
* pi-shazam hooks/after-write — Auto-verify after write/edit operations.
|
|
3
3
|
*
|
|
4
4
|
* Registered on the `tool_result` event. When the LLM writes or edits a file,
|
|
5
|
-
* this hook automatically runs diagnostics
|
|
6
|
-
* back to the conversation.
|
|
7
|
-
*/
|
|
8
|
-
import type { ExtensionAPI } from "../types/pi-extension.js";
|
|
9
|
-
/**
|
|
10
|
-
* Determine if a tool result should trigger automatic verification.
|
|
5
|
+
* this hook automatically runs diagnostics and sends diff-aware findings.
|
|
11
6
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Per-file git diff parsing (which files changed, what kind of changes)
|
|
9
|
+
* - Graph diff against session baseline (new orphans, edge changes)
|
|
10
|
+
* - Block on FAIL-level issues (LSP errors detected)
|
|
11
|
+
* - Context-aware recommendations based on findings
|
|
15
12
|
*/
|
|
16
|
-
|
|
13
|
+
import type { ExtensionAPI } from "../types/pi-extension.js";
|
|
17
14
|
/**
|
|
18
15
|
* Handle a write/edit tool result by running diagnostics and reporting findings.
|
|
19
16
|
*
|
|
20
17
|
* @param toolName - The tool that was executed (write or edit)
|
|
21
18
|
* @param projectRoot - Project root directory
|
|
22
|
-
* @returns Diagnostic findings as a formatted text string
|
|
19
|
+
* @returns Diagnostic findings as a formatted text string with verdict
|
|
23
20
|
*/
|
|
24
|
-
export declare function handleWriteResult(toolName: string, projectRoot: string):
|
|
21
|
+
export declare function handleWriteResult(toolName: string, projectRoot: string): {
|
|
22
|
+
text: string;
|
|
23
|
+
verdict: "PASS" | "WARN" | "FAIL";
|
|
24
|
+
};
|
|
25
25
|
/**
|
|
26
26
|
* Register the after-write hook on the Pi extension API.
|
|
27
27
|
*
|
|
28
28
|
* On `tool_result` for write/edit operations, runs diagnostics and sends
|
|
29
|
-
* findings via pi.sendMessage().
|
|
29
|
+
* findings via pi.sendMessage(). Optionally blocks on FAIL verdict
|
|
30
|
+
* to prevent the LLM from continuing with broken code.
|
|
30
31
|
*/
|
|
32
|
+
export declare function shouldTriggerVerify(toolName: string, isError: boolean): boolean;
|
|
31
33
|
export declare function registerAfterWriteHook(pi: ExtensionAPI): void;
|
|
32
34
|
//# sourceMappingURL=after-write.d.ts.map
|