commitshow 0.3.16 → 0.3.18
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/dist/lib/colors.js +6 -1
- package/dist/lib/render.js +34 -3
- package/package.json +1 -1
package/dist/lib/colors.js
CHANGED
|
@@ -17,7 +17,12 @@ export const c = {
|
|
|
17
17
|
// matched the Claude Code logo too literally — CEO pulled it back to
|
|
18
18
|
// brand on 2026-05-02.)
|
|
19
19
|
pixelInk: rgb(0xF0, 0xC0, 0x40),
|
|
20
|
-
cream
|
|
20
|
+
// `cream` was originally truecolor #F8F5EE (near-white), which is
|
|
21
|
+
// invisible on light-background terminals. Use the terminal's default
|
|
22
|
+
// foreground color (no escape) so body text reads on both light and
|
|
23
|
+
// dark backgrounds. The brand cream is preserved for accents (gold ·
|
|
24
|
+
// scarlet · teal) which stay readable on both.
|
|
25
|
+
cream: (s) => s,
|
|
21
26
|
teal: rgb(0x00, 0xD4, 0xAA),
|
|
22
27
|
scarlet: rgb(0xC8, 0x10, 0x2E),
|
|
23
28
|
muted: rgb(0x6B, 0x72, 0x80),
|
package/dist/lib/render.js
CHANGED
|
@@ -239,20 +239,43 @@ export function renderAudit(view) {
|
|
|
239
239
|
// ── 3 strengths + 2 concerns box · errors-first reorder (2026-04-30) ──
|
|
240
240
|
// CONCERNS render before STRENGTHS · the value prop is "what your AI
|
|
241
241
|
// missed", so they lead. Score follows as the receipt below.
|
|
242
|
+
//
|
|
243
|
+
// 3-tier severity (2026-05-04): the engine ranks weaknesses[] by impact,
|
|
244
|
+
// so we treat concerns[0] as CRITICAL (✕ scarlet) and the remainder as
|
|
245
|
+
// WARNING (⚠ gold). Strengths stay as ↑ teal. A one-line counter above
|
|
246
|
+
// the box gives a scannable tone summary without needing finding IDs.
|
|
242
247
|
const strengths = asStringArray(snapshot?.rich_analysis?.scout_brief?.strengths, 3);
|
|
243
248
|
const concerns = asStringArray(snapshot?.rich_analysis?.scout_brief?.weaknesses, 2);
|
|
244
249
|
if (strengths.length > 0 || concerns.length > 0) {
|
|
245
250
|
const bulletWidth = CONTENT_W - 2;
|
|
251
|
+
// Findings counter line · sits ABOVE the box so a quick scan picks up
|
|
252
|
+
// the tone (any criticals?) before reading the bullets.
|
|
253
|
+
const critCount = Math.min(concerns.length, 1);
|
|
254
|
+
const warnCount = Math.max(0, concerns.length - 1);
|
|
255
|
+
const counterParts = [];
|
|
256
|
+
if (critCount > 0)
|
|
257
|
+
counterParts.push(c.scarlet(`${critCount} critical`));
|
|
258
|
+
if (warnCount > 0)
|
|
259
|
+
counterParts.push(c.gold(`${warnCount} warning`));
|
|
260
|
+
if (strengths.length > 0)
|
|
261
|
+
counterParts.push(c.teal(`${strengths.length} strength${strengths.length === 1 ? '' : 's'}`));
|
|
262
|
+
if (counterParts.length > 0) {
|
|
263
|
+
lines.push(' ' + c.muted('Findings · ') + counterParts.join(c.muted(' · ')));
|
|
264
|
+
lines.push('');
|
|
265
|
+
}
|
|
246
266
|
lines.push(' ' + boxTop());
|
|
247
267
|
// Heading row inside the box · "What this build missed" lead.
|
|
248
268
|
if (concerns.length > 0) {
|
|
249
269
|
const heading = 'What this build missed';
|
|
250
270
|
lines.push(' ' + boxRow(heading.length, c.bold(c.scarlet(heading))));
|
|
251
271
|
}
|
|
252
|
-
|
|
272
|
+
concerns.forEach((s, i) => {
|
|
253
273
|
const txt = truncate(s, bulletWidth);
|
|
254
|
-
|
|
255
|
-
|
|
274
|
+
const isCrit = i === 0;
|
|
275
|
+
const icon = isCrit ? '✕ ' : '⚠ ';
|
|
276
|
+
const tone = isCrit ? c.scarlet : c.gold;
|
|
277
|
+
lines.push(' ' + boxRow(2 + txt.length, tone(icon) + c.cream(txt)));
|
|
278
|
+
});
|
|
256
279
|
if (strengths.length > 0) {
|
|
257
280
|
if (concerns.length > 0)
|
|
258
281
|
lines.push(' ' + boxBlank());
|
|
@@ -396,6 +419,14 @@ export function renderAudit(view) {
|
|
|
396
419
|
const url = `https://commit.show/projects/${p.id}`;
|
|
397
420
|
lines.push(' ' + c.muted('→ ') + c.cream(url));
|
|
398
421
|
lines.push('');
|
|
422
|
+
// Agent-loop hint · nudges users into the `--json | jq` workflow that
|
|
423
|
+
// makes this CLI useful inside Claude Code · Cursor · etc. Static for
|
|
424
|
+
// V1 — could go contextual (CRIT-aware suggestions) in V1.5.
|
|
425
|
+
if (concerns.length > 0) {
|
|
426
|
+
const cmd = `commitshow audit ${p.github_url?.replace(/^https?:\/\//, '') ?? '.'} --json | jq .concerns`;
|
|
427
|
+
lines.push(' ' + c.muted('next · feed your AI loop → ') + c.cream(cmd));
|
|
428
|
+
lines.push('');
|
|
429
|
+
}
|
|
399
430
|
const wordmark = 'commit.show';
|
|
400
431
|
const footerPad = Math.max(0, BOX_W - wordmark.length);
|
|
401
432
|
lines.push(' '.repeat(footerPad) + c.gold(wordmark));
|