@ginkoai/cli 2.1.4 → 2.1.6-beta.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.
Files changed (119) hide show
  1. package/dist/commands/charter.d.ts +1 -0
  2. package/dist/commands/charter.d.ts.map +1 -1
  3. package/dist/commands/charter.js +185 -30
  4. package/dist/commands/charter.js.map +1 -1
  5. package/dist/commands/diff/diff-command.d.ts +20 -0
  6. package/dist/commands/diff/diff-command.d.ts.map +1 -0
  7. package/dist/commands/diff/diff-command.js +181 -0
  8. package/dist/commands/diff/diff-command.js.map +1 -0
  9. package/dist/commands/diff/index.d.ts +20 -0
  10. package/dist/commands/diff/index.d.ts.map +1 -0
  11. package/dist/commands/diff/index.js +39 -0
  12. package/dist/commands/diff/index.js.map +1 -0
  13. package/dist/commands/epic/index.d.ts.map +1 -1
  14. package/dist/commands/epic/index.js +18 -1
  15. package/dist/commands/epic/index.js.map +1 -1
  16. package/dist/commands/graph/api-client.d.ts +36 -0
  17. package/dist/commands/graph/api-client.d.ts.map +1 -1
  18. package/dist/commands/graph/api-client.js +7 -0
  19. package/dist/commands/graph/api-client.js.map +1 -1
  20. package/dist/commands/graph/index.d.ts.map +1 -1
  21. package/dist/commands/graph/index.js +8 -2
  22. package/dist/commands/graph/index.js.map +1 -1
  23. package/dist/commands/handoff.d.ts.map +1 -1
  24. package/dist/commands/handoff.js +12 -2
  25. package/dist/commands/handoff.js.map +1 -1
  26. package/dist/commands/init.d.ts.map +1 -1
  27. package/dist/commands/init.js +50 -3
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/pull/index.d.ts +21 -0
  30. package/dist/commands/pull/index.d.ts.map +1 -0
  31. package/dist/commands/pull/index.js +90 -0
  32. package/dist/commands/pull/index.js.map +1 -0
  33. package/dist/commands/pull/pull-command.d.ts +23 -0
  34. package/dist/commands/pull/pull-command.d.ts.map +1 -0
  35. package/dist/commands/pull/pull-command.js +89 -0
  36. package/dist/commands/pull/pull-command.js.map +1 -0
  37. package/dist/commands/push/index.d.ts +21 -0
  38. package/dist/commands/push/index.d.ts.map +1 -0
  39. package/dist/commands/push/index.js +120 -0
  40. package/dist/commands/push/index.js.map +1 -0
  41. package/dist/commands/push/push-command.d.ts +39 -0
  42. package/dist/commands/push/push-command.d.ts.map +1 -0
  43. package/dist/commands/push/push-command.js +451 -0
  44. package/dist/commands/push/push-command.js.map +1 -0
  45. package/dist/commands/status.d.ts.map +1 -1
  46. package/dist/commands/status.js +39 -0
  47. package/dist/commands/status.js.map +1 -1
  48. package/dist/commands/sync/index.d.ts.map +1 -1
  49. package/dist/commands/sync/index.js +12 -10
  50. package/dist/commands/sync/index.js.map +1 -1
  51. package/dist/commands/task/status.d.ts.map +1 -1
  52. package/dist/commands/task/status.js +9 -0
  53. package/dist/commands/task/status.js.map +1 -1
  54. package/dist/core/utils/paths.d.ts +4 -0
  55. package/dist/core/utils/paths.d.ts.map +1 -1
  56. package/dist/core/utils/paths.js +19 -1
  57. package/dist/core/utils/paths.js.map +1 -1
  58. package/dist/index.js +10 -0
  59. package/dist/index.js.map +1 -1
  60. package/dist/lib/auto-push.d.ts +32 -0
  61. package/dist/lib/auto-push.d.ts.map +1 -0
  62. package/dist/lib/auto-push.js +79 -0
  63. package/dist/lib/auto-push.js.map +1 -0
  64. package/dist/lib/charter-loader.d.ts.map +1 -1
  65. package/dist/lib/charter-loader.js +4 -1
  66. package/dist/lib/charter-loader.js.map +1 -1
  67. package/dist/lib/dead-letter-queue.d.ts +4 -3
  68. package/dist/lib/dead-letter-queue.d.ts.map +1 -1
  69. package/dist/lib/dead-letter-queue.js +4 -3
  70. package/dist/lib/dead-letter-queue.js.map +1 -1
  71. package/dist/lib/entity-classifier.d.ts +53 -0
  72. package/dist/lib/entity-classifier.d.ts.map +1 -0
  73. package/dist/lib/entity-classifier.js +95 -0
  74. package/dist/lib/entity-classifier.js.map +1 -0
  75. package/dist/lib/event-queue.d.ts +4 -3
  76. package/dist/lib/event-queue.d.ts.map +1 -1
  77. package/dist/lib/event-queue.js +4 -3
  78. package/dist/lib/event-queue.js.map +1 -1
  79. package/dist/lib/git-change-detector.d.ts +38 -0
  80. package/dist/lib/git-change-detector.d.ts.map +1 -0
  81. package/dist/lib/git-change-detector.js +105 -0
  82. package/dist/lib/git-change-detector.js.map +1 -0
  83. package/dist/lib/sprint-parser.d.ts.map +1 -1
  84. package/dist/lib/sprint-parser.js +4 -1
  85. package/dist/lib/sprint-parser.js.map +1 -1
  86. package/dist/lib/sync-state.d.ts +38 -0
  87. package/dist/lib/sync-state.d.ts.map +1 -0
  88. package/dist/lib/sync-state.js +86 -0
  89. package/dist/lib/sync-state.js.map +1 -0
  90. package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts +2 -1
  91. package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts.map +1 -1
  92. package/dist/lib/write-dispatcher/adapters/graph-adapter.js +2 -1
  93. package/dist/lib/write-dispatcher/adapters/graph-adapter.js.map +1 -1
  94. package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts +2 -1
  95. package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts.map +1 -1
  96. package/dist/lib/write-dispatcher/adapters/local-adapter.js +2 -1
  97. package/dist/lib/write-dispatcher/adapters/local-adapter.js.map +1 -1
  98. package/dist/lib/write-dispatcher/write-dispatcher.d.ts +4 -3
  99. package/dist/lib/write-dispatcher/write-dispatcher.d.ts.map +1 -1
  100. package/dist/lib/write-dispatcher/write-dispatcher.js +4 -3
  101. package/dist/lib/write-dispatcher/write-dispatcher.js.map +1 -1
  102. package/dist/templates/ai-instructions-template.d.ts.map +1 -1
  103. package/dist/templates/ai-instructions-template.js +48 -9
  104. package/dist/templates/ai-instructions-template.js.map +1 -1
  105. package/dist/templates/charter-template.md +17 -0
  106. package/dist/templates/epic-template.md +18 -6
  107. package/dist/templates/skills/ginko/SKILL.md +209 -0
  108. package/dist/templates/skills/ginko/commands-reference.md +221 -0
  109. package/dist/templates/skills/pull.md +56 -0
  110. package/dist/templates/skills/push.md +73 -0
  111. package/dist/templates/skills/skills/ginko/SKILL.md +209 -0
  112. package/dist/templates/skills/skills/ginko/commands-reference.md +221 -0
  113. package/dist/templates/skills/skills/pull.md +56 -0
  114. package/dist/templates/skills/skills/push.md +73 -0
  115. package/dist/utils/dispatcher-logger.d.ts +4 -3
  116. package/dist/utils/dispatcher-logger.d.ts.map +1 -1
  117. package/dist/utils/dispatcher-logger.js +4 -3
  118. package/dist/utils/dispatcher-logger.js.map +1 -1
  119. package/package.json +2 -2
