commitshow 0.2.4 → 0.2.6

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.
@@ -73,7 +73,7 @@ export async function audit(args) {
73
73
  console.log(renderAudit(view));
74
74
  if (project.status === 'preview') {
75
75
  console.log('');
76
- console.log(renderUpsell());
76
+ console.log(renderUpsell(project.github_url ?? target.github_url));
77
77
  }
78
78
  console.log('');
79
79
  }
@@ -188,7 +188,7 @@ export async function audit(args) {
188
188
  console.log(renderQuotaFooter(envelope.quota));
189
189
  console.log('');
190
190
  }
191
- console.log(renderUpsell());
191
+ console.log(renderUpsell(envelope.project.github_url ?? target.github_url));
192
192
  console.log('');
193
193
  }
194
194
  if (target.kind === 'local') {
@@ -40,13 +40,14 @@ const BIG_DIGITS = {
40
40
  ' ': [' ', ' ', ' ', ' ', ' '],
41
41
  };
42
42
  /** Render a string ("68", "100", "82/100") as 5 rows of big ASCII.
43
- * Uses 2-space gutters between glyphs (was 1) so adjacent block-char
44
- * digits don't visually fuse terminals render block runes at a width
45
- * that often makes the 1-char gap collapse, especially for digits like
46
- * '5' / '0' / '8' whose outer column is full block. */
43
+ * Block runes ('█▀▄') render wider than ASCII chars in most monospace
44
+ * fonts; what looks like 1 col-width is actually closer to 1.2-1.5×.
45
+ * Earlier 1-space and 2-space gutters left adjacent digits visually
46
+ * fused. We now use a 4-space gutter wide enough that '0' next to
47
+ * '0' reads as TWO digits rather than one wide blob. */
47
48
  function bigText(text) {
48
49
  const rows = ['', '', '', '', ''];
49
- const GAP = ' '; // 2-space gutter between digits
50
+ const GAP = ' '; // 4-space gutter between glyphs
50
51
  for (let i = 0; i < text.length; i++) {
51
52
  const ch = text[i];
52
53
  const glyph = BIG_DIGITS[ch] ?? BIG_DIGITS[' '];
@@ -536,15 +537,23 @@ function wrapText(s, width) {
536
537
  out.push(line.trim());
537
538
  return out;
538
539
  }
539
- export function renderUpsell() {
540
+ export function renderUpsell(githubUrl) {
540
541
  const lines = [];
541
542
  // "Walk-on" — anyone running CLI without auditioning. Theatre-coherent
542
543
  // (Audition / Audit / Stage / Backstage / Walk-on) · friendlier than
543
544
  // "preview" (which doubles as our DB status) · positions audition as the
544
545
  // upgrade path without making the walk-on tier feel lesser.
546
+ //
547
+ // CTA carries the repo URL as a query param so /submit pre-fills the
548
+ // GitHub input — one-click conversion from the terminal to the form.
549
+ // Slug form (github.com/owner/repo) keeps the URL short.
550
+ const repoSlug = githubUrl ? githubUrl.replace(/^https?:\/\//, '').replace(/\/$/, '') : null;
551
+ const submitUrl = repoSlug
552
+ ? `https://commit.show/submit?repo=${encodeURIComponent(repoSlug)}`
553
+ : 'https://commit.show/submit';
545
554
  const titleVisible = 'Walk-on · drop-in audit, no audition yet';
546
555
  const headVisible = 'Audition to unlock:';
547
- const ctaVisible = '→ https://commit.show/submit';
556
+ const ctaVisible = `→ ${submitUrl}`;
548
557
  lines.push(' ' + boxTop());
549
558
  lines.push(' ' + boxRow(titleVisible.length, c.bold(c.gold('Walk-on')) + c.muted(' · ') + c.cream('drop-in audit, no audition yet')));
550
559
  lines.push(' ' + boxBlank());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commitshow",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "commit.show CLI — audit any vibe-coded project from your terminal.",
5
5
  "type": "module",
6
6
  "bin": {