chekk 0.2.0 → 0.2.1
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/bin/chekk.js +1 -1
- package/package.json +1 -1
- package/src/display.js +23 -8
package/bin/chekk.js
CHANGED
|
@@ -8,7 +8,7 @@ const program = new Command();
|
|
|
8
8
|
program
|
|
9
9
|
.name('chekk')
|
|
10
10
|
.description('The engineering capability score. See how you prompt.')
|
|
11
|
-
.version('0.2.
|
|
11
|
+
.version('0.2.1')
|
|
12
12
|
.option('--offline', 'Skip AI prose generation, show data-driven output')
|
|
13
13
|
.option('--verbose', 'Show detailed per-project and per-metric breakdowns')
|
|
14
14
|
.option('--json', 'Output raw metrics as JSON')
|
package/package.json
CHANGED
package/src/display.js
CHANGED
|
@@ -67,11 +67,11 @@ export function displayHeader() {
|
|
|
67
67
|
console.log();
|
|
68
68
|
const lines = [
|
|
69
69
|
'',
|
|
70
|
-
` ${bold.white('chekk')}${dim(' v0.2.
|
|
70
|
+
` ${bold.white('chekk')}${dim(' v0.2.1')}`,
|
|
71
71
|
` ${dim('the engineering capability score')}`,
|
|
72
72
|
'',
|
|
73
73
|
];
|
|
74
|
-
for (const l of box(lines)) console.log(l);
|
|
74
|
+
for (const l of box(lines, 45)) console.log(l);
|
|
75
75
|
console.log();
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -153,15 +153,28 @@ export function displayScore(result, prose) {
|
|
|
153
153
|
|
|
154
154
|
// Dimensions box
|
|
155
155
|
console.log(dim(' DIMENSIONS\n'));
|
|
156
|
+
|
|
157
|
+
// Build dimension lines with fixed-width layout
|
|
158
|
+
// Format: " Label ██████████████░░░░ XX "
|
|
159
|
+
// Visible: 2 + 15 + 18 + 2 + 3 + 1 = ~41 chars
|
|
160
|
+
function dimLine(label, score) {
|
|
161
|
+
const labelStr = bold(label);
|
|
162
|
+
const labelVisible = label.length;
|
|
163
|
+
const labelPad = ' '.repeat(Math.max(0, 15 - labelVisible));
|
|
164
|
+
const scoreStr = String(score);
|
|
165
|
+
const scorePad = score < 10 ? ' ' : score < 100 ? ' ' : '';
|
|
166
|
+
return ` ${labelStr}${labelPad}${progressBar(score)} ${scorePad}${bold(scoreStr)} `;
|
|
167
|
+
}
|
|
168
|
+
|
|
156
169
|
const dimLines = [
|
|
157
170
|
'',
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
171
|
+
dimLine('Thinking', scores.decomposition),
|
|
172
|
+
dimLine('Debugging', scores.debugCycles),
|
|
173
|
+
dimLine('AI Leverage', scores.aiLeverage),
|
|
174
|
+
dimLine('Workflow', scores.sessionStructure),
|
|
162
175
|
'',
|
|
163
176
|
];
|
|
164
|
-
for (const l of box(dimLines)) console.log(l);
|
|
177
|
+
for (const l of box(dimLines, 45)) console.log(l);
|
|
165
178
|
console.log();
|
|
166
179
|
}
|
|
167
180
|
|
|
@@ -349,7 +362,8 @@ export function displayOffline(result, metrics) {
|
|
|
349
362
|
displayScore(result, null);
|
|
350
363
|
displayDataNarratives(metrics);
|
|
351
364
|
displayEasterEggs(result, metrics);
|
|
352
|
-
console.log(dim(' Run without --offline for personalized AI-generated insights
|
|
365
|
+
console.log(dim(' Run without --offline for personalized AI-generated insights'));
|
|
366
|
+
console.log(dim(' Run with --verbose for full per-project and metric breakdown\n'));
|
|
353
367
|
displayEnding(result);
|
|
354
368
|
}
|
|
355
369
|
|
|
@@ -361,6 +375,7 @@ export function displayFull(result, metrics, prose) {
|
|
|
361
375
|
displayScore(result, prose);
|
|
362
376
|
displayNarratives(metrics, prose);
|
|
363
377
|
displayEasterEggs(result, metrics);
|
|
378
|
+
console.log(dim(' Run with --verbose for full per-project and metric breakdown\n'));
|
|
364
379
|
displayEnding(result);
|
|
365
380
|
}
|
|
366
381
|
|