@@ -15,6 +15,7 @@ interface CharterOptions {
15
15
  skipConversation?: boolean;
16
16
  outputPath?: string;
17
17
  noAi?: boolean;
18
+ sync?: boolean;
18
19
  }
19
20
  /**
20
21
  * Charter command - Create and manage project charters
@@ -1 +1 @@
1
- {"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../src/commands/charter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0BH,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChF;AAidD,eAAO,MAAM,eAAe,UAI3B,CAAC"}
1
+ {"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../src/commands/charter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA2BH,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ChF;AAwnBD,eAAO,MAAM,eAAe,UAK3B,CAAC"}
@@ -19,6 +19,7 @@ import { refine } from '../lib/charter/charter-editor.js';
19
19
  import { createInitialVersion, versionToString, createInitialChangelog, } from '../lib/charter/charter-versioning.js';
20
20
  import { getUserEmail } from '../utils/helpers.js';
21
21
  import { requireAuth } from '../utils/auth-storage.js';
22
+ import { existsSync } from 'fs';
22
23
  // ============================================================================
23
24
  // Main Command
24
25
  // ============================================================================
@@ -46,6 +47,14 @@ export async function charterCommand(options = {}) {
46
47
  await editCharter(storage);
47
48
  return;
48
49
  }
50
+ // Handle --sync flag (deprecated by ADR-077)
51
+ if (options.sync) {
52
+ console.log(chalk.yellow('\u26a0\ufe0f `ginko charter --sync` is deprecated. Use `ginko push charter` instead.'));
53
+ console.log('');
54
+ await requireAuth('charter');
55
+ await syncCharterToGraph(storage);
56
+ return;
57
+ }
49
58
  // Default: AI-mediated mode (output template) unless --no-ai specified
50
59
  if (!options.noAi) {
51
60
  await outputCharterTemplate();
@@ -243,6 +252,72 @@ async function editCharter(storage) {
243
252
  console.log(chalk.dim(' 📄 docs/PROJECT-CHARTER.md\n'));
244
253
  }
245
254
  // ============================================================================
255
+ // Sync Charter to Graph
256
+ // ============================================================================
257
+ /**
258
+ * Sync charter to graph database (UAT-006)
259
+ */
260
+ async function syncCharterToGraph(storage) {
261
+ console.log(chalk.blue('\n📡 Syncing charter to graph...\n'));
262
+ // Check for graph configuration
263
+ const projectRoot = process.cwd();
264
+ const graphConfigPath = path.join(projectRoot, '.ginko', 'graph', 'config.json');
265
+ if (!existsSync(graphConfigPath)) {
266
+ console.log(chalk.yellow('⚠️ Graph not configured'));
267
+ console.log(chalk.dim(' Run `ginko graph init` first\n'));
268
+ return;
269
+ }
270
+ // Load charter
271
+ const charter = await storage.load();
272
+ if (!charter) {
273
+ console.log(chalk.yellow('\n📋 No charter found for this project'));
274
+ console.log(chalk.dim(' Run `ginko charter` to create one first\n'));
275
+ return;
276
+ }
277
+ try {
278
+ // Read graph config
279
+ const graphConfig = JSON.parse(await fs.readFile(graphConfigPath, 'utf-8'));
280
+ const graphId = graphConfig.graphId;
281
+ if (!graphId) {
282
+ console.log(chalk.yellow('⚠️ No graph ID configured'));
283
+ console.log(chalk.dim(' Run `ginko graph init` to configure\n'));
284
+ return;
285
+ }
286
+ // Import API client dynamically
287
+ const { GraphApiClient } = await import('./graph/api-client.js');
288
+ const client = new GraphApiClient();
289
+ // Prepare charter data for sync
290
+ const charterData = {
291
+ graphId,
292
+ id: charter.id,
293
+ projectId: charter.projectId,
294
+ status: charter.status,
295
+ workMode: charter.workMode,
296
+ version: versionToString(charter.version),
297
+ purpose: charter.content.purpose,
298
+ users: charter.content.users,
299
+ successCriteria: charter.content.successCriteria,
300
+ inScope: charter.content.scope.inScope,
301
+ outOfScope: charter.content.scope.outOfScope,
302
+ tbd: charter.content.scope.tbd,
303
+ constraints: charter.content.constraints,
304
+ timeline: charter.content.timeline,
305
+ team: charter.content.team,
306
+ confidence: charter.confidence.overall,
307
+ };
308
+ console.log(chalk.dim(` Syncing charter for ${charter.projectId}...`));
309
+ await client.syncCharter(charterData);
310
+ console.log(chalk.green(`\n✅ Charter synced to graph!`));
311
+ console.log(chalk.dim(` Project: ${charter.projectId}`));
312
+ console.log(chalk.dim(` Status: ${charter.status}`));
313
+ console.log(chalk.dim(` Confidence: ${charter.confidence.overall}%\n`));
314
+ }
315
+ catch (error) {
316
+ console.error(chalk.red(`\n❌ Sync failed: ${error.message}`));
317
+ console.log(chalk.dim(' Check graph connection and authentication\n'));
318
+ }
319
+ }
320
+ // ============================================================================
246
321
  // Display Helpers
