@boshu2/vibe-check 1.0.1 → 1.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/.agents/bundles/ml-learning-loop-complete-plan-2025-11-28.md +908 -0
- package/.agents/bundles/unified-vibe-system-plan-phase1-2025-11-28.md +962 -0
- package/.agents/bundles/unified-vibe-system-research-2025-11-28.md +1003 -0
- package/.agents/bundles/vibe-check-ecosystem-plan-2025-11-29.md +635 -0
- package/.agents/bundles/vibe-check-gamification-complete-2025-11-29.md +132 -0
- package/.agents/bundles/vibe-score-scientific-framework-2025-11-28.md +602 -0
- package/.vibe-check/calibration.json +38 -0
- package/.vibe-check/latest.json +114 -0
- package/CHANGELOG.md +46 -0
- package/CLAUDE.md +178 -0
- package/README.md +265 -63
- package/action.yml +270 -0
- package/dashboard/app.js +494 -0
- package/dashboard/index.html +235 -0
- package/dashboard/styles.css +647 -0
- package/dist/calibration/ece.d.ts +26 -0
- package/dist/calibration/ece.d.ts.map +1 -0
- package/dist/calibration/ece.js +93 -0
- package/dist/calibration/ece.js.map +1 -0
- package/dist/calibration/index.d.ts +3 -0
- package/dist/calibration/index.d.ts.map +1 -0
- package/dist/calibration/index.js +15 -0
- package/dist/calibration/index.js.map +1 -0
- package/dist/calibration/storage.d.ts +34 -0
- package/dist/calibration/storage.d.ts.map +1 -0
- package/dist/calibration/storage.js +188 -0
- package/dist/calibration/storage.js.map +1 -0
- package/dist/cli.js +30 -76
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts +16 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +256 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +11 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/level.d.ts +3 -0
- package/dist/commands/level.d.ts.map +1 -0
- package/dist/commands/level.js +277 -0
- package/dist/commands/level.js.map +1 -0
- package/dist/commands/profile.d.ts +4 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +143 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/gamification/achievements.d.ts +15 -0
- package/dist/gamification/achievements.d.ts.map +1 -0
- package/dist/gamification/achievements.js +273 -0
- package/dist/gamification/achievements.js.map +1 -0
- package/dist/gamification/index.d.ts +8 -0
- package/dist/gamification/index.d.ts.map +1 -0
- package/dist/gamification/index.js +30 -0
- package/dist/gamification/index.js.map +1 -0
- package/dist/gamification/profile.d.ts +46 -0
- package/dist/gamification/profile.d.ts.map +1 -0
- package/dist/gamification/profile.js +272 -0
- package/dist/gamification/profile.js.map +1 -0
- package/dist/gamification/streaks.d.ts +26 -0
- package/dist/gamification/streaks.d.ts.map +1 -0
- package/dist/gamification/streaks.js +132 -0
- package/dist/gamification/streaks.js.map +1 -0
- package/dist/gamification/types.d.ts +111 -0
- package/dist/gamification/types.d.ts.map +1 -0
- package/dist/gamification/types.js +26 -0
- package/dist/gamification/types.js.map +1 -0
- package/dist/gamification/xp.d.ts +37 -0
- package/dist/gamification/xp.d.ts.map +1 -0
- package/dist/gamification/xp.js +115 -0
- package/dist/gamification/xp.js.map +1 -0
- package/dist/git.d.ts +11 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +52 -0
- package/dist/git.js.map +1 -1
- package/dist/metrics/code-stability.d.ts +13 -0
- package/dist/metrics/code-stability.d.ts.map +1 -0
- package/dist/metrics/code-stability.js +74 -0
- package/dist/metrics/code-stability.js.map +1 -0
- package/dist/metrics/file-churn.d.ts +8 -0
- package/dist/metrics/file-churn.d.ts.map +1 -0
- package/dist/metrics/file-churn.js +75 -0
- package/dist/metrics/file-churn.js.map +1 -0
- package/dist/metrics/time-spiral.d.ts +8 -0
- package/dist/metrics/time-spiral.d.ts.map +1 -0
- package/dist/metrics/time-spiral.js +69 -0
- package/dist/metrics/time-spiral.js.map +1 -0
- package/dist/metrics/velocity-anomaly.d.ts +13 -0
- package/dist/metrics/velocity-anomaly.d.ts.map +1 -0
- package/dist/metrics/velocity-anomaly.js +67 -0
- package/dist/metrics/velocity-anomaly.js.map +1 -0
- package/dist/output/index.d.ts +6 -3
- package/dist/output/index.d.ts.map +1 -1
- package/dist/output/index.js +4 -3
- package/dist/output/index.js.map +1 -1
- package/dist/output/json.d.ts +2 -2
- package/dist/output/json.d.ts.map +1 -1
- package/dist/output/json.js +54 -0
- package/dist/output/json.js.map +1 -1
- package/dist/output/markdown.d.ts +2 -2
- package/dist/output/markdown.d.ts.map +1 -1
- package/dist/output/markdown.js +34 -1
- package/dist/output/markdown.js.map +1 -1
- package/dist/output/terminal.d.ts +6 -2
- package/dist/output/terminal.d.ts.map +1 -1
- package/dist/output/terminal.js +131 -3
- package/dist/output/terminal.js.map +1 -1
- package/dist/recommend/index.d.ts +3 -0
- package/dist/recommend/index.d.ts.map +1 -0
- package/dist/recommend/index.js +14 -0
- package/dist/recommend/index.js.map +1 -0
- package/dist/recommend/ordered-logistic.d.ts +49 -0
- package/dist/recommend/ordered-logistic.d.ts.map +1 -0
- package/dist/recommend/ordered-logistic.js +153 -0
- package/dist/recommend/ordered-logistic.js.map +1 -0
- package/dist/recommend/questions.d.ts +19 -0
- package/dist/recommend/questions.d.ts.map +1 -0
- package/dist/recommend/questions.js +73 -0
- package/dist/recommend/questions.js.map +1 -0
- package/dist/score/index.d.ts +21 -0
- package/dist/score/index.d.ts.map +1 -0
- package/dist/score/index.js +48 -0
- package/dist/score/index.js.map +1 -0
- package/dist/score/weights.d.ts +16 -0
- package/dist/score/weights.d.ts.map +1 -0
- package/dist/score/weights.js +28 -0
- package/dist/score/weights.js.map +1 -0
- package/dist/types.d.ts +83 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +10 -9
|
@@ -0,0 +1,256 @@
|
|
|
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.createAnalyzeCommand = createAnalyzeCommand;
|
|
7
|
+
exports.runAnalyze = runAnalyze;
|
|
8
|
+
const commander_1 = require("commander");
|
|
9
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
+
const fs_1 = require("fs");
|
|
11
|
+
const git_1 = require("../git");
|
|
12
|
+
const metrics_1 = require("../metrics");
|
|
13
|
+
const output_1 = require("../output");
|
|
14
|
+
const json_1 = require("../output/json");
|
|
15
|
+
const file_churn_1 = require("../metrics/file-churn");
|
|
16
|
+
const time_spiral_1 = require("../metrics/time-spiral");
|
|
17
|
+
const velocity_anomaly_1 = require("../metrics/velocity-anomaly");
|
|
18
|
+
const code_stability_1 = require("../metrics/code-stability");
|
|
19
|
+
const score_1 = require("../score");
|
|
20
|
+
const recommend_1 = require("../recommend");
|
|
21
|
+
const calibration_1 = require("../calibration");
|
|
22
|
+
const profile_1 = require("../gamification/profile");
|
|
23
|
+
const types_1 = require("../gamification/types");
|
|
24
|
+
function createAnalyzeCommand() {
|
|
25
|
+
const cmd = new commander_1.Command('analyze')
|
|
26
|
+
.description('Analyze git history for vibe coding metrics')
|
|
27
|
+
.option('--since <date>', 'Start date for analysis (e.g., "1 week ago")')
|
|
28
|
+
.option('--until <date>', 'End date for analysis (default: now)')
|
|
29
|
+
.option('-f, --format <type>', 'Output format: terminal, json, markdown', 'terminal')
|
|
30
|
+
.option('-r, --repo <path>', 'Repository path', process.cwd())
|
|
31
|
+
.option('-v, --verbose', 'Show verbose output', false)
|
|
32
|
+
.option('--score', 'Include VibeScore and code pattern metrics', false)
|
|
33
|
+
.option('--recommend', 'Include level recommendation', false)
|
|
34
|
+
.option('--calibrate <level>', 'Record calibration sample with declared level (0-5)')
|
|
35
|
+
.option('-o, --output <file>', 'Write JSON results to file')
|
|
36
|
+
.option('-s, --simple', 'Simplified output (fewer details)', false)
|
|
37
|
+
.action(async (options) => {
|
|
38
|
+
await runAnalyze(options);
|
|
39
|
+
});
|
|
40
|
+
return cmd;
|
|
41
|
+
}
|
|
42
|
+
async function runAnalyze(options) {
|
|
43
|
+
try {
|
|
44
|
+
const { since, until, format, repo, verbose, score, recommend, calibrate, output, simple } = options;
|
|
45
|
+
// Validate format
|
|
46
|
+
const validFormats = ['terminal', 'json', 'markdown'];
|
|
47
|
+
if (!validFormats.includes(format)) {
|
|
48
|
+
console.error(chalk_1.default.red(`Invalid format: ${format}`));
|
|
49
|
+
console.error(chalk_1.default.gray(`Valid formats: ${validFormats.join(', ')}`));
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
// Check if repo is valid
|
|
53
|
+
if (!(await (0, git_1.isGitRepo)(repo))) {
|
|
54
|
+
console.error(chalk_1.default.red(`Not a git repository: ${repo}`));
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
if (verbose) {
|
|
58
|
+
console.error(chalk_1.default.gray(`Analyzing repository: ${repo}`));
|
|
59
|
+
if (since)
|
|
60
|
+
console.error(chalk_1.default.gray(`Since: ${since}`));
|
|
61
|
+
if (until)
|
|
62
|
+
console.error(chalk_1.default.gray(`Until: ${until}`));
|
|
63
|
+
}
|
|
64
|
+
// Get commits
|
|
65
|
+
const commits = await (0, git_1.getCommits)(repo, since, until);
|
|
66
|
+
if (commits.length === 0) {
|
|
67
|
+
if (format === 'terminal') {
|
|
68
|
+
console.log(chalk_1.default.yellow('\nNo commits found in the specified range.\n'));
|
|
69
|
+
if (!since) {
|
|
70
|
+
console.log(chalk_1.default.gray('Try specifying a date range:'));
|
|
71
|
+
console.log(chalk_1.default.gray(' vibe-check --since "1 week ago"'));
|
|
72
|
+
console.log(chalk_1.default.gray(' vibe-check --since "2025-11-01"'));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else if (format === 'json') {
|
|
76
|
+
console.log(JSON.stringify({ error: 'No commits found', commits: 0 }));
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
console.log('# Vibe-Check Report\n\nNo commits found in the specified range.');
|
|
80
|
+
}
|
|
81
|
+
process.exit(0);
|
|
82
|
+
}
|
|
83
|
+
if (verbose) {
|
|
84
|
+
console.error(chalk_1.default.gray(`Found ${commits.length} commits`));
|
|
85
|
+
}
|
|
86
|
+
// Analyze commits (semantic metrics)
|
|
87
|
+
const result = (0, metrics_1.analyzeCommits)(commits);
|
|
88
|
+
// Build enhanced result
|
|
89
|
+
const resultV2 = {
|
|
90
|
+
...result,
|
|
91
|
+
semanticMetrics: result.metrics,
|
|
92
|
+
};
|
|
93
|
+
// Enhanced analysis if requested
|
|
94
|
+
if (score || recommend || calibrate !== undefined) {
|
|
95
|
+
if (verbose) {
|
|
96
|
+
console.error(chalk_1.default.gray('Computing semantic-free metrics...'));
|
|
97
|
+
}
|
|
98
|
+
// Get file stats for semantic-free metrics
|
|
99
|
+
const fileStats = await (0, git_1.getFileStats)(repo, since, until);
|
|
100
|
+
// Calculate semantic-free metrics
|
|
101
|
+
const fileChurn = (0, file_churn_1.calculateFileChurn)(commits, fileStats.filesPerCommit);
|
|
102
|
+
const timeSpiral = (0, time_spiral_1.calculateTimeSpiral)(commits);
|
|
103
|
+
const velocityAnomaly = (0, velocity_anomaly_1.calculateVelocityAnomaly)(commits);
|
|
104
|
+
const codeStability = (0, code_stability_1.calculateCodeStability)(commits, fileStats.lineStats);
|
|
105
|
+
resultV2.semanticFreeMetrics = {
|
|
106
|
+
fileChurn,
|
|
107
|
+
timeSpiral,
|
|
108
|
+
velocityAnomaly,
|
|
109
|
+
codeStability,
|
|
110
|
+
};
|
|
111
|
+
// Calculate VibeScore
|
|
112
|
+
const vibeScore = (0, score_1.calculateVibeScore)({
|
|
113
|
+
fileChurn,
|
|
114
|
+
timeSpiral,
|
|
115
|
+
velocityAnomaly,
|
|
116
|
+
codeStability,
|
|
117
|
+
});
|
|
118
|
+
resultV2.vibeScore = vibeScore;
|
|
119
|
+
if (recommend) {
|
|
120
|
+
// Default questions (neutral for now)
|
|
121
|
+
const defaultQuestions = {
|
|
122
|
+
reversibility: 0,
|
|
123
|
+
blastRadius: 0,
|
|
124
|
+
verificationCost: 0,
|
|
125
|
+
domainComplexity: 0,
|
|
126
|
+
aiTrackRecord: 0,
|
|
127
|
+
};
|
|
128
|
+
const features = [
|
|
129
|
+
defaultQuestions.reversibility,
|
|
130
|
+
defaultQuestions.blastRadius,
|
|
131
|
+
defaultQuestions.verificationCost,
|
|
132
|
+
defaultQuestions.domainComplexity,
|
|
133
|
+
defaultQuestions.aiTrackRecord,
|
|
134
|
+
fileChurn.value / 100,
|
|
135
|
+
timeSpiral.value / 100,
|
|
136
|
+
velocityAnomaly.value / 100,
|
|
137
|
+
codeStability.value / 100,
|
|
138
|
+
];
|
|
139
|
+
const prediction = (0, recommend_1.predictWithConfidence)(features);
|
|
140
|
+
resultV2.recommendation = {
|
|
141
|
+
level: prediction.level,
|
|
142
|
+
confidence: Math.round(prediction.confidence * 100) / 100,
|
|
143
|
+
probabilities: prediction.probs,
|
|
144
|
+
ci: prediction.ci,
|
|
145
|
+
questions: defaultQuestions,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
if (calibrate !== undefined) {
|
|
149
|
+
const declaredLevel = parseInt(calibrate, 10);
|
|
150
|
+
if (declaredLevel >= 0 && declaredLevel <= 5) {
|
|
151
|
+
const outcome = (0, calibration_1.assessOutcome)(vibeScore.value, declaredLevel);
|
|
152
|
+
const sample = {
|
|
153
|
+
timestamp: new Date(),
|
|
154
|
+
vibeScore: vibeScore.value,
|
|
155
|
+
declaredLevel: declaredLevel,
|
|
156
|
+
outcome,
|
|
157
|
+
features: [
|
|
158
|
+
fileChurn.value / 100,
|
|
159
|
+
timeSpiral.value / 100,
|
|
160
|
+
velocityAnomaly.value / 100,
|
|
161
|
+
codeStability.value / 100,
|
|
162
|
+
],
|
|
163
|
+
modelVersion: '2.0.0',
|
|
164
|
+
};
|
|
165
|
+
(0, calibration_1.addSample)(repo, sample);
|
|
166
|
+
if (verbose) {
|
|
167
|
+
console.error(chalk_1.default.gray(`Calibration sample recorded: Level ${declaredLevel} → Score ${vibeScore.value} (${outcome})`));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
console.error(chalk_1.default.yellow(`Warning: Invalid calibrate level ${calibrate}, must be 0-5`));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// Write to file if requested (always JSON format)
|
|
176
|
+
if (output) {
|
|
177
|
+
const jsonOutput = (0, json_1.formatJson)(resultV2);
|
|
178
|
+
(0, fs_1.writeFileSync)(output, jsonOutput);
|
|
179
|
+
if (verbose) {
|
|
180
|
+
console.error(chalk_1.default.gray(`Results written to: ${output}`));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// Output result to console
|
|
184
|
+
const formattedOutput = (0, output_1.formatOutput)(resultV2, format, { simple });
|
|
185
|
+
console.log(formattedOutput);
|
|
186
|
+
// Record session and show gamification (only for terminal format with score)
|
|
187
|
+
if (format === 'terminal' && resultV2.vibeScore) {
|
|
188
|
+
const spiralCount = result.fixChains.filter(fc => fc.isSpiral).length;
|
|
189
|
+
const vibeScorePercent = Math.round(resultV2.vibeScore.value * 100);
|
|
190
|
+
const gamificationResult = (0, profile_1.recordSession)(vibeScorePercent, result.overall, commits.length, spiralCount, result.period.from, result.period.to);
|
|
191
|
+
// Show gamification summary
|
|
192
|
+
console.log();
|
|
193
|
+
console.log(chalk_1.default.cyan('─'.repeat(64)));
|
|
194
|
+
const levelInfo = types_1.LEVELS.find(l => l.level === gamificationResult.profile.xp.level);
|
|
195
|
+
const { streak, xp } = gamificationResult.profile;
|
|
196
|
+
// Handle duplicate analysis (no XP awarded)
|
|
197
|
+
if (gamificationResult.isDuplicate) {
|
|
198
|
+
const streakFire = '🔥'.repeat(Math.min(streak.current, 5));
|
|
199
|
+
const streakText = streak.current > 0 ? `${streakFire} ${streak.current}-day streak` : '';
|
|
200
|
+
console.log(` ${streakText}`);
|
|
201
|
+
console.log(` ${levelInfo.icon} Level ${xp.level} ${xp.levelName} ${chalk_1.default.gray(`(${xp.currentLevelXP}/${xp.nextLevelXP} XP)`)}`);
|
|
202
|
+
console.log(chalk_1.default.gray(` ℹ Already analyzed this period (no XP awarded)`));
|
|
203
|
+
console.log(chalk_1.default.gray(` Make new commits to earn XP!`));
|
|
204
|
+
console.log(chalk_1.default.cyan('─'.repeat(64)));
|
|
205
|
+
console.log();
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
// Streak line
|
|
209
|
+
const streakFire = '🔥'.repeat(Math.min(streak.current, 5));
|
|
210
|
+
const streakText = streak.current > 0
|
|
211
|
+
? `${streakFire} ${streak.current}-day streak${gamificationResult.streakExtended ? chalk_1.default.yellow(' (+1!)') : ''}`
|
|
212
|
+
: chalk_1.default.gray('Start a streak by running vibe-check daily!');
|
|
213
|
+
console.log(` ${streakText}`);
|
|
214
|
+
// XP line
|
|
215
|
+
const xpGained = gamificationResult.xpEarned;
|
|
216
|
+
console.log(` ${levelInfo.icon} Level ${xp.level} ${xp.levelName} ${chalk_1.default.gray(`(${xp.currentLevelXP}/${xp.nextLevelXP} XP)`)} ${chalk_1.default.green(`+${xpGained} XP`)}`);
|
|
217
|
+
// Level up celebration
|
|
218
|
+
if (gamificationResult.leveledUp) {
|
|
219
|
+
console.log();
|
|
220
|
+
console.log(chalk_1.default.bold.magenta(` 🎉 LEVEL UP! You are now ${gamificationResult.newLevel}!`));
|
|
221
|
+
}
|
|
222
|
+
// Personal best
|
|
223
|
+
if (gamificationResult.isPersonalBest) {
|
|
224
|
+
console.log(chalk_1.default.bold.yellow(` 🏆 NEW PERSONAL BEST: ${vibeScorePercent}%`));
|
|
225
|
+
}
|
|
226
|
+
// Achievement unlocks
|
|
227
|
+
if (gamificationResult.achievementsUnlocked.length > 0) {
|
|
228
|
+
console.log();
|
|
229
|
+
for (const ach of gamificationResult.achievementsUnlocked) {
|
|
230
|
+
console.log(chalk_1.default.bold.green(` 🏆 ACHIEVEMENT UNLOCKED: ${ach.icon} ${ach.name}`));
|
|
231
|
+
console.log(chalk_1.default.gray(` ${ach.description}`));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
console.log(chalk_1.default.cyan('─'.repeat(64)));
|
|
235
|
+
console.log(chalk_1.default.gray(` Run ${chalk_1.default.white('vibe-check profile')} to see your full stats`));
|
|
236
|
+
console.log();
|
|
237
|
+
}
|
|
238
|
+
// Exit with appropriate code based on overall rating
|
|
239
|
+
if (result.overall === 'LOW') {
|
|
240
|
+
process.exit(1);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
catch (error) {
|
|
244
|
+
if (error instanceof Error) {
|
|
245
|
+
console.error(chalk_1.default.red(`Error: ${error.message}`));
|
|
246
|
+
if (options.verbose) {
|
|
247
|
+
console.error(chalk_1.default.gray(error.stack));
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
console.error(chalk_1.default.red('An unexpected error occurred'));
|
|
252
|
+
}
|
|
253
|
+
process.exit(1);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=analyze.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createProfileCommand = exports.createLevelCommand = exports.runAnalyze = exports.createAnalyzeCommand = void 0;
|
|
4
|
+
var analyze_1 = require("./analyze");
|
|
5
|
+
Object.defineProperty(exports, "createAnalyzeCommand", { enumerable: true, get: function () { return analyze_1.createAnalyzeCommand; } });
|
|
6
|
+
Object.defineProperty(exports, "runAnalyze", { enumerable: true, get: function () { return analyze_1.runAnalyze; } });
|
|
7
|
+
var level_1 = require("./level");
|
|
8
|
+
Object.defineProperty(exports, "createLevelCommand", { enumerable: true, get: function () { return level_1.createLevelCommand; } });
|
|
9
|
+
var profile_1 = require("./profile");
|
|
10
|
+
Object.defineProperty(exports, "createProfileCommand", { enumerable: true, get: function () { return profile_1.createProfileCommand; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,qCAA6E;AAApE,+GAAA,oBAAoB,OAAA;AAAE,qGAAA,UAAU,OAAA;AACzC,iCAA6C;AAApC,2GAAA,kBAAkB,OAAA;AAC3B,qCAAiD;AAAxC,+GAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level.d.ts","sourceRoot":"","sources":["../../src/commands/level.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAgB5C"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.createLevelCommand = createLevelCommand;
|
|
40
|
+
const commander_1 = require("commander");
|
|
41
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
+
const questions_1 = require("../recommend/questions");
|
|
43
|
+
const recommend_1 = require("../recommend");
|
|
44
|
+
const calibration_1 = require("../calibration");
|
|
45
|
+
const git_1 = require("../git");
|
|
46
|
+
const file_churn_1 = require("../metrics/file-churn");
|
|
47
|
+
const time_spiral_1 = require("../metrics/time-spiral");
|
|
48
|
+
const velocity_anomaly_1 = require("../metrics/velocity-anomaly");
|
|
49
|
+
const code_stability_1 = require("../metrics/code-stability");
|
|
50
|
+
function createLevelCommand() {
|
|
51
|
+
const cmd = new commander_1.Command('level')
|
|
52
|
+
.description('Classify vibe level for upcoming work (interactive)')
|
|
53
|
+
.option('--quick', 'Non-interactive mode with neutral defaults', false)
|
|
54
|
+
.option('--json', 'Output as JSON', false)
|
|
55
|
+
.option('-r, --repo <path>', 'Repository path for metrics', process.cwd())
|
|
56
|
+
.option('--since <date>', 'Git history start for metrics (default: 30 days ago)', '30 days ago')
|
|
57
|
+
.option('--answers <responses>', 'Pre-filled answers as JSON (e.g., \'{"reversibility":1,"blastRadius":0}\')')
|
|
58
|
+
.action(async (options) => {
|
|
59
|
+
await runLevel(options);
|
|
60
|
+
});
|
|
61
|
+
return cmd;
|
|
62
|
+
}
|
|
63
|
+
async function runLevel(options) {
|
|
64
|
+
let responses;
|
|
65
|
+
if (options.quick) {
|
|
66
|
+
// Non-interactive: use defaults or provided answers
|
|
67
|
+
responses = {
|
|
68
|
+
reversibility: 0,
|
|
69
|
+
blastRadius: 0,
|
|
70
|
+
verificationCost: 0,
|
|
71
|
+
domainComplexity: 0,
|
|
72
|
+
aiTrackRecord: 0,
|
|
73
|
+
};
|
|
74
|
+
if (options.answers) {
|
|
75
|
+
try {
|
|
76
|
+
const provided = JSON.parse(options.answers);
|
|
77
|
+
responses = { ...responses, ...provided };
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
console.error(chalk_1.default.red('Invalid --answers JSON'));
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
// Interactive mode
|
|
87
|
+
if (!process.stdin.isTTY) {
|
|
88
|
+
console.error(chalk_1.default.yellow('Non-interactive terminal detected. Use --quick for non-interactive mode.'));
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
responses = await askQuestions();
|
|
92
|
+
}
|
|
93
|
+
const result = await classifyLevel(responses, options.repo, options.since);
|
|
94
|
+
if (options.json) {
|
|
95
|
+
console.log(JSON.stringify(result, null, 2));
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
displayResult(result);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async function askQuestions() {
|
|
102
|
+
// Dynamic import for enquirer
|
|
103
|
+
const Enquirer = (await Promise.resolve().then(() => __importStar(require('enquirer')))).default;
|
|
104
|
+
const responses = {};
|
|
105
|
+
console.log('');
|
|
106
|
+
console.log(chalk_1.default.bold.cyan('═'.repeat(60)));
|
|
107
|
+
console.log(chalk_1.default.bold.cyan(' VIBE LEVEL CLASSIFICATION'));
|
|
108
|
+
console.log(chalk_1.default.bold.cyan('═'.repeat(60)));
|
|
109
|
+
console.log('');
|
|
110
|
+
console.log(chalk_1.default.gray('Answer 5 questions to determine the appropriate vibe level.'));
|
|
111
|
+
console.log(chalk_1.default.gray('Use ↑/↓ arrows to select, Enter to confirm.'));
|
|
112
|
+
console.log('');
|
|
113
|
+
for (const question of questions_1.VIBE_QUESTIONS) {
|
|
114
|
+
const answer = await Enquirer.prompt({
|
|
115
|
+
type: 'select',
|
|
116
|
+
name: 'answer',
|
|
117
|
+
message: question.text,
|
|
118
|
+
choices: question.options.map((opt) => ({
|
|
119
|
+
name: opt.label,
|
|
120
|
+
message: `${opt.label} ${chalk_1.default.gray('- ' + opt.description)}`,
|
|
121
|
+
value: String(opt.value),
|
|
122
|
+
})),
|
|
123
|
+
});
|
|
124
|
+
const selected = question.options.find((o) => o.label === answer.answer);
|
|
125
|
+
responses[question.id] = (selected?.value ?? 0);
|
|
126
|
+
console.log('');
|
|
127
|
+
}
|
|
128
|
+
return responses;
|
|
129
|
+
}
|
|
130
|
+
async function classifyLevel(responses, repoPath, since) {
|
|
131
|
+
// Try to get real metrics from git history
|
|
132
|
+
let metricsFeatures = [0.7, 0.7, 0.7, 0.7]; // Defaults if no git history
|
|
133
|
+
let source = 'fallback';
|
|
134
|
+
try {
|
|
135
|
+
if (await (0, git_1.isGitRepo)(repoPath)) {
|
|
136
|
+
const commits = await (0, git_1.getCommits)(repoPath, since);
|
|
137
|
+
if (commits.length >= 3) {
|
|
138
|
+
const fileStats = await (0, git_1.getFileStats)(repoPath, since);
|
|
139
|
+
const fileChurn = (0, file_churn_1.calculateFileChurn)(commits, fileStats.filesPerCommit);
|
|
140
|
+
const timeSpiral = (0, time_spiral_1.calculateTimeSpiral)(commits);
|
|
141
|
+
const velocityAnomaly = (0, velocity_anomaly_1.calculateVelocityAnomaly)(commits);
|
|
142
|
+
const codeStability = (0, code_stability_1.calculateCodeStability)(commits, fileStats.lineStats);
|
|
143
|
+
metricsFeatures = [
|
|
144
|
+
fileChurn.value / 100,
|
|
145
|
+
timeSpiral.value / 100,
|
|
146
|
+
velocityAnomaly.value / 100,
|
|
147
|
+
codeStability.value / 100,
|
|
148
|
+
];
|
|
149
|
+
source = 'ml';
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
// Fall back to defaults if git fails
|
|
155
|
+
}
|
|
156
|
+
// Load calibration state (contains learned weights)
|
|
157
|
+
const calibration = (0, calibration_1.loadCalibration)(repoPath);
|
|
158
|
+
// Build full feature vector: 5 questions + 4 metrics
|
|
159
|
+
const features = [
|
|
160
|
+
responses.reversibility,
|
|
161
|
+
responses.blastRadius,
|
|
162
|
+
responses.verificationCost,
|
|
163
|
+
responses.domainComplexity,
|
|
164
|
+
responses.aiTrackRecord,
|
|
165
|
+
...metricsFeatures,
|
|
166
|
+
];
|
|
167
|
+
// Use ML model with learned weights
|
|
168
|
+
const model = {
|
|
169
|
+
weights: calibration.weights,
|
|
170
|
+
thresholds: calibration.thresholds,
|
|
171
|
+
};
|
|
172
|
+
const prediction = (0, recommend_1.predictWithConfidence)(features, model);
|
|
173
|
+
// Use ML prediction (NOT additive formula)
|
|
174
|
+
const level = prediction.level;
|
|
175
|
+
const confidence = prediction.confidence;
|
|
176
|
+
// Build reasoning
|
|
177
|
+
const reasoning = [];
|
|
178
|
+
if (source === 'ml') {
|
|
179
|
+
reasoning.push(`Based on ${since} git history + your answers`);
|
|
180
|
+
if (metricsFeatures[0] < 0.7)
|
|
181
|
+
reasoning.push('File churn detected - code needed rework');
|
|
182
|
+
if (metricsFeatures[1] < 0.7)
|
|
183
|
+
reasoning.push('Time spirals detected - rapid fix commits');
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
reasoning.push('No git history available - using question answers only');
|
|
187
|
+
}
|
|
188
|
+
if (responses.reversibility <= -1)
|
|
189
|
+
reasoning.push('Low reversibility requires careful review');
|
|
190
|
+
if (responses.blastRadius <= -1)
|
|
191
|
+
reasoning.push('Wide blast radius increases risk');
|
|
192
|
+
if (responses.verificationCost <= -1)
|
|
193
|
+
reasoning.push('High verification cost needs extra attention');
|
|
194
|
+
if (responses.domainComplexity <= -1)
|
|
195
|
+
reasoning.push('Domain complexity may cause AI errors');
|
|
196
|
+
if (responses.aiTrackRecord <= -1)
|
|
197
|
+
reasoning.push('AI track record suggests caution');
|
|
198
|
+
if (reasoning.length === 0) {
|
|
199
|
+
reasoning.push('Standard risk profile - proceed with appropriate level');
|
|
200
|
+
}
|
|
201
|
+
return {
|
|
202
|
+
level,
|
|
203
|
+
confidence,
|
|
204
|
+
responses,
|
|
205
|
+
reasoning,
|
|
206
|
+
source,
|
|
207
|
+
ece: calibration.ece,
|
|
208
|
+
sampleCount: calibration.samples.length,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
function displayResult(result) {
|
|
212
|
+
const levelDescriptions = {
|
|
213
|
+
5: { name: 'Full Automation', trust: '95%', verify: 'Final review only' },
|
|
214
|
+
4: { name: 'High Trust', trust: '80%', verify: 'Spot check' },
|
|
215
|
+
3: { name: 'Balanced', trust: '60%', verify: 'Review key outputs' },
|
|
216
|
+
2: { name: 'AI-Augmented', trust: '40%', verify: 'Review every change' },
|
|
217
|
+
1: { name: 'Human-Led', trust: '20%', verify: 'Review every line' },
|
|
218
|
+
0: { name: 'Manual Only', trust: '0%', verify: 'No AI assistance' },
|
|
219
|
+
};
|
|
220
|
+
const desc = levelDescriptions[result.level];
|
|
221
|
+
console.log('');
|
|
222
|
+
console.log(chalk_1.default.bold.cyan('═'.repeat(60)));
|
|
223
|
+
console.log('');
|
|
224
|
+
// Level display with color coding
|
|
225
|
+
const levelColor = result.level >= 4 ? chalk_1.default.green : result.level >= 2 ? chalk_1.default.yellow : chalk_1.default.red;
|
|
226
|
+
console.log(` ${chalk_1.default.bold('RECOMMENDED LEVEL:')} ${levelColor.bold(`${result.level} - ${desc.name}`)}`);
|
|
227
|
+
console.log('');
|
|
228
|
+
console.log(` ${chalk_1.default.gray('Trust:')} ${desc.trust}`);
|
|
229
|
+
console.log(` ${chalk_1.default.gray('Verify:')} ${desc.verify}`);
|
|
230
|
+
// Show confidence appropriately based on value
|
|
231
|
+
if (result.confidence >= 0.6) {
|
|
232
|
+
console.log(` ${chalk_1.default.gray('Confidence:')} ${chalk_1.default.green((result.confidence * 100).toFixed(0) + '%')}`);
|
|
233
|
+
}
|
|
234
|
+
else if (result.confidence >= 0.4) {
|
|
235
|
+
console.log(` ${chalk_1.default.gray('Confidence:')} ${chalk_1.default.yellow((result.confidence * 100).toFixed(0) + '% (building...)')}`);
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
// Low confidence - explain why and what to do
|
|
239
|
+
const sampleCount = result.sampleCount || 0;
|
|
240
|
+
const needed = Math.max(0, 20 - sampleCount);
|
|
241
|
+
console.log(` ${chalk_1.default.gray('Confidence:')} ${chalk_1.default.gray('Low (needs more data)')}`);
|
|
242
|
+
if (needed > 0) {
|
|
243
|
+
console.log(chalk_1.default.gray(` Run ${needed} more sessions to improve accuracy`));
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
console.log('');
|
|
247
|
+
// Model info
|
|
248
|
+
if (result.source === 'ml') {
|
|
249
|
+
const sampleCount = result.sampleCount || 0;
|
|
250
|
+
const sampleWord = sampleCount === 1 ? 'sample' : 'samples';
|
|
251
|
+
if (sampleCount < 20) {
|
|
252
|
+
console.log(chalk_1.default.yellow(` ⚠ Limited calibration data (${sampleCount} ${sampleWord})`));
|
|
253
|
+
console.log(chalk_1.default.gray(` Recommendation requires 20+ samples for reliability`));
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
console.log(chalk_1.default.green(` ✓ Using ML model with ${sampleCount} calibration ${sampleWord}`));
|
|
257
|
+
}
|
|
258
|
+
if (result.ece !== undefined && result.ece > 0) {
|
|
259
|
+
console.log(chalk_1.default.gray(` ECE: ${(result.ece * 100).toFixed(1)}%`));
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
console.log(chalk_1.default.yellow(` ⚠ Fallback mode (no git history available)`));
|
|
264
|
+
}
|
|
265
|
+
console.log('');
|
|
266
|
+
console.log(chalk_1.default.bold.yellow(' REASONING:'));
|
|
267
|
+
for (const reason of result.reasoning) {
|
|
268
|
+
console.log(chalk_1.default.yellow(` • ${reason}`));
|
|
269
|
+
}
|
|
270
|
+
console.log('');
|
|
271
|
+
console.log(chalk_1.default.bold.cyan('═'.repeat(60)));
|
|
272
|
+
console.log('');
|
|
273
|
+
console.log(chalk_1.default.gray(` After your work, run:`));
|
|
274
|
+
console.log(chalk_1.default.white(` vibe-check --score --calibrate ${result.level}`));
|
|
275
|
+
console.log('');
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=level.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level.js","sourceRoot":"","sources":["../../src/commands/level.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,oBAAoB,IAAI,OAAO,CAW9C;AAqJD,wBAAsB,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D"}
|