@mesadev/agentblame 3.0.7 → 3.1.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/index.js CHANGED
@@ -4,9 +4,13 @@
4
4
  * Agent Blame CLI v3
5
5
  *
6
6
  * Commands:
7
- * agentblame init - Set up hooks and configuration
7
+ * agentblame init - Set up repo for AI tracking (first developer, commits to git)
8
+ * agentblame setup - Set up local machine (DB + git hook)
8
9
  * agentblame blame <file> - Show attribution for a file
9
- * agentblame status - Show current attribution status
10
+ *
11
+ * Flow:
12
+ * First developer: init → commit → push
13
+ * Other developers: clone → setup
10
14
  */
11
15
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
16
  if (k2 === undefined) k2 = k;
@@ -44,12 +48,11 @@ var __importStar = (this && this.__importStar) || (function () {
44
48
  Object.defineProperty(exports, "__esModule", { value: true });
45
49
  const path = __importStar(require("node:path"));
46
50
  const fs = __importStar(require("node:fs"));
47
- const os = __importStar(require("node:os"));
48
- const node_child_process_1 = require("node:child_process");
49
51
  const blame_1 = require("./blame");
50
52
  const sync_1 = require("./sync");
51
53
  const process_1 = require("./process");
52
54
  const capture_1 = require("./capture");
55
+ const post_merge_1 = require("./post-merge");
53
56
  const hooks_1 = require("./lib/hooks");
54
57
  const gitCli_1 = require("./lib/git/gitCli");
55
58
  const gitConfig_1 = require("./lib/git/gitConfig");
@@ -57,19 +60,8 @@ const database_1 = require("./lib/database");
57
60
  const storage_1 = require("./lib/storage");
58
61
  const analytics_1 = require("./lib/analytics");
59
62
  const config_1 = require("./lib/config");
63
+ const logger_1 = require("./lib/logger");
60
64
  const ANALYTICS_TAG = "agentblame-analytics-anchor";
61
- /**
62
- * Check if Bun is installed and available in PATH.
63
- */
64
- function isBunInstalled() {
65
- try {
66
- (0, node_child_process_1.execSync)("bun --version", { stdio: "pipe" });
67
- return true;
68
- }
69
- catch {
70
- return false;
71
- }
72
- }
73
65
  const args = process.argv.slice(2);
74
66
  const command = args[0];
75
67
  async function main() {
@@ -77,8 +69,8 @@ async function main() {
77
69
  case "init":
78
70
  await runInit(args.slice(1));
79
71
  break;
80
- case "clean":
81
- await runClean(args.slice(1));
72
+ case "setup":
73
+ await runSetup();
82
74
  break;
83
75
  case "capture":
84
76
  await (0, capture_1.runCapture)();
@@ -89,6 +81,9 @@ async function main() {
89
81
  case "process":
90
82
  await (0, process_1.runProcess)(args[1]);
91
83
  break;
84
+ case "post-merge":
85
+ await (0, post_merge_1.runPostMerge)();
86
+ break;
92
87
  case "sync":
93
88
  await runSync(args.slice(1));
94
89
  break;
@@ -98,6 +93,9 @@ async function main() {
98
93
  case "config":
99
94
  await runConfig(args.slice(1));
100
95
  break;
96
+ case "status":
97
+ await runStatus();
98
+ break;
101
99
  case "--version":
102
100
  case "-v":
103
101
  printVersion();
@@ -118,17 +116,27 @@ function printHelp() {
118
116
  Agent Blame v3 - Track AI-generated code in your commits
119
117
 
120
118
  Usage:
121
- agentblame init Set up hooks for current repo
122
- agentblame clean Remove hooks from current repo
119
+ agentblame setup Set up local machine (run once, wipes and recreates DB)
120
+ agentblame init Set up repo for AI tracking (first developer only)
121
+ agentblame status Show tracking stats
123
122
  agentblame blame <file> Show AI attribution
124
123
  agentblame sync Transfer notes after squash/rebase
125
124
  agentblame config Show/set configuration
126
125
  agentblame debug Show detailed debug info
127
126
 
127
+ Setup:
128
+ First developer (once per repo):
129
+ bunx @mesadev/agentblame@latest init
130
+ git add .cursor/ .claude/ .github/
131
+ git commit && git push
132
+
133
+ All developers (once per machine):
134
+ bunx @mesadev/agentblame@latest setup
135
+
128
136
  Examples:
129
- agentblame init
130
- agentblame blame src/index.ts
131
- agentblame config set storePromptContent true
137
+ bunx @mesadev/agentblame@latest setup
138
+ bunx @mesadev/agentblame@latest init
139
+ bunx @mesadev/agentblame blame src/index.ts
132
140
  `);
133
141
  }
134
142
  function printVersion() {
@@ -166,75 +174,8 @@ async function createAnalyticsTag(repoRoot) {
166
174
  return false;
167
175
  }
168
176
  }
169
- /**
170
- * Clean up global hooks and database from previous versions.
171
- */
172
- async function cleanupGlobalInstall() {
173
- const results = { cursor: false, claude: false, db: false };
174
- const home = os.homedir();
175
- // Clean up global Cursor hooks
176
- const globalCursorHooks = path.join(home, ".cursor", "hooks.json");
177
- try {
178
- if (fs.existsSync(globalCursorHooks)) {
179
- const config = JSON.parse(await fs.promises.readFile(globalCursorHooks, "utf8"));
180
- if (config.hooks?.afterFileEdit) {
181
- config.hooks.afterFileEdit = config.hooks.afterFileEdit.filter((h) => !h?.command?.includes("agentblame") && !h?.command?.includes("capture"));
182
- }
183
- await fs.promises.writeFile(globalCursorHooks, JSON.stringify(config, null, 2), "utf8");
184
- results.cursor = true;
185
- }
186
- }
187
- catch {
188
- // Ignore errors
189
- }
190
- // Clean up global Claude hooks
191
- const globalClaudeSettings = path.join(home, ".claude", "settings.json");
192
- try {
193
- if (fs.existsSync(globalClaudeSettings)) {
194
- const config = JSON.parse(await fs.promises.readFile(globalClaudeSettings, "utf8"));
195
- if (config.hooks?.PostToolUse) {
196
- config.hooks.PostToolUse = config.hooks.PostToolUse.filter((h) => !h?.hooks?.some((hh) => hh?.command?.includes("agentblame") ||
197
- hh?.command?.includes("capture")));
198
- }
199
- await fs.promises.writeFile(globalClaudeSettings, JSON.stringify(config, null, 2), "utf8");
200
- results.claude = true;
201
- }
202
- }
203
- catch {
204
- // Ignore errors
205
- }
206
- // Clean up global database (old location)
207
- const globalDb = path.join(home, ".agentblame");
208
- try {
209
- if (fs.existsSync(globalDb)) {
210
- await fs.promises.rm(globalDb, { recursive: true });
211
- results.db = true;
212
- }
213
- }
214
- catch {
215
- // Ignore errors
216
- }
217
- return results;
218
- }
219
177
  async function runInit(initArgs = []) {
220
- const forceCleanup = initArgs.includes("--force") || initArgs.includes("-f");
221
- // Check if Bun is installed (required for hooks)
222
- if (!isBunInstalled()) {
223
- const installCmd = process.platform === "win32"
224
- ? 'powershell -c "irm bun.sh/install.ps1 | iex"'
225
- : "curl -fsSL https://bun.sh/install | bash";
226
- console.log("");
227
- console.log(" \x1b[31m✗\x1b[0m Bun is required but not installed");
228
- console.log("");
229
- console.log(" Agent Blame uses Bun to run hooks. Install it first:");
230
- console.log("");
231
- console.log(` \x1b[36m${installCmd}\x1b[0m`);
232
- console.log("");
233
- console.log(" Then restart your terminal and run this command again.");
234
- console.log(" Learn more: \x1b[36mhttps://bun.sh\x1b[0m");
235
- console.log("");
236
- process.exit(1);
237
- }
178
+ (0, logger_1.logCommandStart)("init");
238
179
  // Validate we're in a git repo
239
180
  const repoRoot = await (0, gitCli_1.getRepoRoot)(process.cwd());
240
181
  if (!repoRoot) {
@@ -247,55 +188,14 @@ async function runInit(initArgs = []) {
247
188
  }
248
189
  // Header
249
190
  console.log("");
250
- console.log(" \x1b[1m\x1b[35m◆\x1b[0m \x1b[1mAgent Blame v3\x1b[0m");
251
- console.log(" \x1b[2mTrack AI-generated code in your commits\x1b[0m");
191
+ console.log(" \x1b[1m\x1b[35m◆\x1b[0m \x1b[1mAgent Blame - Repository Setup\x1b[0m");
192
+ console.log(" \x1b[2mOne user runs this, commits to git, everyone benefits\x1b[0m");
252
193
  console.log("");
253
194
  const repoName = path.basename(repoRoot);
254
195
  console.log(` \x1b[2mRepository:\x1b[0m ${repoName}`);
255
196
  console.log("");
256
- // Clean up global install if --force flag is passed
257
- if (forceCleanup) {
258
- console.log(" \x1b[2mCleaning up global install...\x1b[0m");
259
- const cleanup = await cleanupGlobalInstall();
260
- if (cleanup.cursor)
261
- console.log(" \x1b[32m✓\x1b[0m Removed global Cursor hooks");
262
- if (cleanup.claude)
263
- console.log(" \x1b[32m✓\x1b[0m Removed global Claude hooks");
264
- if (cleanup.db)
265
- console.log(" \x1b[32m✓\x1b[0m Removed global database");
266
- if (!cleanup.cursor && !cleanup.claude && !cleanup.db) {
267
- console.log(" \x1b[2m No global install found\x1b[0m");
268
- }
269
- console.log("");
270
- }
271
197
  // Track results
272
198
  const results = [];
273
- // Clean existing data (init always starts fresh)
274
- const agentBlameGitDir = (0, storage_1.getAgentBlameGitDir)(repoRoot);
275
- try {
276
- if (fs.existsSync(agentBlameGitDir)) {
277
- await fs.promises.rm(agentBlameGitDir, { recursive: true });
278
- }
279
- // Also remove legacy .agentblame directory
280
- const legacyDir = path.join(repoRoot, ".agentblame");
281
- if (fs.existsSync(legacyDir)) {
282
- await fs.promises.rm(legacyDir, { recursive: true });
283
- }
284
- }
285
- catch {
286
- // Continue even if cleanup fails
287
- }
288
- // Create .git/agentblame directory and initialize SQLite database
289
- try {
290
- (0, storage_1.ensureAgentBlameDirs)(repoRoot);
291
- const dbPath = (0, storage_1.getDatabasePath)(repoRoot);
292
- (0, database_1.setDatabasePath)(dbPath);
293
- (0, database_1.initDatabase)();
294
- results.push({ name: "Database (.git/agentblame/)", success: true });
295
- }
296
- catch (err) {
297
- results.push({ name: "Database", success: false });
298
- }
299
199
  // Initialize analytics
300
200
  try {
301
201
  await (0, analytics_1.initAnalytics)(repoRoot);
@@ -304,43 +204,49 @@ async function runInit(initArgs = []) {
304
204
  catch {
305
205
  results.push({ name: "Analytics", success: false });
306
206
  }
307
- // Add old .agentblame/ to .gitignore (for backwards compatibility)
207
+ // Update .gitignore only if editor hooks are being ignored (add negation patterns)
308
208
  try {
309
209
  const gitignorePath = path.join(repoRoot, ".gitignore");
310
- let gitignoreContent = "";
311
210
  if (fs.existsSync(gitignorePath)) {
312
- gitignoreContent = await fs.promises.readFile(gitignorePath, "utf8");
313
- }
314
- let entriesToAdd = "";
315
- if (!gitignoreContent.includes(".agentblame")) {
316
- entriesToAdd += "\n# Agent Blame local database (legacy)\n.agentblame/\n";
317
- }
318
- if (!gitignoreContent.includes(".opencode")) {
319
- entriesToAdd +=
320
- "\n# OpenCode local plugin (installed by agentblame init)\n.opencode/\n";
321
- }
322
- if (entriesToAdd) {
323
- await fs.promises.appendFile(gitignorePath, entriesToAdd);
211
+ const gitignoreContent = await fs.promises.readFile(gitignorePath, "utf8");
212
+ let entriesToAdd = "";
213
+ // Ensure .cursor/ is NOT ignored (add negation if it's ignored)
214
+ if (gitignoreContent.match(/^\.cursor\/?$/m) && !gitignoreContent.includes("!.cursor")) {
215
+ entriesToAdd += "\n# Agent Blame: ensure editor hooks are committed\n!.cursor/\n";
216
+ }
217
+ // Ensure .claude/ is NOT ignored (add negation if it's ignored)
218
+ if (gitignoreContent.match(/^\.claude\/?$/m) && !gitignoreContent.includes("!.claude")) {
219
+ entriesToAdd += "!.claude/\n";
220
+ }
221
+ // Ensure .opencode/ is NOT ignored (add negation if it's ignored)
222
+ if (gitignoreContent.match(/^\.opencode\/?$/m) && !gitignoreContent.includes("!.opencode")) {
223
+ entriesToAdd += "!.opencode/\n";
224
+ }
225
+ if (entriesToAdd) {
226
+ await fs.promises.appendFile(gitignorePath, entriesToAdd);
227
+ results.push({ name: "Updated .gitignore (added negations)", success: true });
228
+ }
324
229
  }
325
- results.push({ name: "Updated .gitignore", success: true });
326
230
  }
327
231
  catch {
328
232
  results.push({ name: "Updated .gitignore", success: false });
329
233
  }
330
- // Install editor hooks (repo-level)
234
+ // Install editor hooks (repo-level, to be committed)
331
235
  const cursorSuccess = await (0, hooks_1.installCursorHooks)(repoRoot);
332
- results.push({ name: "Cursor hooks", success: cursorSuccess });
236
+ results.push({ name: "Cursor hooks (.cursor/)", success: cursorSuccess });
333
237
  const claudeSuccess = await (0, hooks_1.installClaudeHooks)(repoRoot);
334
- results.push({ name: "Claude Code hooks", success: claudeSuccess });
238
+ results.push({ name: "Claude Code hooks (.claude/)", success: claudeSuccess });
335
239
  const opencodeSuccess = await (0, hooks_1.installOpenCodeHooks)(repoRoot);
336
- results.push({ name: "OpenCode hooks", success: opencodeSuccess });
337
- // Install repo hooks and workflow
338
- const gitHookSuccess = await (0, hooks_1.installGitHook)(repoRoot);
339
- results.push({ name: "Git post-commit hook", success: gitHookSuccess });
240
+ results.push({ name: "OpenCode hooks (.opencode/)", success: opencodeSuccess });
241
+ // Configure notes sync
340
242
  const notesPushSuccess = await (0, gitConfig_1.configureNotesSync)(repoRoot);
341
- results.push({ name: "Notes auto-push", success: notesPushSuccess });
243
+ results.push({ name: "Notes auto-push config", success: notesPushSuccess });
244
+ // Install GitHub Actions workflow
342
245
  const githubActionSuccess = await (0, hooks_1.installGitHubAction)(repoRoot);
343
246
  results.push({ name: "GitHub Actions workflow", success: githubActionSuccess });
247
+ // Install git post-commit hook (detects custom hooks path like .husky/)
248
+ const gitHookResult = await (0, hooks_1.installGitHookSmart)(repoRoot);
249
+ results.push({ name: `Git post-commit hook (${gitHookResult.method})`, success: gitHookResult.success });
344
250
  // Create analytics anchor tag
345
251
  const analyticsTagSuccess = await createAnalyticsTag(repoRoot);
346
252
  results.push({ name: "Analytics anchor tag", success: analyticsTagSuccess });
@@ -357,7 +263,7 @@ async function runInit(initArgs = []) {
357
263
  console.log(" \x1b[2m─────────────────────────────────────────\x1b[0m");
358
264
  console.log("");
359
265
  if (allSuccess) {
360
- console.log(" \x1b[32m✓\x1b[0m \x1b[1mSetup complete\x1b[0m");
266
+ console.log(" \x1b[32m✓\x1b[0m \x1b[1mRepository setup complete\x1b[0m");
361
267
  }
362
268
  else if (anySuccess) {
363
269
  console.log(" \x1b[33m!\x1b[0m \x1b[1mSetup completed with warnings\x1b[0m");
@@ -367,85 +273,102 @@ async function runInit(initArgs = []) {
367
273
  }
368
274
  console.log("");
369
275
  console.log(" \x1b[1mNext steps:\x1b[0m");
370
- console.log(" \x1b[33m1.\x1b[0m Commit \x1b[36m.github/workflows/agentblame.yml\x1b[0m to enable PR analytics");
371
- console.log(" \x1b[33m2.\x1b[0m Restart Cursor or Claude Code to pick up hooks");
372
- console.log(" \x1b[33m3.\x1b[0m Make AI edits and commit your changes");
373
- console.log(" \x1b[33m4.\x1b[0m Run \x1b[36magentblame blame <file>\x1b[0m to see attribution");
276
+ console.log(" \x1b[33m1.\x1b[0m Commit: \x1b[36m.cursor/\x1b[0m, \x1b[36m.claude/\x1b[0m, \x1b[36m.opencode/\x1b[0m, \x1b[36m.github/workflows/\x1b[0m");
277
+ console.log(" \x1b[33m2.\x1b[0m Push to share with your team");
278
+ console.log("");
279
+ console.log(" \x1b[2mTeammates run:\x1b[0m \x1b[36mbunx @mesadev/agentblame@latest setup\x1b[0m");
374
280
  console.log("");
281
+ (0, logger_1.logCommandSuccess)("init", { repo: repoName });
375
282
  }
376
- async function runClean(uninstallArgs = []) {
377
- const forceCleanup = uninstallArgs.includes("--force") || uninstallArgs.includes("-f");
378
- // Validate we're in a git repo
283
+ /**
284
+ * Show status of agentblame - stats and info.
285
+ */
286
+ async function runStatus() {
287
+ (0, logger_1.logCommandStart)("status");
288
+ // Header
289
+ console.log("");
290
+ console.log(" \x1b[1m\x1b[35m◆\x1b[0m \x1b[1mAgent Blame Status\x1b[0m");
291
+ console.log("");
292
+ // Initialize global database
293
+ (0, database_1.initGlobalDatabase)();
294
+ // Show global database location
295
+ console.log(` \x1b[2mDatabase:\x1b[0m ${(0, database_1.getGlobalAgentBlameDir)()}/agentblame.db`);
296
+ console.log("");
297
+ // Show global stats
298
+ console.log(" \x1b[1mGlobal Stats:\x1b[0m");
299
+ const globalStats = (0, database_1.getStats)();
300
+ console.log(` Sessions: ${globalStats.sessions}`);
301
+ console.log(` Prompts: ${globalStats.prompts}`);
302
+ console.log(` Tool Calls: ${globalStats.toolCalls}`);
303
+ // Check if we're in a git repo
379
304
  const repoRoot = await (0, gitCli_1.getRepoRoot)(process.cwd());
380
- if (!repoRoot) {
381
- console.log("");
382
- console.log(" \x1b[31m✗\x1b[0m Not in a git repository");
383
- console.log("");
384
- console.log(" Run this command from inside a git repository.");
305
+ if (repoRoot) {
306
+ const repoName = path.basename(repoRoot);
385
307
  console.log("");
386
- process.exit(1);
308
+ console.log(` \x1b[1mCurrent Repository:\x1b[0m ${repoName}`);
309
+ // Check for hooks
310
+ const cursorHooksPath = path.join(repoRoot, ".cursor", "hooks.json");
311
+ const claudeHooksPath = path.join(repoRoot, ".claude", "settings.json");
312
+ const hasCursorHooks = fs.existsSync(cursorHooksPath);
313
+ const hasClaudeHooks = fs.existsSync(claudeHooksPath);
314
+ // Detect git hooks setup
315
+ const hooksSetup = await (0, hooks_1.detectHooksSetup)(repoRoot);
316
+ const hasGitHook = await (0, hooks_1.isGitHookInstalled)(repoRoot);
317
+ console.log(` Cursor hooks: ${hasCursorHooks ? "\x1b[32m✓\x1b[0m" : "\x1b[33m✗\x1b[0m"}`);
318
+ console.log(` Claude hooks: ${hasClaudeHooks ? "\x1b[32m✓\x1b[0m" : "\x1b[33m✗\x1b[0m"}`);
319
+ if (hasGitHook) {
320
+ console.log(` Git hook: \x1b[32m✓\x1b[0m (${hooksSetup.type})`);
321
+ }
322
+ else {
323
+ console.log(` Git hook: \x1b[33m✗\x1b[0m (auto-installs on first AI edit)`);
324
+ }
387
325
  }
326
+ console.log("");
327
+ (0, logger_1.logCommandSuccess)("status");
328
+ }
329
+ /**
330
+ * Set up local machine for agentblame.
331
+ * Wipes and recreates global database and logs.
332
+ * Run once per machine (or to reset/update).
333
+ */
334
+ async function runSetup() {
335
+ (0, logger_1.logCommandStart)("setup");
388
336
  // Header
389
337
  console.log("");
390
- console.log(" \x1b[1m\x1b[35m◆\x1b[0m \x1b[1mAgent Blame\x1b[0m");
391
- console.log(" \x1b[2mRemoving hooks and configuration\x1b[0m");
338
+ console.log(" \x1b[1m\x1b[35m◆\x1b[0m \x1b[1mAgent Blame - Machine Setup\x1b[0m");
339
+ console.log(" \x1b[2mSetting up local machine (wipes existing data)\x1b[0m");
392
340
  console.log("");
393
- const repoName = path.basename(repoRoot);
394
- console.log(` \x1b[2mRepository:\x1b[0m ${repoName}`);
341
+ const globalDir = (0, database_1.getGlobalAgentBlameDir)();
342
+ console.log(` \x1b[2mGlobal directory:\x1b[0m ${globalDir}`);
395
343
  console.log("");
396
- // Clean up global install if --force flag is passed
397
- if (forceCleanup) {
398
- console.log(" \x1b[2mCleaning up global install...\x1b[0m");
399
- const cleanup = await cleanupGlobalInstall();
400
- if (cleanup.cursor)
401
- console.log(" \x1b[32m✓\x1b[0m Removed global Cursor hooks");
402
- if (cleanup.claude)
403
- console.log(" \x1b[32m✓\x1b[0m Removed global Claude hooks");
404
- if (cleanup.db)
405
- console.log(" \x1b[32m✓\x1b[0m Removed global database");
406
- if (!cleanup.cursor && !cleanup.claude && !cleanup.db) {
407
- console.log(" \x1b[2m No global install found\x1b[0m");
408
- }
409
- console.log("");
410
- }
411
344
  // Track results
412
345
  const results = [];
413
- // Remove editor hooks (repo-level)
414
- const cursorSuccess = await (0, hooks_1.uninstallCursorHooks)(repoRoot);
415
- results.push({ name: "Cursor hooks", success: cursorSuccess });
416
- const claudeSuccess = await (0, hooks_1.uninstallClaudeHooks)(repoRoot);
417
- results.push({ name: "Claude Code hooks", success: claudeSuccess });
418
- const opencodeSuccess = await (0, hooks_1.uninstallOpenCodeHooks)(repoRoot);
419
- results.push({ name: "OpenCode hooks", success: opencodeSuccess });
420
- // Remove repo hooks and workflow
421
- const gitHookSuccess = await (0, hooks_1.uninstallGitHook)(repoRoot);
422
- results.push({ name: "Git post-commit hook", success: gitHookSuccess });
423
- const notesPushSuccess = await (0, gitConfig_1.removeNotesSync)(repoRoot);
424
- results.push({ name: "Notes auto-push", success: notesPushSuccess });
425
- const githubActionSuccess = await (0, hooks_1.uninstallGitHubAction)(repoRoot);
426
- results.push({ name: "GitHub Actions workflow", success: githubActionSuccess });
427
- // Remove .git/agentblame directory (v3 location)
428
- const agentBlameGitDir = (0, storage_1.getAgentBlameGitDir)(repoRoot);
429
- let dbSuccess = true;
346
+ // Wipe entire ~/.agentblame/ directory and recreate
430
347
  try {
431
- if (fs.existsSync(agentBlameGitDir)) {
432
- await fs.promises.rm(agentBlameGitDir, { recursive: true });
348
+ if (fs.existsSync(globalDir)) {
349
+ await fs.promises.rm(globalDir, { recursive: true });
433
350
  }
351
+ results.push({ name: "Cleared existing data", success: true });
434
352
  }
435
- catch {
436
- dbSuccess = false;
353
+ catch (err) {
354
+ results.push({ name: "Clear existing data", success: false });
437
355
  }
438
- results.push({ name: "Database (.git/agentblame/)", success: dbSuccess });
439
- // Also remove legacy .agentblame directory
440
- const legacyDir = path.join(repoRoot, ".agentblame");
356
+ // Recreate database
441
357
  try {
442
- if (fs.existsSync(legacyDir)) {
443
- await fs.promises.rm(legacyDir, { recursive: true });
444
- results.push({ name: "Legacy database (.agentblame/)", success: true });
445
- }
358
+ (0, database_1.wipeAndRecreateDatabase)();
359
+ results.push({ name: "Database (~/.agentblame/agentblame.db)", success: true });
446
360
  }
447
- catch {
448
- // Ignore
361
+ catch (err) {
362
+ results.push({ name: "Database", success: false });
363
+ }
364
+ // Create logs directory
365
+ try {
366
+ const logsDir = path.join(globalDir, "logs");
367
+ await fs.promises.mkdir(logsDir, { recursive: true });
368
+ results.push({ name: "Logs directory (~/.agentblame/logs/)", success: true });
369
+ }
370
+ catch (err) {
371
+ results.push({ name: "Logs directory", success: false });
449
372
  }
450
373
  // Print results
451
374
  console.log(" \x1b[2m─────────────────────────────────────────\x1b[0m");
@@ -459,12 +382,16 @@ async function runClean(uninstallArgs = []) {
459
382
  console.log(" \x1b[2m─────────────────────────────────────────\x1b[0m");
460
383
  console.log("");
461
384
  if (allSuccess) {
462
- console.log(" \x1b[32m✓\x1b[0m \x1b[1mUninstall complete\x1b[0m");
385
+ console.log(" \x1b[32m✓\x1b[0m \x1b[1mSetup complete\x1b[0m");
386
+ console.log("");
387
+ console.log(" You're ready to track AI-generated code!");
388
+ console.log(" Run \x1b[36mbunx @mesadev/agentblame@latest setup\x1b[0m again to reset.");
463
389
  }
464
390
  else {
465
- console.log(" \x1b[33m!\x1b[0m \x1b[1mUninstall completed with warnings\x1b[0m");
391
+ console.log(" \x1b[33m!\x1b[0m \x1b[1mSetup completed with warnings\x1b[0m");
466
392
  }
467
393
  console.log("");
394
+ (0, logger_1.logCommandSuccess)("setup");
468
395
  }
469
396
  async function runBlame(args) {
470
397
  // Parse options
@@ -574,11 +501,14 @@ async function runDebug() {
574
501
  console.error("Not in a git repository");
575
502
  process.exit(1);
576
503
  }
577
- const dbPath = (0, storage_1.getDatabasePath)(repoRoot);
578
- (0, database_1.setDatabasePath)(dbPath);
504
+ // Initialize global database
505
+ (0, database_1.initGlobalDatabase)();
506
+ const repoId = (0, database_1.getRepoIdentifier)(repoRoot);
579
507
  console.log("\n\x1b[1mAgent Blame Debug Info\x1b[0m\n");
580
508
  // Show repo info
581
509
  console.log(`\x1b[36mRepository:\x1b[0m ${repoRoot}`);
510
+ console.log(`\x1b[36mRepo ID:\x1b[0m ${repoId}`);
511
+ console.log(`\x1b[36mGlobal DB:\x1b[0m ${(0, database_1.getGlobalAgentBlameDir)()}/agentblame.db`);
582
512
  // Show current HEAD
583
513
  const head = await (0, storage_1.getGitHead)(repoRoot);
584
514
  console.log(`\x1b[36mCurrent HEAD:\x1b[0m ${head || "none"}`);
@@ -675,7 +605,7 @@ async function runDebug() {
675
605
  }
676
606
  else {
677
607
  console.log(` \x1b[31mNot found:\x1b[0m ${agentBlameDir}`);
678
- console.log(" Run 'agentblame init' to set up the database.");
608
+ console.log(" This directory will be created on first AI edit.");
679
609
  }
680
610
  console.log("");
681
611
  }
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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"}