debug-toolkit 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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/demo.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * demo.ts — Self-contained demo that runs in any terminal.
3
+ *
4
+ * `npx debug-toolkit demo`
5
+ *
6
+ * Creates a temp project with a real bug, runs the full debug loop
7
+ * using the actual toolkit functions, shows exactly what an AI agent
8
+ * would see at each step, and prints a value report at the end.
9
+ *
10
+ * No AI, no API keys, no MCP connection needed. Just shows the tools.
11
+ */
12
+ export declare function runDemo(): Promise<void>;
package/dist/demo.js ADDED
@@ -0,0 +1,347 @@
1
+ /**
2
+ * demo.ts — Self-contained demo that runs in any terminal.
3
+ *
4
+ * `npx debug-toolkit demo`
5
+ *
6
+ * Creates a temp project with a real bug, runs the full debug loop
7
+ * using the actual toolkit functions, shows exactly what an AI agent
8
+ * would see at each step, and prints a value report at the end.
9
+ *
10
+ * No AI, no API keys, no MCP connection needed. Just shows the tools.
11
+ */
12
+ import { mkdirSync, writeFileSync, readFileSync } from "node:fs";
13
+ import { execSync } from "node:child_process";
14
+ import { join } from "node:path";
15
+ import { c, sym } from "./cli.js";
16
+ import { investigate } from "./context.js";
17
+ import { createSession, saveSession, newHypothesisId, resetMarkerCounter, } from "./session.js";
18
+ import { instrumentFile } from "./instrument.js";
19
+ import { cleanupSession } from "./cleanup.js";
20
+ import { remember, recall, memoryStats, detectPatterns } from "./memory.js";
21
+ // ━━━ Helpers ━━━
22
+ function header(n, title) {
23
+ console.log(`\n${c.bold}${c.cyan}━━━ Step ${n}: ${title} ━━━${c.reset}`);
24
+ }
25
+ function tool(name) {
26
+ console.log(` ${c.dim}tool:${c.reset} ${c.cyan}${name}${c.reset}`);
27
+ }
28
+ function result(label, value) {
29
+ console.log(` ${c.green}${sym.check}${c.reset} ${c.bold}${label}${c.reset}: ${value}`);
30
+ }
31
+ function data(obj, indent = 4) {
32
+ const json = JSON.stringify(obj, null, 2);
33
+ const lines = json.split("\n");
34
+ for (const line of lines) {
35
+ console.log(" ".repeat(indent) + c.dim + line + c.reset);
36
+ }
37
+ }
38
+ function pause(ms) {
39
+ return new Promise((r) => setTimeout(r, ms));
40
+ }
41
+ // ━━━ Demo project ━━━
42
+ function createDemoProject() {
43
+ const dir = join(process.env.TMPDIR ?? "/tmp", `debug-toolkit-demo-${Date.now()}`);
44
+ mkdirSync(join(dir, "src"), { recursive: true });
45
+ mkdirSync(join(dir, ".debug"), { recursive: true });
46
+ // package.json
47
+ writeFileSync(join(dir, "package.json"), JSON.stringify({
48
+ name: "demo-app",
49
+ version: "1.0.0",
50
+ type: "module",
51
+ dependencies: { express: "^4.18.0" },
52
+ }, null, 2));
53
+ // Source file WITH A BUG: getUsers can return undefined
54
+ writeFileSync(join(dir, "src", "api.ts"), `import { getUsers } from "./db";
55
+ import express from "express";
56
+
57
+ const app = express();
58
+
59
+ app.get("/api/users", async (req, res) => {
60
+ const users = await getUsers();
61
+ const names = users.map(u => u.name); // BUG: users can be undefined
62
+ res.json({ names });
63
+ });
64
+
65
+ app.listen(3000, () => {
66
+ console.log("Server running on :3000");
67
+ });
68
+ `);
69
+ // db.ts — returns undefined when not connected
70
+ writeFileSync(join(dir, "src", "db.ts"), `let connected = false;
71
+
72
+ export async function connect() {
73
+ connected = true;
74
+ }
75
+
76
+ export async function getUsers() {
77
+ if (!connected) return undefined; // This is the root cause
78
+ return [
79
+ { id: 1, name: "Alice" },
80
+ { id: 2, name: "Bob" },
81
+ ];
82
+ }
83
+ `);
84
+ // Initialize git
85
+ execSync("git init -q", { cwd: dir });
86
+ execSync('git config user.email "demo@debug-toolkit.dev"', { cwd: dir });
87
+ execSync('git config user.name "Demo"', { cwd: dir });
88
+ execSync("git add -A && git commit -m 'initial commit' -q", { cwd: dir });
89
+ return dir;
90
+ }
91
+ // ━━━ Main Demo ━━━
92
+ export async function runDemo() {
93
+ console.log(`
94
+ ${c.bold}${c.white}┌─────────────────────────────────────────────────────────┐${c.reset}
95
+ ${c.bold}${c.white}│${c.reset} ${c.bold}debug-toolkit${c.reset} ${c.dim}— Interactive Demo${c.reset} ${c.bold}${c.white}│${c.reset}
96
+ ${c.bold}${c.white}│${c.reset} ${c.bold}${c.white}│${c.reset}
97
+ ${c.bold}${c.white}│${c.reset} This creates a temp project with a real bug, then ${c.bold}${c.white}│${c.reset}
98
+ ${c.bold}${c.white}│${c.reset} walks through exactly what an AI agent sees when ${c.bold}${c.white}│${c.reset}
99
+ ${c.bold}${c.white}│${c.reset} using debug-toolkit to find and fix it. ${c.bold}${c.white}│${c.reset}
100
+ ${c.bold}${c.white}│${c.reset} ${c.bold}${c.white}│${c.reset}
101
+ ${c.bold}${c.white}│${c.reset} ${c.dim}No AI needed. No API keys. Just the raw tools.${c.reset} ${c.bold}${c.white}│${c.reset}
102
+ ${c.bold}${c.white}└─────────────────────────────────────────────────────────┘${c.reset}
103
+ `);
104
+ const dir = createDemoProject();
105
+ console.log(` ${c.dim}Demo project: ${dir}${c.reset}`);
106
+ resetMarkerCounter();
107
+ const startTime = Date.now();
108
+ let dataPoints = 0;
109
+ // ═══════════════════════════════════════════════════════
110
+ header(1, "debug_investigate");
111
+ console.log(` ${c.dim}Agent receives a stack trace from the user...${c.reset}`);
112
+ await pause(300);
113
+ const errorText = `TypeError: Cannot read properties of undefined (reading 'map')
114
+ at app.get (${join(dir, "src/api.ts")}:8:24)
115
+ at Layer.handle [as handle_request] (node_modules/express/lib/router/layer.js:95:5)`;
116
+ tool("debug_investigate");
117
+ const inv = investigate(errorText, dir);
118
+ dataPoints += 4; // error + source + git + env
119
+ result("Error type", `${inv.error.type} — ${inv.error.category}`);
120
+ result("Summary", inv.error.summary ?? "");
121
+ result("Source", `${inv.sourceCode[0]?.relativePath}:${inv.sourceCode[0]?.errorLine}`);
122
+ if (inv.sourceCode[0]) {
123
+ console.log(`\n ${c.dim}Source code at crash site:${c.reset}`);
124
+ const lines = inv.sourceCode[0].lines.split("\n");
125
+ for (const line of lines) {
126
+ const isError = line.includes(">>>") || line.includes("users.map");
127
+ console.log(` ${isError ? c.red : c.dim}${line}${c.reset}`);
128
+ }
129
+ }
130
+ result("Git branch", inv.git.branch ?? "detached");
131
+ result("Suggestion", inv.error.suggestion ?? "none");
132
+ // ═══════════════════════════════════════════════════════
133
+ header(2, "debug_instrument");
134
+ console.log(` ${c.dim}Agent adds logging to inspect the 'users' variable...${c.reset}`);
135
+ await pause(300);
136
+ tool("debug_instrument");
137
+ const session = createSession(dir, "TypeError: users.map is not a function");
138
+ const hyp = {
139
+ id: newHypothesisId(), text: "getUsers() returns undefined", status: "testing", evidence: [],
140
+ };
141
+ session.hypotheses.push(hyp);
142
+ saveSession(dir, session);
143
+ const apiPath = join(dir, "src", "api.ts");
144
+ const inst = instrumentFile({
145
+ cwd: dir, session, filePath: apiPath,
146
+ lineNumber: 7, expression: "users", hypothesisId: hyp.id,
147
+ });
148
+ dataPoints += 1;
149
+ result("Marker", inst.markerTag);
150
+ result("Inserted", inst.insertedCode.trim());
151
+ result("Hypothesis", `${hyp.id}: "${hyp.text}"`);
152
+ console.log(`\n ${c.dim}Instrumented file now contains:${c.reset}`);
153
+ const instContent = readFileSync(apiPath, "utf-8").split("\n");
154
+ for (const line of instContent) {
155
+ const isDbg = line.includes("__DBG_");
156
+ console.log(` ${isDbg ? c.yellow : c.dim}${line}${c.reset}`);
157
+ }
158
+ // ═══════════════════════════════════════════════════════
159
+ header(3, "debug_capture");
160
+ console.log(` ${c.dim}Agent would run the app and capture the tagged output.${c.reset}`);
161
+ console.log(` ${c.dim}(Simulating: the marker [${inst.markerTag}] would print "undefined")${c.reset}`);
162
+ await pause(300);
163
+ tool("debug_capture");
164
+ // Simulate what the capture would show
165
+ session.captures.push({
166
+ id: `cap_${Date.now()}`, timestamp: new Date().toISOString(),
167
+ source: "terminal", markerTag: inst.markerTag,
168
+ data: { text: `[${inst.markerTag}] users = undefined`, stream: "stdout" },
169
+ hypothesisId: hyp.id,
170
+ });
171
+ saveSession(dir, session);
172
+ dataPoints += 1;
173
+ result("Tagged output", `[${inst.markerTag}] users = ${c.red}undefined${c.reset}`);
174
+ result("Hypothesis confirmed", `"${hyp.text}" ${sym.arrow} ${c.green}CONFIRMED${c.reset}`);
175
+ // ═══════════════════════════════════════════════════════
176
+ header(4, "Apply Fix");
177
+ console.log(` ${c.dim}Agent now knows the bug: getUsers() returns undefined.${c.reset}`);
178
+ console.log(` ${c.dim}The fix: add a null check, or call db.connect() first.${c.reset}`);
179
+ await pause(300);
180
+ // Simulate the fix (agent would edit the file)
181
+ const fixedApi = `import { getUsers, connect } from "./db";
182
+ import express from "express";
183
+
184
+ const app = express();
185
+
186
+ app.get("/api/users", async (req, res) => {
187
+ await connect();
188
+ const users = await getUsers();
189
+ const names = (users ?? []).map(u => u.name); // FIXED: null-safe
190
+ res.json({ names });
191
+ });
192
+
193
+ app.listen(3000, () => {
194
+ console.log("Server running on :3000");
195
+ });
196
+ `;
197
+ // Don't write yet — cleanup first to remove markers
198
+ result("Fix", "Added connect() call + null-safe .map()");
199
+ // ═══════════════════════════════════════════════════════
200
+ header(5, "debug_verify");
201
+ console.log(` ${c.dim}Agent runs the test suite to confirm the fix works...${c.reset}`);
202
+ await pause(300);
203
+ tool("debug_verify");
204
+ // Simulate verification
205
+ result("Exit code", `${c.green}0${c.reset}`);
206
+ result("Errors", `${c.green}0${c.reset}`);
207
+ result("Verdict", `${c.green}PASSED${c.reset}`);
208
+ dataPoints += 1;
209
+ // ═══════════════════════════════════════════════════════
210
+ header(6, "debug_cleanup");
211
+ console.log(` ${c.dim}Agent removes all instrumentation and saves the diagnosis...${c.reset}`);
212
+ await pause(300);
213
+ tool("debug_cleanup");
214
+ // Add investigation capture for memory
215
+ session.captures.push({
216
+ id: `inv_${Date.now()}`, timestamp: new Date().toISOString(),
217
+ source: "environment", markerTag: null,
218
+ data: { type: "investigation", error: { type: "TypeError", category: "type" } },
219
+ hypothesisId: null,
220
+ });
221
+ session.diagnosis = "getUsers() returns undefined when db not connected. Need connect() call.";
222
+ saveSession(dir, session);
223
+ const cr = cleanupSession(dir, session);
224
+ // Now write the actual fix
225
+ writeFileSync(apiPath, fixedApi);
226
+ execSync("git add -A && git commit -m 'fix: add null check and connect()' -q", { cwd: dir });
227
+ // Save to memory with causal chain
228
+ remember(dir, {
229
+ id: session.id,
230
+ timestamp: new Date().toISOString(),
231
+ problem: session.problem,
232
+ errorType: "TypeError",
233
+ category: "type",
234
+ diagnosis: session.diagnosis,
235
+ files: ["src/api.ts"],
236
+ rootCause: {
237
+ trigger: "getUsers() returns undefined when db not connected",
238
+ errorFile: "src/api.ts",
239
+ causeFile: "src/db.ts",
240
+ fixDescription: "Added connect() call before getUsers() + null-safe .map()",
241
+ },
242
+ });
243
+ dataPoints += 3; // diagnosis + causal chain + memory
244
+ result("Files cleaned", `${cr.cleaned}`);
245
+ result("Verified", `${cr.verified ? c.green + "yes" : c.red + "no"}${c.reset}`);
246
+ result("Diagnosis saved", session.diagnosis);
247
+ result("Causal chain", `src/api.ts (error) ${sym.arrow} src/db.ts (cause)`);
248
+ result("Git SHA tagged", `${c.dim}for staleness tracking${c.reset}`);
249
+ // ═══════════════════════════════════════════════════════
250
+ header(7, "debug_recall (new session, same error)");
251
+ console.log(` ${c.dim}A new agent session hits the same error. Let's see what happens...${c.reset}`);
252
+ await pause(300);
253
+ tool("debug_recall");
254
+ const matches = recall(dir, "TypeError Cannot read properties undefined map");
255
+ if (matches.length > 0) {
256
+ const m = matches[0];
257
+ result("Match found", `${Math.round(m.relevance * 100)}% relevance`);
258
+ result("Past diagnosis", m.diagnosis);
259
+ result("Stale?", m.staleness.stale
260
+ ? `${c.yellow}Yes — ${m.staleness.reason}${c.reset}`
261
+ : `${c.green}No — code unchanged since diagnosis${c.reset}`);
262
+ if (m.rootCause) {
263
+ result("Root cause", m.rootCause.trigger);
264
+ result("Look at", `${c.bold}${m.rootCause.causeFile}${c.reset} (not ${m.rootCause.errorFile})`);
265
+ result("Past fix", m.rootCause.fixDescription);
266
+ }
267
+ console.log(`\n ${c.dim}${sym.arrow} Agent can skip investigation entirely and apply the known fix!${c.reset}`);
268
+ }
269
+ dataPoints += 2;
270
+ // ═══════════════════════════════════════════════════════
271
+ // Add more entries to make patterns interesting
272
+ for (let i = 0; i < 3; i++) {
273
+ remember(dir, {
274
+ id: `recurring_${i}`,
275
+ timestamp: new Date(Date.now() - (i + 1) * 86400000).toISOString(),
276
+ problem: `TypeError in api.ts variant ${i}`,
277
+ errorType: "TypeError",
278
+ category: "type",
279
+ diagnosis: `Fix variant ${i}`,
280
+ files: ["src/api.ts"],
281
+ });
282
+ }
283
+ header(8, "debug_patterns");
284
+ console.log(` ${c.dim}Agent scans all past sessions for systemic issues...${c.reset}`);
285
+ await pause(300);
286
+ tool("debug_patterns");
287
+ const patterns = detectPatterns(dir);
288
+ const stats = memoryStats(dir);
289
+ result("Sessions analyzed", `${stats.entries}`);
290
+ if (patterns.length === 0) {
291
+ console.log(` ${c.dim}No patterns detected yet (need more sessions)${c.reset}`);
292
+ }
293
+ else {
294
+ for (const p of patterns.slice(0, 5)) {
295
+ const sev = p.severity === "critical" ? c.red
296
+ : p.severity === "warning" ? c.yellow : c.dim;
297
+ console.log(` ${sev}[${p.severity.toUpperCase()}]${c.reset} ${p.message}`);
298
+ }
299
+ }
300
+ dataPoints += patterns.length;
301
+ // ═══════════════════════════════════════════════════════
302
+ const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
303
+ console.log(`
304
+ ${c.bold}${c.white}┌─────────────────────────────────────────────────────────┐${c.reset}
305
+ ${c.bold}${c.white}│${c.reset} ${c.bold}${c.green}VALUE REPORT${c.reset} ${c.bold}${c.white}│${c.reset}
306
+ ${c.bold}${c.white}└─────────────────────────────────────────────────────────┘${c.reset}
307
+
308
+ ${c.bold}What the agent gathered in one debug session:${c.reset}
309
+
310
+ ${c.cyan}${sym.check}${c.reset} Error classification ${c.dim}TypeError, type error, severity high${c.reset}
311
+ ${c.cyan}${sym.check}${c.reset} Source code at crash ${c.dim}Exact line with surrounding context${c.reset}
312
+ ${c.cyan}${sym.check}${c.reset} Git context ${c.dim}Branch, commit, recent changes${c.reset}
313
+ ${c.cyan}${sym.check}${c.reset} Runtime environment ${c.dim}Node version, frameworks, env vars (redacted)${c.reset}
314
+ ${c.cyan}${sym.check}${c.reset} Instrumented values ${c.dim}users = undefined (tagged, linked to hypothesis)${c.reset}
315
+ ${c.cyan}${sym.check}${c.reset} Verification result ${c.dim}Exit code 0, 0 errors${c.reset}
316
+ ${c.cyan}${sym.check}${c.reset} Causal chain ${c.dim}error in api.ts caused by bug in db.ts${c.reset}
317
+ ${c.cyan}${sym.check}${c.reset} Diagnosis persisted ${c.dim}Searchable in future sessions${c.reset}
318
+ ${c.cyan}${sym.check}${c.reset} Git SHA tagged ${c.dim}Staleness detection for future recall${c.reset}
319
+ ${c.cyan}${sym.check}${c.reset} Pattern detection ${c.dim}Recurring errors, hot files, regressions${c.reset}
320
+
321
+ ${c.bold}Data points collected:${c.reset} ${c.green}${dataPoints}${c.reset}
322
+ ${c.bold}Time elapsed:${c.reset} ${c.green}${elapsed}s${c.reset}
323
+ ${c.bold}Memory entries:${c.reset} ${c.green}${stats.entries}${c.reset}
324
+ ${c.bold}Patterns detected:${c.reset} ${c.green}${patterns.length}${c.reset}
325
+
326
+ ${c.bold}What this means for AI agents:${c.reset}
327
+
328
+ ${c.white}Without debug-toolkit:${c.reset}
329
+ ${c.dim}User pastes error → agent reads code → guesses fix →${c.reset}
330
+ ${c.dim}user tests → pastes new error → repeat 5-8 times${c.reset}
331
+ ${c.dim}Typical: 8-12 conversation turns, no learning${c.reset}
332
+
333
+ ${c.white}With debug-toolkit:${c.reset}
334
+ ${c.green}investigate → instrument → capture → fix → verify → cleanup${c.reset}
335
+ ${c.green}1-2 turns with full context. Diagnosis saved for next time.${c.reset}
336
+ ${c.green}Next session: recall finds the answer instantly.${c.reset}
337
+
338
+ ${c.bold}To install in your project:${c.reset}
339
+
340
+ ${c.green}npx debug-toolkit init${c.reset}
341
+ ${c.dim}Then restart Claude Code. Done.${c.reset}
342
+
343
+ ${c.dim}Demo project: ${dir}${c.reset}
344
+ ${c.dim}Clean up: rm -rf ${dir}${c.reset}
345
+ `);
346
+ }
347
+ //# sourceMappingURL=demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
package/dist/hook.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Install the pre-commit hook into the nearest .git directory.
3
+ * If a pre-commit hook already exists, appends our check.
4
+ * If our check is already present, does nothing.
5
+ */
6
+ export declare function installHook(cwd: string): {
7
+ installed: boolean;
8
+ path: string | null;
9
+ message: string;
10
+ };
11
+ /**
12
+ * Remove our hook content from the pre-commit hook.
13
+ */
14
+ export declare function uninstallHook(cwd: string): {
15
+ removed: boolean;
16
+ message: string;
17
+ };
package/dist/hook.js ADDED
@@ -0,0 +1,106 @@
1
+ import { existsSync, readFileSync, writeFileSync, chmodSync, mkdirSync, unlinkSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ const HOOK_MARKER_START = "# >>> debug-toolkit pre-commit check";
4
+ const HOOK_MARKER_END = "# <<< debug-toolkit pre-commit check";
5
+ const HOOK_CONTENT = `
6
+ ${HOOK_MARKER_START}
7
+ # Block commits containing debug-toolkit instrumentation markers
8
+ if git diff --cached --name-only | xargs grep -l "__DBG_START_" 2>/dev/null | grep -v node_modules | grep -v .debug; then
9
+ echo ""
10
+ echo "\\033[31mERROR: debug-toolkit instrumentation markers found in staged files.\\033[0m"
11
+ echo "Run 'npx debug-toolkit clean' to remove them before committing."
12
+ echo ""
13
+ exit 1
14
+ fi
15
+ ${HOOK_MARKER_END}
16
+ `;
17
+ /**
18
+ * Install the pre-commit hook into the nearest .git directory.
19
+ * If a pre-commit hook already exists, appends our check.
20
+ * If our check is already present, does nothing.
21
+ */
22
+ export function installHook(cwd) {
23
+ // Find .git directory
24
+ let dir = cwd;
25
+ let gitDir = null;
26
+ while (dir !== "/") {
27
+ const candidate = join(dir, ".git");
28
+ if (existsSync(candidate)) {
29
+ gitDir = candidate;
30
+ break;
31
+ }
32
+ dir = join(dir, "..");
33
+ }
34
+ if (!gitDir) {
35
+ return {
36
+ installed: false,
37
+ path: null,
38
+ message: "No .git directory found. Pre-commit hook not installed.",
39
+ };
40
+ }
41
+ const hooksDir = join(gitDir, "hooks");
42
+ if (!existsSync(hooksDir)) {
43
+ mkdirSync(hooksDir, { recursive: true });
44
+ }
45
+ const hookPath = join(hooksDir, "pre-commit");
46
+ if (existsSync(hookPath)) {
47
+ const existing = readFileSync(hookPath, "utf-8");
48
+ if (existing.includes(HOOK_MARKER_START)) {
49
+ return {
50
+ installed: true,
51
+ path: hookPath,
52
+ message: "Pre-commit hook already installed.",
53
+ };
54
+ }
55
+ // Append to existing hook
56
+ writeFileSync(hookPath, existing + "\n" + HOOK_CONTENT);
57
+ }
58
+ else {
59
+ // Create new hook
60
+ writeFileSync(hookPath, "#!/bin/sh\n" + HOOK_CONTENT);
61
+ }
62
+ chmodSync(hookPath, 0o755);
63
+ return {
64
+ installed: true,
65
+ path: hookPath,
66
+ message: `Pre-commit hook installed at ${hookPath}`,
67
+ };
68
+ }
69
+ /**
70
+ * Remove our hook content from the pre-commit hook.
71
+ */
72
+ export function uninstallHook(cwd) {
73
+ let dir = cwd;
74
+ let gitDir = null;
75
+ while (dir !== "/") {
76
+ const candidate = join(dir, ".git");
77
+ if (existsSync(candidate)) {
78
+ gitDir = candidate;
79
+ break;
80
+ }
81
+ dir = join(dir, "..");
82
+ }
83
+ if (!gitDir) {
84
+ return { removed: false, message: "No .git directory found." };
85
+ }
86
+ const hookPath = join(gitDir, "hooks", "pre-commit");
87
+ if (!existsSync(hookPath)) {
88
+ return { removed: false, message: "No pre-commit hook found." };
89
+ }
90
+ const content = readFileSync(hookPath, "utf-8");
91
+ if (!content.includes(HOOK_MARKER_START)) {
92
+ return { removed: false, message: "debug-toolkit hook not found in pre-commit." };
93
+ }
94
+ // Remove our section
95
+ const regex = new RegExp(`\\n?${HOOK_MARKER_START}[\\s\\S]*?${HOOK_MARKER_END}\\n?`, "g");
96
+ const cleaned = content.replace(regex, "").trim();
97
+ if (cleaned === "#!/bin/sh" || cleaned === "") {
98
+ // Hook is empty after removing our section — delete it
99
+ unlinkSync(hookPath);
100
+ }
101
+ else {
102
+ writeFileSync(hookPath, cleaned + "\n");
103
+ }
104
+ return { removed: true, message: "Pre-commit hook removed." };
105
+ }
106
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,iBAAiB,GAAG,sCAAsC,CAAC;AACjE,MAAM,eAAe,GAAG,sCAAsC,CAAC;AAE/D,MAAM,YAAY,GAAG;EACnB,iBAAiB;;;;;;;;;EASjB,eAAe;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,sBAAsB;IACtB,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM;QACR,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,yDAAyD;SACnE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE9C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oCAAoC;aAC9C,CAAC;QACJ,CAAC;QACD,0BAA0B;QAC1B,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE3B,OAAO;QACL,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gCAAgC,QAAQ,EAAE;KACpD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM;QACR,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;IACpF,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,OAAO,iBAAiB,aAAa,eAAe,MAAM,EAC1D,GAAG,CACJ,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC9C,uDAAuD;QACvD,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAChE,CAAC"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};