@boshu2/vibe-check 1.6.2 → 1.8.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 (156) hide show
  1. package/.agents/bundles/actionable-coaching-plan-2025-12-02.md +209 -0
  2. package/.agents/bundles/automatic-learning-cadence-plan-2025-12-02.md +1297 -0
  3. package/.agents/bundles/automatic-learning-cadence-research-2025-12-02.md +481 -0
  4. package/.agents/bundles/dashboard-data-quality-plan.md +458 -0
  5. package/.agents/bundles/rating-scoring-alignment-plan.md +427 -0
  6. package/.agents/bundles/rpi-session-capture-plan-2025-12-02.md +693 -0
  7. package/.agents/bundles/rpi-session-capture-research-2025-12-02.md +433 -0
  8. package/.agents/bundles/session-integration-plan-2025-12-02.md +144 -0
  9. package/.agents/plans/git-forensics-enhancement-2025-12-05.md +493 -0
  10. package/.claude/skills/typescript-review.md +152 -0
  11. package/CHANGELOG.md +53 -0
  12. package/CLAUDE.md +79 -3
  13. package/Makefile +160 -0
  14. package/README.md +141 -155
  15. package/SECURITY.md +5 -1
  16. package/assets/logo-dark.svg +47 -0
  17. package/assets/logo.svg +47 -0
  18. package/claude-progress.json +54 -4
  19. package/claude-progress.txt +114 -0
  20. package/dashboard/app.js +699 -66
  21. package/dashboard/chart.min.js +20 -0
  22. package/dashboard/dashboard-data.js +764 -0
  23. package/dashboard/dashboard-data.json +182 -71
  24. package/dashboard/index.html +139 -14
  25. package/dashboard/styles.css +579 -4
  26. package/dist/analyzers/patterns.d.ts +62 -0
  27. package/dist/analyzers/patterns.d.ts.map +1 -0
  28. package/dist/analyzers/patterns.js +103 -0
  29. package/dist/analyzers/patterns.js.map +1 -0
  30. package/dist/analyzers/quality.d.ts +58 -0
  31. package/dist/analyzers/quality.d.ts.map +1 -0
  32. package/dist/analyzers/quality.js +114 -0
  33. package/dist/analyzers/quality.js.map +1 -0
  34. package/dist/analyzers/sessions.d.ts +45 -0
  35. package/dist/analyzers/sessions.d.ts.map +1 -0
  36. package/dist/analyzers/sessions.js +123 -0
  37. package/dist/analyzers/sessions.js.map +1 -0
  38. package/dist/cli.js +5 -1
  39. package/dist/cli.js.map +1 -1
  40. package/dist/commands/analyze.d.ts.map +1 -1
  41. package/dist/commands/analyze.js +43 -2
  42. package/dist/commands/analyze.js.map +1 -1
  43. package/dist/commands/dashboard.js +4 -1
  44. package/dist/commands/dashboard.js.map +1 -1
  45. package/dist/commands/forensics.d.ts +29 -0
  46. package/dist/commands/forensics.d.ts.map +1 -0
  47. package/dist/commands/forensics.js +213 -0
  48. package/dist/commands/forensics.js.map +1 -0
  49. package/dist/commands/index.d.ts +5 -1
  50. package/dist/commands/index.d.ts.map +1 -1
  51. package/dist/commands/index.js +13 -3
  52. package/dist/commands/index.js.map +1 -1
  53. package/dist/commands/insights.d.ts +3 -0
  54. package/dist/commands/insights.d.ts.map +1 -0
  55. package/dist/commands/insights.js +120 -0
  56. package/dist/commands/insights.js.map +1 -0
  57. package/dist/commands/learn.d.ts +3 -0
  58. package/dist/commands/learn.d.ts.map +1 -0
  59. package/dist/commands/learn.js +161 -0
  60. package/dist/commands/learn.js.map +1 -0
  61. package/dist/commands/lesson.d.ts +8 -0
  62. package/dist/commands/lesson.d.ts.map +1 -0
  63. package/dist/commands/lesson.js +206 -0
  64. package/dist/commands/lesson.js.map +1 -0
  65. package/dist/commands/pipeline.d.ts +3 -0
  66. package/dist/commands/pipeline.d.ts.map +1 -0
  67. package/dist/commands/pipeline.js +485 -0
  68. package/dist/commands/pipeline.js.map +1 -0
  69. package/dist/commands/profile.d.ts +0 -1
  70. package/dist/commands/profile.d.ts.map +1 -1
  71. package/dist/commands/profile.js +3 -206
  72. package/dist/commands/profile.js.map +1 -1
  73. package/dist/commands/session.d.ts +51 -0
  74. package/dist/commands/session.d.ts.map +1 -0
  75. package/dist/commands/session.js +599 -0
  76. package/dist/commands/session.js.map +1 -0
  77. package/dist/commands/sessions.d.ts +20 -0
  78. package/dist/commands/sessions.d.ts.map +1 -0
  79. package/dist/commands/sessions.js +201 -0
  80. package/dist/commands/sessions.js.map +1 -0
  81. package/dist/commands/watch.d.ts.map +1 -1
  82. package/dist/commands/watch.js +48 -7
  83. package/dist/commands/watch.js.map +1 -1
  84. package/dist/gamification/index.d.ts +1 -3
  85. package/dist/gamification/index.d.ts.map +1 -1
  86. package/dist/gamification/index.js +2 -5
  87. package/dist/gamification/index.js.map +1 -1
  88. package/dist/gamification/pattern-memory.d.ts +1 -1
  89. package/dist/gamification/pattern-memory.d.ts.map +1 -1
  90. package/dist/gamification/pattern-memory.js.map +1 -1
  91. package/dist/gamification/profile.d.ts +2 -2
  92. package/dist/gamification/profile.d.ts.map +1 -1
  93. package/dist/gamification/profile.js +2 -15
  94. package/dist/gamification/profile.js.map +1 -1
  95. package/dist/gamification/types.d.ts +8 -2
  96. package/dist/gamification/types.d.ts.map +1 -1
  97. package/dist/gamification/types.js.map +1 -1
  98. package/dist/insights/index.d.ts.map +1 -1
  99. package/dist/insights/index.js +16 -4
  100. package/dist/insights/index.js.map +1 -1
  101. package/dist/insights/types.d.ts +14 -0
  102. package/dist/insights/types.d.ts.map +1 -1
  103. package/dist/learning/cadence.d.ts +15 -0
  104. package/dist/learning/cadence.d.ts.map +1 -0
  105. package/dist/learning/cadence.js +130 -0
  106. package/dist/learning/cadence.js.map +1 -0
  107. package/dist/learning/index.d.ts +19 -0
  108. package/dist/learning/index.d.ts.map +1 -0
  109. package/dist/learning/index.js +35 -0
  110. package/dist/learning/index.js.map +1 -0
  111. package/dist/learning/lessons-storage.d.ts +48 -0
  112. package/dist/learning/lessons-storage.d.ts.map +1 -0
  113. package/dist/learning/lessons-storage.js +266 -0
  114. package/dist/learning/lessons-storage.js.map +1 -0
  115. package/dist/learning/lessons-types.d.ts +83 -0
  116. package/dist/learning/lessons-types.d.ts.map +1 -0
  117. package/dist/learning/lessons-types.js +15 -0
  118. package/dist/learning/lessons-types.js.map +1 -0
  119. package/dist/learning/nudges.d.ts +20 -0
  120. package/dist/learning/nudges.d.ts.map +1 -0
  121. package/dist/learning/nudges.js +68 -0
  122. package/dist/learning/nudges.js.map +1 -0
  123. package/dist/learning/retrospective.d.ts +27 -0
  124. package/dist/learning/retrospective.d.ts.map +1 -0
  125. package/dist/learning/retrospective.js +184 -0
  126. package/dist/learning/retrospective.js.map +1 -0
  127. package/dist/learning/storage.d.ts +44 -0
  128. package/dist/learning/storage.d.ts.map +1 -0
  129. package/dist/learning/storage.js +194 -0
  130. package/dist/learning/storage.js.map +1 -0
  131. package/dist/learning/surfacing.d.ts +36 -0
  132. package/dist/learning/surfacing.d.ts.map +1 -0
  133. package/dist/learning/surfacing.js +255 -0
  134. package/dist/learning/surfacing.js.map +1 -0
  135. package/dist/learning/synthesis.d.ts +17 -0
  136. package/dist/learning/synthesis.d.ts.map +1 -0
  137. package/dist/learning/synthesis.js +293 -0
  138. package/dist/learning/synthesis.js.map +1 -0
  139. package/dist/learning/types.d.ts +60 -0
  140. package/dist/learning/types.d.ts.map +1 -0
  141. package/dist/learning/types.js +17 -0
  142. package/dist/learning/types.js.map +1 -0
  143. package/dist/storage/index.d.ts +1 -0
  144. package/dist/storage/index.d.ts.map +1 -1
  145. package/dist/storage/index.js +11 -1
  146. package/dist/storage/index.js.map +1 -1
  147. package/dist/storage/spiral-history.d.ts +62 -0
  148. package/dist/storage/spiral-history.d.ts.map +1 -0
  149. package/dist/storage/spiral-history.js +265 -0
  150. package/dist/storage/spiral-history.js.map +1 -0
  151. package/docs/ARCHITECTURE.md +2 -10
  152. package/docs/GAMIFICATION.md +19 -266
  153. package/docs/METRICS.md +528 -0
  154. package/docs/VIBE-ECOSYSTEM.md +12 -78
  155. package/feature-list.json +141 -68
  156. package/package.json +1 -1
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createLearnCommand = createLearnCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const retrospective_1 = require("../learning/retrospective");
10
+ const storage_1 = require("../learning/storage");
11
+ const pattern_memory_1 = require("../gamification/pattern-memory");
12
+ const profile_1 = require("../gamification/profile");
13
+ function createLearnCommand() {
14
+ const cmd = new commander_1.Command('learn')
15
+ .description('Run learning operations - retrospectives, pattern analysis, nudge management')
16
+ .option('--retro', 'Run weekly retrospective')
17
+ .option('--status', 'Show learning status and pending nudges')
18
+ .option('--pattern <name>', 'Show details for a specific pattern (e.g., SSL_TLS)')
19
+ .option('--dismiss <id>', 'Dismiss a nudge by ID')
20
+ .option('--dismiss-all', 'Dismiss all pending nudges')
21
+ .action(async (options) => {
22
+ await runLearn(options);
23
+ });
24
+ return cmd;
25
+ }
26
+ async function runLearn(options) {
27
+ // Default to status if no options
28
+ if (!options.retro && !options.pattern && !options.dismiss && !options.dismissAll) {
29
+ options.status = true;
30
+ }
31
+ if (options.retro) {
32
+ await runRetro();
33
+ return;
34
+ }
35
+ if (options.status) {
36
+ showStatus();
37
+ return;
38
+ }
39
+ if (options.pattern) {
40
+ showPattern(options.pattern);
41
+ return;
42
+ }
43
+ if (options.dismissAll) {
44
+ dismissAllNudges();
45
+ return;
46
+ }
47
+ if (options.dismiss) {
48
+ dismissSingleNudge(options.dismiss);
49
+ return;
50
+ }
51
+ }
52
+ async function runRetro() {
53
+ const retroCheck = (0, retrospective_1.isRetroDue)();
54
+ if (!retroCheck.due) {
55
+ console.log(chalk_1.default.yellow(`\nRetrospective not due yet (${retroCheck.daysSince} days since last).`));
56
+ console.log(chalk_1.default.gray('Run with --force to run anyway.\n'));
57
+ // Ask if they want to run anyway
58
+ const profile = (0, profile_1.loadProfile)();
59
+ if (profile.sessions.length >= 3) {
60
+ console.log(chalk_1.default.gray('Running anyway since you have recent sessions...\n'));
61
+ (0, retrospective_1.runAndSaveRetro)();
62
+ }
63
+ return;
64
+ }
65
+ (0, retrospective_1.runAndSaveRetro)();
66
+ }
67
+ function showStatus() {
68
+ const state = (0, storage_1.loadLearningState)();
69
+ const profile = (0, profile_1.loadProfile)();
70
+ const nudges = (0, storage_1.getPendingNudges)(state);
71
+ const retroCheck = (0, retrospective_1.isRetroDue)();
72
+ console.log('');
73
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
74
+ console.log(chalk_1.default.bold.cyan(' LEARNING STATUS'));
75
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
76
+ console.log('');
77
+ // Retro status
78
+ if (retroCheck.due) {
79
+ console.log(chalk_1.default.yellow(` Retrospective due: ${retroCheck.reason}`));
80
+ console.log(chalk_1.default.gray(' Run `vibe-check learn --retro` to complete'));
81
+ }
82
+ else {
83
+ console.log(chalk_1.default.green(` Retrospective: ${retroCheck.daysSince} days ago (due in ${7 - retroCheck.daysSince} days)`));
84
+ }
85
+ console.log('');
86
+ // Pending nudges
87
+ if (nudges.length > 0) {
88
+ console.log(chalk_1.default.bold.white(` PENDING NUDGES (${nudges.length})`));
89
+ for (const nudge of nudges) {
90
+ console.log(` ${nudge.icon} ${nudge.title}`);
91
+ console.log(chalk_1.default.gray(` ${nudge.message}`));
92
+ console.log(chalk_1.default.gray(` ID: ${nudge.id}`));
93
+ }
94
+ }
95
+ else {
96
+ console.log(chalk_1.default.gray(' No pending nudges'));
97
+ }
98
+ console.log('');
99
+ // Pattern summary
100
+ const patternData = (0, pattern_memory_1.formatPatternMemory)(profile.patternMemory);
101
+ if (patternData.hasData) {
102
+ console.log(chalk_1.default.bold.white(' PATTERN SUMMARY'));
103
+ console.log(` ${patternData.summary}`);
104
+ console.log(chalk_1.default.gray(` Avg recovery time: ${patternData.avgRecoveryTime} min`));
105
+ }
106
+ console.log('');
107
+ // Stats
108
+ console.log(chalk_1.default.bold.white(' LEARNING STATS'));
109
+ console.log(` Retrospectives completed: ${state.totalRetrosCompleted}`);
110
+ console.log(` Nudges displayed: ${state.nudgesDisplayed}`);
111
+ console.log(` Nudges dismissed: ${state.nudgesDismissed}`);
112
+ console.log('');
113
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
114
+ console.log('');
115
+ }
116
+ function showPattern(patternName) {
117
+ const profile = (0, profile_1.loadProfile)();
118
+ const displayName = (0, pattern_memory_1.getPatternDisplayName)(patternName);
119
+ const advice = (0, pattern_memory_1.getPatternAdvice)(patternName);
120
+ console.log('');
121
+ console.log(chalk_1.default.bold.cyan(` PATTERN: ${displayName}`));
122
+ console.log('');
123
+ const patternMemory = profile.patternMemory;
124
+ if (!patternMemory) {
125
+ console.log(chalk_1.default.gray(' No pattern data recorded yet.'));
126
+ return;
127
+ }
128
+ const records = patternMemory.records.filter(r => r.pattern === patternName);
129
+ const count = patternMemory.patternCounts[patternName] || 0;
130
+ const totalMinutes = patternMemory.patternDurations[patternName] || 0;
131
+ console.log(` Occurrences: ${count}`);
132
+ console.log(` Total time lost: ${totalMinutes} min`);
133
+ console.log(` Avg recovery: ${count > 0 ? Math.round(totalMinutes / count) : 0} min`);
134
+ console.log('');
135
+ console.log(chalk_1.default.bold.yellow(` ADVICE: ${advice}`));
136
+ console.log('');
137
+ // Recent occurrences
138
+ if (records.length > 0) {
139
+ console.log(chalk_1.default.bold.white(' RECENT OCCURRENCES'));
140
+ for (const record of records.slice(-5).reverse()) {
141
+ console.log(` ${record.date}: ${record.component} (${record.duration} min, ${record.commits} commits)`);
142
+ }
143
+ }
144
+ console.log('');
145
+ }
146
+ function dismissAllNudges() {
147
+ let state = (0, storage_1.loadLearningState)();
148
+ const nudges = (0, storage_1.getPendingNudges)(state);
149
+ for (const nudge of nudges) {
150
+ state = (0, storage_1.dismissNudge)(state, nudge.id);
151
+ }
152
+ (0, storage_1.saveLearningState)(state);
153
+ console.log(chalk_1.default.green(`\n Dismissed ${nudges.length} nudges.\n`));
154
+ }
155
+ function dismissSingleNudge(nudgeId) {
156
+ const state = (0, storage_1.loadLearningState)();
157
+ const updatedState = (0, storage_1.dismissNudge)(state, nudgeId);
158
+ (0, storage_1.saveLearningState)(updatedState);
159
+ console.log(chalk_1.default.green(`\n Nudge dismissed.\n`));
160
+ }
161
+ //# sourceMappingURL=learn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learn.js","sourceRoot":"","sources":["../../src/commands/learn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Lesson Command
3
+ *
4
+ * View, manage, and interact with learned lessons.
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare function createLessonCommand(): Command;
8
+ //# sourceMappingURL=lesson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson.d.ts","sourceRoot":"","sources":["../../src/commands/lesson.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,mBAAmB,IAAI,OAAO,CAc7C"}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ /**
3
+ * Lesson Command
4
+ *
5
+ * View, manage, and interact with learned lessons.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.createLessonCommand = createLessonCommand;
12
+ const commander_1 = require("commander");
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ const lessons_storage_1 = require("../learning/lessons-storage");
15
+ const surfacing_1 = require("../learning/surfacing");
16
+ const pattern_memory_1 = require("../gamification/pattern-memory");
17
+ function createLessonCommand() {
18
+ const cmd = new commander_1.Command('lesson')
19
+ .description('View and manage learned lessons from your spiral patterns')
20
+ .argument('[lesson-id]', 'View a specific lesson by ID')
21
+ .option('--list', 'List all lessons')
22
+ .option('--pattern <pattern>', 'Filter lessons by pattern (e.g., SSL_TLS)')
23
+ .option('--apply <effectiveness>', 'Mark lesson as applied with effectiveness score (0-100)')
24
+ .option('--dismiss', 'Dismiss a lesson as not relevant')
25
+ .option('--stats', 'Show lessons statistics')
26
+ .action(async (lessonId, options) => {
27
+ await runLesson(lessonId, options);
28
+ });
29
+ return cmd;
30
+ }
31
+ async function runLesson(lessonId, options) {
32
+ const db = (0, lessons_storage_1.loadLessons)();
33
+ // Handle --stats
34
+ if (options.stats) {
35
+ showStats();
36
+ return;
37
+ }
38
+ // Handle --list
39
+ if (options.list) {
40
+ listLessons(options.pattern);
41
+ return;
42
+ }
43
+ // Handle specific lesson by ID
44
+ if (lessonId) {
45
+ const lesson = (0, lessons_storage_1.getLessonById)(db, lessonId);
46
+ if (!lesson) {
47
+ console.log(chalk_1.default.red(`\n Lesson not found: ${lessonId}\n`));
48
+ console.log(chalk_1.default.gray(' Run `vibe-check lesson --list` to see available lessons'));
49
+ return;
50
+ }
51
+ // Handle --dismiss
52
+ if (options.dismiss) {
53
+ const updated = (0, lessons_storage_1.dismissLesson)(db, lessonId);
54
+ (0, lessons_storage_1.saveLessons)(updated);
55
+ console.log(chalk_1.default.green(`\n Lesson dismissed: ${lesson.title}\n`));
56
+ return;
57
+ }
58
+ // Handle --apply
59
+ if (options.apply) {
60
+ const effectiveness = parseInt(options.apply, 10);
61
+ if (isNaN(effectiveness) || effectiveness < 0 || effectiveness > 100) {
62
+ console.log(chalk_1.default.red('\n Effectiveness must be 0-100\n'));
63
+ return;
64
+ }
65
+ const updated = (0, lessons_storage_1.applyLesson)(db, lessonId, effectiveness);
66
+ (0, lessons_storage_1.saveLessons)(updated);
67
+ console.log(chalk_1.default.green(`\n Lesson marked as applied with ${effectiveness}% effectiveness\n`));
68
+ return;
69
+ }
70
+ // Show lesson detail
71
+ const lines = (0, surfacing_1.formatLessonDetail)(lesson);
72
+ for (const line of lines) {
73
+ console.log(line);
74
+ }
75
+ return;
76
+ }
77
+ // Default: show summary and top lessons
78
+ showSummary();
79
+ }
80
+ function showStats() {
81
+ const db = (0, lessons_storage_1.loadLessons)();
82
+ console.log('');
83
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
84
+ console.log(chalk_1.default.bold.cyan(' LESSONS STATISTICS'));
85
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
86
+ console.log('');
87
+ console.log(chalk_1.default.bold.white(' OVERVIEW'));
88
+ console.log(` Total lessons: ${db.stats.totalLessons}`);
89
+ console.log(` Active lessons: ${db.stats.activeLessons}`);
90
+ console.log(` Patterns covered: ${db.stats.patternsWithLessons}`);
91
+ console.log(` Average confidence: ${db.stats.averageConfidence}%`);
92
+ console.log(` Total time wasted: ${db.stats.totalTimeWastedMinutes} min`);
93
+ console.log('');
94
+ // Lessons by severity
95
+ const bySeverity = {
96
+ critical: db.lessons.filter(l => l.severity === 'critical' && !l.dismissed).length,
97
+ high: db.lessons.filter(l => l.severity === 'high' && !l.dismissed).length,
98
+ medium: db.lessons.filter(l => l.severity === 'medium' && !l.dismissed).length,
99
+ low: db.lessons.filter(l => l.severity === 'low' && !l.dismissed).length,
100
+ };
101
+ console.log(chalk_1.default.bold.white(' BY SEVERITY'));
102
+ console.log(` 🚨 Critical: ${bySeverity.critical}`);
103
+ console.log(` ⚠️ High: ${bySeverity.high}`);
104
+ console.log(` 💡 Medium: ${bySeverity.medium}`);
105
+ console.log(` 📝 Low: ${bySeverity.low}`);
106
+ console.log('');
107
+ // Applied vs not
108
+ const applied = db.lessons.filter(l => l.applied).length;
109
+ const dismissed = db.lessons.filter(l => l.dismissed).length;
110
+ const pending = db.lessons.filter(l => !l.applied && !l.dismissed).length;
111
+ console.log(chalk_1.default.bold.white(' STATUS'));
112
+ console.log(` ✓ Applied: ${applied}`);
113
+ console.log(` ○ Pending: ${pending}`);
114
+ console.log(` ✗ Dismissed: ${dismissed}`);
115
+ console.log('');
116
+ // Last synthesis
117
+ if (db.lastSynthesis) {
118
+ const date = new Date(db.lastSynthesis).toLocaleDateString();
119
+ console.log(chalk_1.default.bold.white(' LAST SYNTHESIS'));
120
+ console.log(` ${date}`);
121
+ if (db.synthesisLog.length > 0) {
122
+ const last = db.synthesisLog[db.synthesisLog.length - 1];
123
+ console.log(` Created: ${last.lessonsCreated}, Updated: ${last.lessonsUpdated}`);
124
+ }
125
+ }
126
+ console.log('');
127
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
128
+ console.log('');
129
+ }
130
+ function listLessons(patternFilter) {
131
+ const db = (0, lessons_storage_1.loadLessons)();
132
+ let lessons = (0, lessons_storage_1.getActiveLessons)(db);
133
+ // Apply pattern filter
134
+ if (patternFilter) {
135
+ lessons = lessons.filter(l => l.pattern.toLowerCase().includes(patternFilter.toLowerCase()));
136
+ }
137
+ if (lessons.length === 0) {
138
+ console.log(chalk_1.default.yellow('\n No lessons found.\n'));
139
+ if (!patternFilter) {
140
+ console.log(chalk_1.default.gray(' Run `vibe-check learn --retro` to generate lessons from your patterns.'));
141
+ }
142
+ return;
143
+ }
144
+ console.log('');
145
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
146
+ console.log(chalk_1.default.bold.cyan(` LESSONS${patternFilter ? ` (${patternFilter})` : ''}`));
147
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
148
+ console.log('');
149
+ // Group by pattern
150
+ const byPattern = {};
151
+ for (const lesson of lessons) {
152
+ if (!byPattern[lesson.pattern]) {
153
+ byPattern[lesson.pattern] = [];
154
+ }
155
+ byPattern[lesson.pattern].push(lesson);
156
+ }
157
+ for (const [pattern, patternLessons] of Object.entries(byPattern)) {
158
+ const displayName = (0, pattern_memory_1.getPatternDisplayName)(pattern);
159
+ console.log(chalk_1.default.bold.white(` ${displayName} (${pattern})`));
160
+ for (const lesson of patternLessons) {
161
+ const severityIcon = lesson.severity === 'critical' ? '🚨' :
162
+ lesson.severity === 'high' ? '⚠️' :
163
+ lesson.severity === 'medium' ? '💡' : '📝';
164
+ const statusIcon = lesson.applied ? chalk_1.default.green('✓') :
165
+ lesson.dismissed ? chalk_1.default.gray('✗') : '○';
166
+ console.log(` ${severityIcon} ${statusIcon} ${lesson.title}`);
167
+ console.log(chalk_1.default.gray(` ${lesson.evidenceCount}x, ${lesson.totalTimeWasted} min, ${lesson.confidence}% confidence`));
168
+ console.log(chalk_1.default.gray(` ID: ${lesson.id}`));
169
+ }
170
+ console.log('');
171
+ }
172
+ console.log(chalk_1.default.gray(' View details: vibe-check lesson <lesson-id>'));
173
+ console.log(chalk_1.default.gray(' Apply lesson: vibe-check lesson <lesson-id> --apply 80'));
174
+ console.log('');
175
+ }
176
+ function showSummary() {
177
+ const db = (0, lessons_storage_1.loadLessons)();
178
+ console.log('');
179
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
180
+ console.log(chalk_1.default.bold.cyan(' LESSONS LEARNED'));
181
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
182
+ console.log('');
183
+ if (db.lessons.length === 0) {
184
+ console.log(chalk_1.default.gray(' No lessons learned yet.'));
185
+ console.log('');
186
+ console.log(chalk_1.default.gray(' Lessons are automatically generated from your spiral patterns.'));
187
+ console.log(chalk_1.default.gray(' Run `vibe-check learn --retro` to generate lessons.'));
188
+ console.log('');
189
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
190
+ console.log('');
191
+ return;
192
+ }
193
+ const lines = (0, surfacing_1.formatLessonsSummary)();
194
+ for (const line of lines) {
195
+ console.log(line);
196
+ }
197
+ console.log('');
198
+ console.log(chalk_1.default.gray(' Commands:'));
199
+ console.log(chalk_1.default.gray(' vibe-check lesson --list # List all lessons'));
200
+ console.log(chalk_1.default.gray(' vibe-check lesson --stats # Show statistics'));
201
+ console.log(chalk_1.default.gray(' vibe-check lesson <id> # View lesson detail'));
202
+ console.log('');
203
+ console.log(chalk_1.default.bold.cyan('='.repeat(64)));
204
+ console.log('');
205
+ }
206
+ //# sourceMappingURL=lesson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson.js","sourceRoot":"","sources":["../../src/commands/lesson.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createPipelineCommand(): Command;
3
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/commands/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC,wBAAgB,qBAAqB,IAAI,OAAO,CAW/C"}