@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.
- package/.agents/bundles/actionable-coaching-plan-2025-12-02.md +209 -0
- package/.agents/bundles/automatic-learning-cadence-plan-2025-12-02.md +1297 -0
- package/.agents/bundles/automatic-learning-cadence-research-2025-12-02.md +481 -0
- package/.agents/bundles/dashboard-data-quality-plan.md +458 -0
- package/.agents/bundles/rating-scoring-alignment-plan.md +427 -0
- package/.agents/bundles/rpi-session-capture-plan-2025-12-02.md +693 -0
- package/.agents/bundles/rpi-session-capture-research-2025-12-02.md +433 -0
- package/.agents/bundles/session-integration-plan-2025-12-02.md +144 -0
- package/.agents/plans/git-forensics-enhancement-2025-12-05.md +493 -0
- package/.claude/skills/typescript-review.md +152 -0
- package/CHANGELOG.md +53 -0
- package/CLAUDE.md +79 -3
- package/Makefile +160 -0
- package/README.md +141 -155
- package/SECURITY.md +5 -1
- package/assets/logo-dark.svg +47 -0
- package/assets/logo.svg +47 -0
- package/claude-progress.json +54 -4
- package/claude-progress.txt +114 -0
- package/dashboard/app.js +699 -66
- package/dashboard/chart.min.js +20 -0
- package/dashboard/dashboard-data.js +764 -0
- package/dashboard/dashboard-data.json +182 -71
- package/dashboard/index.html +139 -14
- package/dashboard/styles.css +579 -4
- package/dist/analyzers/patterns.d.ts +62 -0
- package/dist/analyzers/patterns.d.ts.map +1 -0
- package/dist/analyzers/patterns.js +103 -0
- package/dist/analyzers/patterns.js.map +1 -0
- package/dist/analyzers/quality.d.ts +58 -0
- package/dist/analyzers/quality.d.ts.map +1 -0
- package/dist/analyzers/quality.js +114 -0
- package/dist/analyzers/quality.js.map +1 -0
- package/dist/analyzers/sessions.d.ts +45 -0
- package/dist/analyzers/sessions.d.ts.map +1 -0
- package/dist/analyzers/sessions.js +123 -0
- package/dist/analyzers/sessions.js.map +1 -0
- package/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +43 -2
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/dashboard.js +4 -1
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/forensics.d.ts +29 -0
- package/dist/commands/forensics.d.ts.map +1 -0
- package/dist/commands/forensics.js +213 -0
- package/dist/commands/forensics.js.map +1 -0
- package/dist/commands/index.d.ts +5 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +13 -3
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/insights.d.ts +3 -0
- package/dist/commands/insights.d.ts.map +1 -0
- package/dist/commands/insights.js +120 -0
- package/dist/commands/insights.js.map +1 -0
- package/dist/commands/learn.d.ts +3 -0
- package/dist/commands/learn.d.ts.map +1 -0
- package/dist/commands/learn.js +161 -0
- package/dist/commands/learn.js.map +1 -0
- package/dist/commands/lesson.d.ts +8 -0
- package/dist/commands/lesson.d.ts.map +1 -0
- package/dist/commands/lesson.js +206 -0
- package/dist/commands/lesson.js.map +1 -0
- package/dist/commands/pipeline.d.ts +3 -0
- package/dist/commands/pipeline.d.ts.map +1 -0
- package/dist/commands/pipeline.js +485 -0
- package/dist/commands/pipeline.js.map +1 -0
- package/dist/commands/profile.d.ts +0 -1
- package/dist/commands/profile.d.ts.map +1 -1
- package/dist/commands/profile.js +3 -206
- package/dist/commands/profile.js.map +1 -1
- package/dist/commands/session.d.ts +51 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +599 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/sessions.d.ts +20 -0
- package/dist/commands/sessions.d.ts.map +1 -0
- package/dist/commands/sessions.js +201 -0
- package/dist/commands/sessions.js.map +1 -0
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +48 -7
- package/dist/commands/watch.js.map +1 -1
- package/dist/gamification/index.d.ts +1 -3
- package/dist/gamification/index.d.ts.map +1 -1
- package/dist/gamification/index.js +2 -5
- package/dist/gamification/index.js.map +1 -1
- package/dist/gamification/pattern-memory.d.ts +1 -1
- package/dist/gamification/pattern-memory.d.ts.map +1 -1
- package/dist/gamification/pattern-memory.js.map +1 -1
- package/dist/gamification/profile.d.ts +2 -2
- package/dist/gamification/profile.d.ts.map +1 -1
- package/dist/gamification/profile.js +2 -15
- package/dist/gamification/profile.js.map +1 -1
- package/dist/gamification/types.d.ts +8 -2
- package/dist/gamification/types.d.ts.map +1 -1
- package/dist/gamification/types.js.map +1 -1
- package/dist/insights/index.d.ts.map +1 -1
- package/dist/insights/index.js +16 -4
- package/dist/insights/index.js.map +1 -1
- package/dist/insights/types.d.ts +14 -0
- package/dist/insights/types.d.ts.map +1 -1
- package/dist/learning/cadence.d.ts +15 -0
- package/dist/learning/cadence.d.ts.map +1 -0
- package/dist/learning/cadence.js +130 -0
- package/dist/learning/cadence.js.map +1 -0
- package/dist/learning/index.d.ts +19 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +35 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/lessons-storage.d.ts +48 -0
- package/dist/learning/lessons-storage.d.ts.map +1 -0
- package/dist/learning/lessons-storage.js +266 -0
- package/dist/learning/lessons-storage.js.map +1 -0
- package/dist/learning/lessons-types.d.ts +83 -0
- package/dist/learning/lessons-types.d.ts.map +1 -0
- package/dist/learning/lessons-types.js +15 -0
- package/dist/learning/lessons-types.js.map +1 -0
- package/dist/learning/nudges.d.ts +20 -0
- package/dist/learning/nudges.d.ts.map +1 -0
- package/dist/learning/nudges.js +68 -0
- package/dist/learning/nudges.js.map +1 -0
- package/dist/learning/retrospective.d.ts +27 -0
- package/dist/learning/retrospective.d.ts.map +1 -0
- package/dist/learning/retrospective.js +184 -0
- package/dist/learning/retrospective.js.map +1 -0
- package/dist/learning/storage.d.ts +44 -0
- package/dist/learning/storage.d.ts.map +1 -0
- package/dist/learning/storage.js +194 -0
- package/dist/learning/storage.js.map +1 -0
- package/dist/learning/surfacing.d.ts +36 -0
- package/dist/learning/surfacing.d.ts.map +1 -0
- package/dist/learning/surfacing.js +255 -0
- package/dist/learning/surfacing.js.map +1 -0
- package/dist/learning/synthesis.d.ts +17 -0
- package/dist/learning/synthesis.d.ts.map +1 -0
- package/dist/learning/synthesis.js +293 -0
- package/dist/learning/synthesis.js.map +1 -0
- package/dist/learning/types.d.ts +60 -0
- package/dist/learning/types.d.ts.map +1 -0
- package/dist/learning/types.js +17 -0
- package/dist/learning/types.js.map +1 -0
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +11 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/spiral-history.d.ts +62 -0
- package/dist/storage/spiral-history.d.ts.map +1 -0
- package/dist/storage/spiral-history.js +265 -0
- package/dist/storage/spiral-history.js.map +1 -0
- package/docs/ARCHITECTURE.md +2 -10
- package/docs/GAMIFICATION.md +19 -266
- package/docs/METRICS.md +528 -0
- package/docs/VIBE-ECOSYSTEM.md +12 -78
- package/feature-list.json +141 -68
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|