247
322
  // ============================================================================
248
323
  /**
@@ -283,62 +358,141 @@ function displayCharterPreview(charter) {
283
358
  console.log('');
284
359
  }
285
360
  /**
286
- * Display full charter
361
+ * Display full charter with improved formatting (UAT-005)
287
362
  */
288
363
  function displayCharterFull(charter) {
289
- console.log(chalk.green('\n╔════════════════════════════════════════════╗'));
290
- console.log(chalk.green('Project Charter ║'));
291
- console.log(chalk.green('╚════════════════════════════════════════════╝\n'));
292
- console.log(chalk.bold('Status:'), formatStatus(charter.status));
293
- console.log(chalk.bold('Version:'), versionToString(charter.version));
294
- console.log(chalk.bold('Work Mode:'), formatWorkMode(charter.workMode));
295
- console.log(chalk.bold('Confidence:'), `${charter.confidence.overall}% (${confidenceLabel(charter.confidence.overall)})`);
364
+ // Calculate header width to fit project name
365
+ const projectName = charter.projectId || 'Project';
366
+ const title = `Project Charter: ${projectName}`;
367
+ const boxWidth = Math.max(50, title.length + 6);
368
+ const padding = Math.floor((boxWidth - title.length - 2) / 2);
369
+ const extraPad = (boxWidth - title.length - 2) % 2;
370
+ console.log(chalk.green('\n╔' + '═'.repeat(boxWidth) + '╗'));
371
+ console.log(chalk.green('║' + ' '.repeat(padding) + title + ' '.repeat(padding + extraPad) + '║'));
372
+ console.log(chalk.green('╚' + '═'.repeat(boxWidth) + '╝\n'));
373
+ // Status bar with visual indicators
374
+ const statusIcon = charter.status === 'active' ? chalk.green('●') :
375
+ charter.status === 'draft' ? chalk.yellow('○') :
376
+ chalk.dim('◌');
377
+ const confidenceBar = createConfidenceBar(charter.confidence.overall);
378
+ const statusText = charter.status.charAt(0).toUpperCase() + charter.status.slice(1);
379
+ const modeText = formatWorkMode(charter.workMode);
380
+ const versionText = versionToString(charter.version);
381
+ const createdText = charter.createdAt.toLocaleDateString();
382
+ const updatedText = charter.updatedAt.toLocaleDateString();
383
+ console.log(` ${statusIcon} ${chalk.bold('Status:')} ${statusText} ${chalk.dim('|')} ${chalk.bold('Version:')} ${versionText}`);
384
+ console.log(` ${chalk.bold('Mode:')} ${modeText} ${chalk.dim('|')} ${chalk.bold('Confidence:')} ${confidenceBar}`);
385
+ console.log(` ${chalk.dim('Created:')} ${createdText} ${chalk.dim('|')} ${chalk.dim('Updated:')} ${updatedText}`);
296
386
  console.log('');
297
- console.log(chalk.bold('Purpose & Value:'));
298
- console.log(charter.content.purpose);
387
+ // Purpose section
388
+ console.log(chalk.bold.cyan('📋 Purpose & Value'));
389
+ console.log(chalk.gray('─'.repeat(50)));
390
+ console.log(wrapText(charter.content.purpose, 50));
299
391
  console.log('');
392
+ // Users section
300
393
  if (charter.content.users.length > 0) {
301
- console.log(chalk.bold('Users & Personas:'));
394
+ console.log(chalk.bold.cyan('👥 Users & Personas'));
395
+ console.log(chalk.gray('─'.repeat(50)));
302
396
  charter.content.users.forEach(user => {
303
- console.log(` • ${user}`);
397
+ console.log(` ${chalk.dim('')} ${user}`);
304
398
  });
305
399
  console.log('');
306
400
  }
307
- console.log(chalk.bold('Success Criteria:'));
308
- charter.content.successCriteria.forEach(criterion => {
309
- console.log(` • ${criterion}`);
401
+ // Success Criteria with checklist-style formatting
402
+ console.log(chalk.bold.cyan('🎯 Success Criteria'));
403
+ console.log(chalk.gray('─'.repeat(50)));
404
+ charter.content.successCriteria.forEach((criterion, idx) => {
405
+ const num = String(idx + 1).padStart(2, ' ');
406
+ console.log(` ${chalk.dim(num + '.')} ${criterion}`);
310
407
  });
311
408
  console.log('');
312
- console.log(chalk.bold('Scope & Boundaries:'));
313
- console.log(chalk.underline(' In Scope:'));
314
- charter.content.scope.inScope.forEach(item => {
315
- console.log(chalk.green(` ${item}`));
409
+ // Scope table
410
+ console.log(chalk.bold.cyan('🔍 Scope & Boundaries'));
411
+ console.log(chalk.gray('─'.repeat(50)));
412
+ const maxInScope = 5;
413
+ const maxOutScope = 5;
414
+ console.log(chalk.green(' ✓ In Scope'));
415
+ charter.content.scope.inScope.slice(0, maxInScope).forEach(item => {
416
+ console.log(chalk.green(` • ${item}`));
316
417
  });
317
- console.log(chalk.underline(' Out of Scope:'));
318
- charter.content.scope.outOfScope.forEach(item => {
319
- console.log(chalk.red(` ✗ ${item}`));
418
+ if (charter.content.scope.inScope.length > maxInScope) {
419
+ console.log(chalk.dim(` ... and ${charter.content.scope.inScope.length - maxInScope} more`));
420
+ }
421
+ console.log(chalk.red('\n ✗ Out of Scope'));
422
+ charter.content.scope.outOfScope.slice(0, maxOutScope).forEach(item => {
423
+ console.log(chalk.red(` • ${item}`));
320
424
  });
425
+ if (charter.content.scope.outOfScope.length > maxOutScope) {
426
+ console.log(chalk.dim(` ... and ${charter.content.scope.outOfScope.length - maxOutScope} more`));
427
+ }
321
428
  if (charter.content.scope.tbd.length > 0) {
322
- console.log(chalk.underline(' TBD:'));
429
+ console.log(chalk.yellow('\n ? To Be Determined'));
323
430
  charter.content.scope.tbd.forEach(item => {
324
- console.log(chalk.yellow(` ? ${item}`));
431
+ console.log(chalk.yellow(` ${item}`));
325
432
  });
326
433
  }
327
434
  console.log('');
328
- if (charter.content.constraints || charter.content.timeline || charter.content.team) {
329
- console.log(chalk.bold('Context:'));
435
+ // Context section (if any data exists)
436
+ if (charter.content.constraints || charter.content.timeline || (charter.content.team && charter.content.team.length > 0)) {
437
+ console.log(chalk.bold.cyan('📌 Context & Constraints'));
438
+ console.log(chalk.gray('─'.repeat(50)));
330
439
  if (charter.content.constraints) {
331
- console.log(` Constraints: ${charter.content.constraints}`);
440
+ console.log(` ${chalk.dim('Constraints:')} ${charter.content.constraints}`);
332
441
  }
333
442
  if (charter.content.timeline) {
334
- console.log(` Timeline: ${charter.content.timeline}`);
443
+ console.log(` ${chalk.dim('Timeline:')} ${charter.content.timeline}`);
335
444
  }
336
445
  if (charter.content.team && charter.content.team.length > 0) {
337
- console.log(` Team: ${charter.content.team.join(', ')}`);
446
+ console.log(` ${chalk.dim('Team:')} ${charter.content.team.join(', ')}`);
338
447
  }
339
448
  console.log('');
340
449
  }
341
- console.log(chalk.dim('📄 Full charter: docs/PROJECT-CHARTER.md\n'));
450
+ // Risks (if full-planning mode)
451
+ if (charter.content.risks && charter.content.risks.length > 0) {
452
+ console.log(chalk.bold.cyan('⚠️ Risks'));
453
+ console.log(chalk.gray('─'.repeat(50)));
454
+ charter.content.risks.forEach(risk => {
455
+ console.log(` ${chalk.yellow('!')} ${risk}`);
456
+ });
457
+ console.log('');
458
+ }
459
+ // Footer
460
+ console.log(chalk.gray('─'.repeat(50)));
461
+ console.log(chalk.dim(`📄 File: docs/PROJECT-CHARTER.md`));
462
+ console.log(chalk.dim(`💡 Edit: ginko charter --edit\n`));
463
+ }
464
+ /**
465
+ * Create a visual confidence bar
466
+ */
467
+ function createConfidenceBar(percent) {
468
+ const filled = Math.round(percent / 10);
469
+ const empty = 10 - filled;
470
+ const bar = '█'.repeat(filled) + '░'.repeat(empty);
471
+ const color = percent >= 70 ? chalk.green :
472
+ percent >= 40 ? chalk.yellow :
473
+ chalk.red;
474
+ return color(`[${bar}]`) + ` ${percent}%`;
475
+ }
476
+ /**
477
+ * Wrap text to specified width
478
+ */
479
+ function wrapText(text, width) {
480
+ const words = text.split(' ');
481
+ const lines = [];
482
+ let currentLine = '';
483
+ for (const word of words) {
484
+ if ((currentLine + ' ' + word).trim().length <= width) {
485
+ currentLine = (currentLine + ' ' + word).trim();
486
+ }
487
+ else {
488
+ if (currentLine)
489
+ lines.push(currentLine);
490
+ currentLine = word;
491
+ }
492
+ }
493
+ if (currentLine)
494
+ lines.push(currentLine);
495
+ return lines.map(line => ' ' + line).join('\n');
342
496
  }
343
497
  /**
344
498
  * Display charter saved message
@@ -458,5 +612,6 @@ export const charterExamples = [
458
612
  'ginko charter # Create new charter via conversation',
459
613
  'ginko charter --view # View existing charter',
460
614
  'ginko charter --edit # Edit charter conversationally',
615
+ 'ginko charter --sync # Sync charter to graph database',
461
616
  ];
462
617
  //# sourceMappingURL=charter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"charter.js","sourceRoot":"","sources":["../../src/commands/charter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"charter.js","sourceRoot":"","sources":["../../src/commands/charter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @fileType: command
3
+ * @status: current
4
+ * @updated: 2026-01-30
5
+ * @tags: [diff, sync, local-vs-graph, ADR-077]
6
+ * @related: [index.ts, ../graph/api-client.ts, ../../lib/entity-classifier.ts]
7
+ * @priority: medium
8
+ * @complexity: medium
9
+ * @dependencies: [chalk, fs-extra]
10
+ */
11
+ export interface DiffOptions {
12
+ /** Entity path in format "type/id" (e.g., "epic/EPIC-001") */
13
+ entityPath: string;
14
+ verbose?: boolean;
15
+ }
16
+ /**
17
+ * Main diff command implementation
18
+ */
19
+ export declare function diffCommand(options: DiffOptions): Promise<void>;
20
+ //# sourceMappingURL=diff-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-command.d.ts","sourceRoot":"","sources":["../../../src/commands/diff/diff-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoBH,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA6ED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyGrE"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * @fileType: command
3
+ * @status: current
4
+ * @updated: 2026-01-30
5
+ * @tags: [diff, sync, local-vs-graph, ADR-077]
6
+ * @related: [index.ts, ../graph/api-client.ts, ../../lib/entity-classifier.ts]
7
+ * @priority: medium
8
+ * @complexity: medium
9
+ * @dependencies: [chalk, fs-extra]
10
+ */
11
+ /**
12
+ * Diff Command (ADR-077)
13
+ *
14
+ * Compare local file content with graph version to show differences.
15
+ *
16
+ * Usage:
17
+ * ginko diff epic/EPIC-001 # Show local vs graph diff for an epic
18
+ * ginko diff sprint/e001_s01 # Show diff for a sprint
19
+ * ginko diff adr/ADR-077 # Show diff for an ADR
20
+ */
21
+ import chalk from 'chalk';
22
+ import fs from 'fs-extra';
23
+ import path from 'path';
24
+ import { GraphApiClient } from '../graph/api-client.js';
25
+ import { loadGraphConfig, isGraphInitialized } from '../graph/config.js';
26
+ import { getProjectRoot } from '../../utils/helpers.js';
27
+ /**
28
+ * Find local file for an entity ID
29
+ */
30
+ async function findLocalFile(entityType, entityId, projectRoot) {
31
+ const typeDir = {
32
+ 'epic': 'docs/epics',
33
+ 'sprint': 'docs/sprints',
34
+ 'adr': 'docs/adr',
35
+ 'prd': 'docs/PRD',
36
+ 'charter': 'docs',
37
+ };
38
+ const dir = typeDir[entityType.toLowerCase()];
39
+ if (!dir)
40
+ return null;
41
+ const dirPath = path.join(projectRoot, dir);
42
+ if (!await fs.pathExists(dirPath))
43
+ return null;
44
+ // For charter, check PROJECT-CHARTER.md directly
45
+ if (entityType.toLowerCase() === 'charter') {
46
+ const charterPath = path.join(dirPath, 'PROJECT-CHARTER.md');
47
+ return await fs.pathExists(charterPath) ? charterPath : null;
48
+ }
49
+ // Search for a file matching the entity ID
50
+ const files = await fs.readdir(dirPath);
51
+ const normalizedId = entityId.toLowerCase();
52
+ for (const file of files) {
53
+ if (file.toLowerCase().includes(normalizedId) && file.endsWith('.md')) {
54
+ return path.join(dirPath, file);
55
+ }
56
+ }
57
+ return null;
58
+ }
59
+ /**
60
+ * Simple line-by-line diff
61
+ */
62
+ function computeDiff(localLines, graphLines) {
63
+ const output = [];
64
+ const maxLen = Math.max(localLines.length, graphLines.length);
65
+ let diffCount = 0;
66
+ for (let i = 0; i < maxLen; i++) {
67
+ const local = localLines[i] ?? '';
68
+ const graph = graphLines[i] ?? '';
69
+ if (local === graph)
70
+ continue;
71
+ diffCount++;
72
+ if (localLines[i] !== undefined && graphLines[i] === undefined) {
73
+ output.push(chalk.green(`+ ${i + 1}: ${local}`));
74
+ }
75
+ else if (localLines[i] === undefined && graphLines[i] !== undefined) {
76
+ output.push(chalk.red(`- ${i + 1}: ${graph}`));
77
+ }
78
+ else {
79
+ output.push(chalk.red(`- ${i + 1}: ${graph}`));
80
+ output.push(chalk.green(`+ ${i + 1}: ${local}`));
81
+ }
82
+ if (diffCount > 50) {
83
+ output.push(chalk.dim(` ... and more differences`));
84
+ break;
85
+ }
86
+ }
87
+ return output;
88
+ }
89
+ /**
90
+ * Main diff command implementation
91
+ */
92
+ export async function diffCommand(options) {
93
+ // Parse entity path
94
+ const parts = options.entityPath.split('/');
95
+ if (parts.length < 2) {
96
+ console.error(chalk.red('\u2717 Invalid entity path. Use format: type/id'));
97
+ console.error(chalk.dim(' Examples: epic/EPIC-001, sprint/e001_s01, adr/ADR-077'));
98
+ process.exit(1);
99
+ }
100
+ const [entityType, entityId] = parts;
101
+ // Check graph initialization
102
+ if (!await isGraphInitialized()) {
103
+ console.error(chalk.yellow('\u26a0\ufe0f Graph not initialized'));
104
+ console.error(chalk.dim('Run "ginko graph init" first'));
105
+ return;
106
+ }
107
+ const config = await loadGraphConfig();
108
+ if (!config) {
109
+ console.error(chalk.red('\u2717 Failed to load graph configuration'));
110
+ return;
111
+ }
112
+ let projectRoot;
113
+ try {
114
+ projectRoot = await getProjectRoot();
115
+ }
116
+ catch {
117
+ projectRoot = process.cwd();
118
+ }
119
+ console.log(chalk.bold.cyan(`\n\ud83d\udd0d Diff: ${entityType}/${entityId}\n`));
120
+ // Find local file
121
+ const localPath = await findLocalFile(entityType, entityId, projectRoot);
122
+ let localContent = null;
123
+ if (localPath) {
124
+ localContent = await fs.readFile(localPath, 'utf-8');
125
+ console.log(chalk.dim(`Local: ${path.relative(projectRoot, localPath)}`));
126
+ }
127
+ else {
128
+ console.log(chalk.yellow('Local: not found'));
129
+ }
130
+ // Fetch from graph
131
+ const client = new GraphApiClient(config.apiEndpoint);
132
+ let graphContent = null;
133
+ try {
134
+ const exploreResult = await client.explore(config.graphId, entityId);
135
+ graphContent = exploreResult.document?.content || null;
136
+ if (graphContent) {
137
+ console.log(chalk.dim(`Graph: ${exploreResult.document.type}/${exploreResult.document.id}`));
138
+ }
139
+ else {
140
+ console.log(chalk.yellow('Graph: not found'));
141
+ }
142
+ }
143
+ catch {
144
+ console.log(chalk.yellow('Graph: unable to fetch (may not exist)'));
145
+ }
146
+ console.log('');
147
+ // Compare
148
+ if (!localContent && !graphContent) {
149
+ console.log(chalk.yellow('Entity not found in either local or graph.'));
150
+ return;
151
+ }
152
+ if (!localContent && graphContent) {
153
+ console.log(chalk.yellow('Only in graph (not synced to local).'));
154
+ console.log(chalk.dim('Run `ginko pull` to sync this entity.'));
155
+ return;
156
+ }
157
+ if (localContent && !graphContent) {
158
+ console.log(chalk.yellow('Only in local (not pushed to graph).'));
159
+ console.log(chalk.dim('Run `ginko push` to sync this entity.'));
160
+ return;
161
+ }
162
+ // Both exist - compute diff
163
+ const localLines = localContent.split('\n');
164
+ const graphLines = graphContent.split('\n');
165
+ if (localContent === graphContent) {
166
+ console.log(chalk.green('\u2713 Local and graph are in sync. No differences.'));
167
+ return;
168
+ }
169
+ const diffLines = computeDiff(localLines, graphLines);
170
+ if (diffLines.length === 0) {
171
+ console.log(chalk.green('\u2713 Content is equivalent (whitespace differences only).'));
172
+ return;
173
+ }
174
+ console.log(chalk.bold('Differences (local vs graph):'));
175
+ console.log(chalk.dim(` ${chalk.green('+')} local only ${chalk.red('-')} graph only\n`));
176
+ for (const line of diffLines) {
177
+ console.log(` ${line}`);
178
+ }
179
+ console.log(chalk.dim(`\nTo sync: \`ginko push\` (local \u2192 graph) or \`ginko pull\` (graph \u2192 local)`));
180
+ }
181
+ //# sourceMappingURL=diff-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-command.js","sourceRoot":"","sources":["../../../src/commands/diff/diff-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @fileType: command-entry
3
+ * @status: current
4
+ * @updated: 2026-01-30
5
+ * @tags: [diff, command, ADR-077]
6
+ * @related: [diff-command.ts]
7
+ * @priority: medium
8
+ * @complexity: low
9
+ * @dependencies: [commander]
10
+ */
11
+ /**
12
+ * Diff Command Entry Point (ADR-077)
13
+ *
14
+ * Registers the `ginko diff` command for comparing local vs graph content.
15
+ */
16
+ import { Command } from 'commander';
17
+ export declare function createDiffCommand(): Command;
18
+ export { diffCommand } from './diff-command.js';
19
+ export type { DiffOptions } from './diff-command.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/diff/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,iBAAiB,IAAI,OAAO,CAmB3C;AAED,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}