bilt-toolkit 1.0.0 → 1.0.2

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.
Files changed (106) hide show
  1. package/bin/bilt.js +1 -1
  2. package/dist/cli.js +62 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/doctor.d.ts +1 -0
  5. package/dist/commands/doctor.d.ts.map +1 -1
  6. package/dist/commands/doctor.js +113 -52
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/fix.d.ts +1 -1
  9. package/dist/commands/fix.d.ts.map +1 -1
  10. package/dist/commands/fix.js +211 -64
  11. package/dist/commands/fix.js.map +1 -1
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +15 -13
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/scan.d.ts +6 -9
  16. package/dist/commands/scan.d.ts.map +1 -1
  17. package/dist/commands/scan.js +326 -206
  18. package/dist/commands/scan.js.map +1 -1
  19. package/dist/commands/undo.d.ts +3 -1
  20. package/dist/commands/undo.d.ts.map +1 -1
  21. package/dist/commands/undo.js +32 -14
  22. package/dist/commands/undo.js.map +1 -1
  23. package/dist/commands/watch.d.ts.map +1 -1
  24. package/dist/commands/watch.js +17 -8
  25. package/dist/commands/watch.js.map +1 -1
  26. package/dist/config/config.d.ts.map +1 -1
  27. package/dist/config/config.js +10 -0
  28. package/dist/config/config.js.map +1 -1
  29. package/dist/core/fix/confirm.d.ts +1 -1
  30. package/dist/core/fix/confirm.d.ts.map +1 -1
  31. package/dist/core/fix/confirm.js +4 -2
  32. package/dist/core/fix/confirm.js.map +1 -1
  33. package/dist/core/fix/git.d.ts +6 -0
  34. package/dist/core/fix/git.d.ts.map +1 -0
  35. package/dist/core/fix/git.js +45 -0
  36. package/dist/core/fix/git.js.map +1 -0
  37. package/dist/core/fix/snapshot.d.ts.map +1 -1
  38. package/dist/core/fix/snapshot.js +68 -1
  39. package/dist/core/fix/snapshot.js.map +1 -1
  40. package/dist/core/rules/providers.d.ts +2 -1
  41. package/dist/core/rules/providers.d.ts.map +1 -1
  42. package/dist/core/rules/providers.js +91 -0
  43. package/dist/core/rules/providers.js.map +1 -1
  44. package/dist/core/rules/secret-rules.d.ts.map +1 -1
  45. package/dist/core/rules/secret-rules.js +82 -3
  46. package/dist/core/rules/secret-rules.js.map +1 -1
  47. package/dist/core/scan/env.d.ts.map +1 -1
  48. package/dist/core/scan/env.js +15 -1
  49. package/dist/core/scan/env.js.map +1 -1
  50. package/dist/core/scan/secrets.d.ts.map +1 -1
  51. package/dist/core/scan/secrets.js +49 -4
  52. package/dist/core/scan/secrets.js.map +1 -1
  53. package/dist/core/scan/verifiers/aws.d.ts +4 -0
  54. package/dist/core/scan/verifiers/aws.d.ts.map +1 -0
  55. package/dist/core/scan/verifiers/aws.js +98 -0
  56. package/dist/core/scan/verifiers/aws.js.map +1 -0
  57. package/dist/core/scan/verifiers/github.d.ts +4 -0
  58. package/dist/core/scan/verifiers/github.d.ts.map +1 -0
  59. package/dist/core/scan/verifiers/github.js +23 -0
  60. package/dist/core/scan/verifiers/github.js.map +1 -0
  61. package/dist/core/scan/verifiers/index.d.ts +7 -0
  62. package/dist/core/scan/verifiers/index.d.ts.map +1 -0
  63. package/dist/core/scan/verifiers/index.js +15 -0
  64. package/dist/core/scan/verifiers/index.js.map +1 -0
  65. package/dist/core/scan/verifiers/openai.d.ts +4 -0
  66. package/dist/core/scan/verifiers/openai.d.ts.map +1 -0
  67. package/dist/core/scan/verifiers/openai.js +22 -0
  68. package/dist/core/scan/verifiers/openai.js.map +1 -0
  69. package/dist/core/scan/verifiers/slack.d.ts +4 -0
  70. package/dist/core/scan/verifiers/slack.d.ts.map +1 -0
  71. package/dist/core/scan/verifiers/slack.js +28 -0
  72. package/dist/core/scan/verifiers/slack.js.map +1 -0
  73. package/dist/core/scan/verifiers/stripe.d.ts +4 -0
  74. package/dist/core/scan/verifiers/stripe.d.ts.map +1 -0
  75. package/dist/core/scan/verifiers/stripe.js +22 -0
  76. package/dist/core/scan/verifiers/stripe.js.map +1 -0
  77. package/dist/core/scan/verifiers/supabase.d.ts +4 -0
  78. package/dist/core/scan/verifiers/supabase.d.ts.map +1 -0
  79. package/dist/core/scan/verifiers/supabase.js +35 -0
  80. package/dist/core/scan/verifiers/supabase.js.map +1 -0
  81. package/dist/core/score/health.d.ts.map +1 -1
  82. package/dist/core/score/health.js +1 -0
  83. package/dist/core/score/health.js.map +1 -1
  84. package/dist/core/watch/watcher.d.ts +4 -1
  85. package/dist/core/watch/watcher.d.ts.map +1 -1
  86. package/dist/core/watch/watcher.js +4 -2
  87. package/dist/core/watch/watcher.js.map +1 -1
  88. package/dist/types/index.d.ts +55 -4
  89. package/dist/types/index.d.ts.map +1 -1
  90. package/dist/ui/format.d.ts +22 -12
  91. package/dist/ui/format.d.ts.map +1 -1
  92. package/dist/ui/format.js +223 -74
  93. package/dist/ui/format.js.map +1 -1
  94. package/dist/ui/reporter.d.ts +18 -15
  95. package/dist/ui/reporter.d.ts.map +1 -1
  96. package/dist/ui/reporter.js +142 -182
  97. package/dist/ui/reporter.js.map +1 -1
  98. package/dist/ui/sound.d.ts +6 -0
  99. package/dist/ui/sound.d.ts.map +1 -0
  100. package/dist/ui/sound.js +13 -0
  101. package/dist/ui/sound.js.map +1 -0
  102. package/dist/ui/theme.d.ts +67 -0
  103. package/dist/ui/theme.d.ts.map +1 -0
  104. package/dist/ui/theme.js +252 -0
  105. package/dist/ui/theme.js.map +1 -0
  106. package/package.json +6 -3
package/bin/bilt.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import("../dist/cli.js");
2
+ import "../dist/cli.js";
package/dist/cli.js CHANGED
@@ -2,7 +2,6 @@
2
2
  // ─── Bilt CLI Entry Point ────────────────────────────────────────────────────
3
3
  // Zero-configuration project health toolkit.
4
4
  import { Command } from "commander";
5
- import chalk from "chalk";
6
5
  import { createRequire } from "node:module";
7
6
  import { executeScan } from "./commands/scan.js";
8
7
  import { executeInit } from "./commands/init.js";
@@ -10,16 +9,30 @@ import { executeFix } from "./commands/fix.js";
10
9
  import { executeUndo } from "./commands/undo.js";
11
10
  import { executeDoctor } from "./commands/doctor.js";
12
11
  import { executeWatch } from "./commands/watch.js";
12
+ import { colors, glyphs, initColorSupport, setPlainMode, sectionHeader, divider, banner, pulseBar, styledGlyph, text, Spinner, spinnerFrames } from "./ui/theme.js";
13
+ import { severityIcon, formatFinding, formatHealthScore } from "./ui/format.js";
14
+ // ─── Color Support ───────────────────────────────────────────────────────────
15
+ initColorSupport();
13
16
  // ─── Version ─────────────────────────────────────────────────────────────────
14
17
  const require = createRequire(import.meta.url);
15
18
  const pkg = require("../package.json");
16
19
  // ─── Program Setup ───────────────────────────────────────────────────────────
17
20
  const program = new Command();
21
+ program.hook("preAction", (thisCommand) => {
22
+ const opts = thisCommand.optsWithGlobals();
23
+ if (opts.color === false) {
24
+ initColorSupport(true);
25
+ }
26
+ if (opts.plain) {
27
+ setPlainMode(true);
28
+ }
29
+ });
18
30
  program
19
31
  .name("bilt")
20
32
  .description("Zero-configuration project health toolkit. Catch secrets, fix env issues, and keep your repo clean.")
21
33
  .version(pkg.version, "-v, --version")
22
- .option("--no-color", "Disable colored output");
34
+ .option("--no-color", "Disable colored output")
35
+ .option("--plain", "Plain output for CI — no banner, no color, greppable text");
23
36
  // ─── bilt scan ───────────────────────────────────────────────────────────────
24
37
  program
25
38
  .command("scan")
@@ -29,8 +42,11 @@ program
29
42
  .option("--json", "Output results as JSON")
30
43
  .option("--severity <level>", "Minimum severity to report (critical, warning, info)")
31
44
  .option("--verbose", "Show detailed output with suggestions")
45
+ .option("--no-details", "Hide detailed output under each headline")
32
46
  .option("--quiet", "Suppress all output except errors")
33
47
  .option("--dry-run", "Show what would be scanned without scanning")
48
+ .option("--no-verify", "Disable live credential verification calls")
49
+ .option("--debug", "Enable debug logging for path and file resolutions")
34
50
  .option("--fun", "Enable fun mode with celebrations")
35
51
  .action(async (dir, opts) => {
36
52
  try {
@@ -39,9 +55,12 @@ program
39
55
  json: opts.json,
40
56
  severity: opts.severity,
41
57
  verbose: opts.verbose,
58
+ details: opts.details,
42
59
  quiet: opts.quiet,
43
60
  dryRun: opts.dryRun,
44
61
  fun: opts.fun,
62
+ noVerify: opts.verify === false,
63
+ debug: opts.debug,
45
64
  });
46
65
  // Exit code based on findings
47
66
  const criticals = result.findings.filter((f) => f.severity === "critical").length;
@@ -77,6 +96,7 @@ program
77
96
  .option("--dry-run", "Preview fixes without applying")
78
97
  .option("--verbose", "Show detailed output")
79
98
  .option("--quiet", "Suppress non-essential output")
99
+ .option("--debug", "Enable debug logging for file reads and writes")
80
100
  .action(async (dir, opts) => {
81
101
  try {
82
102
  await executeFix(dir, {
@@ -84,6 +104,7 @@ program
84
104
  dryRun: opts.dryRun,
85
105
  verbose: opts.verbose,
86
106
  quiet: opts.quiet,
107
+ debug: opts.debug,
87
108
  });
88
109
  }
89
110
  catch (error) {
@@ -96,9 +117,10 @@ program
96
117
  .command("undo")
97
118
  .description("Undo the last set of changes made by bilt fix")
98
119
  .argument("[dir]", "Project directory", ".")
99
- .action(async (dir) => {
120
+ .option("--list", "List the last 10 snapshots")
121
+ .action(async (dir, opts) => {
100
122
  try {
101
- await executeUndo(dir);
123
+ await executeUndo(dir, { list: opts.list });
102
124
  }
103
125
  catch (error) {
104
126
  printError(error);
@@ -112,11 +134,13 @@ program
112
134
  .argument("[dir]", "Project directory", ".")
113
135
  .option("--quiet", "Only show findings, no status messages")
114
136
  .option("--debounce <ms>", "Debounce interval in milliseconds", "300")
137
+ .option("--poll", "Use polling instead of native file events (recommended for WSL/Docker)")
115
138
  .action(async (dir, opts) => {
116
139
  try {
117
140
  await executeWatch(dir, {
118
141
  quiet: opts.quiet,
119
142
  debounce: opts.debounce ? parseInt(opts.debounce, 10) : undefined,
143
+ poll: opts.poll,
120
144
  });
121
145
  }
122
146
  catch (error) {
@@ -130,12 +154,14 @@ program
130
154
  .description("Comprehensive health report with detailed breakdown")
131
155
  .argument("[dir]", "Project directory", ".")
132
156
  .option("--card", "Output a markdown health card to stdout")
157
+ .option("--debug", "Enable debug logging for file reads")
133
158
  .option("--fun", "Enable celebrations and streak counter")
134
159
  .action(async (dir, opts) => {
135
160
  try {
136
161
  await executeDoctor(dir, {
137
162
  card: opts.card,
138
163
  fun: opts.fun,
164
+ debug: opts.debug,
139
165
  });
140
166
  }
141
167
  catch (error) {
@@ -147,15 +173,45 @@ program
147
173
  function printError(error) {
148
174
  const message = error instanceof Error ? error.message : String(error);
149
175
  console.error("");
150
- console.error(chalk.red.bold(` Error: ${message}`));
176
+ console.error(colors.pulseCoral.bold(` ${glyphs.critical} Error: ${message}`));
151
177
  if (error instanceof Error && error.stack) {
152
178
  const stackLines = error.stack.split("\n").slice(1, 4);
153
179
  for (const line of stackLines) {
154
- console.error(chalk.dim(` ${line.trim()}`));
180
+ console.error(colors.slateDim.dim(` ${line.trim()}`));
155
181
  }
156
182
  }
157
183
  console.error("");
158
184
  }
185
+ // ─── bilt theme-preview (hidden) ─────────────────────────────────────────────
186
+ program
187
+ .command("theme-preview", { hidden: true })
188
+ .description("Preview all theme glyphs, colors, and components")
189
+ .action(() => {
190
+ console.log("");
191
+ console.log(banner());
192
+ console.log("");
193
+ console.log(pulseBar(92));
194
+ console.log(pulseBar(65));
195
+ console.log(pulseBar(25));
196
+ console.log("");
197
+ console.log(sectionHeader("Glyphs"));
198
+ console.log(` ${colors.pulseCoral.apply(glyphs.critical)} critical`);
199
+ console.log(` ${colors.amberFlag.apply(glyphs.warning)} warning`);
200
+ console.log(` ${colors.mintClear.apply(glyphs.passed)} passed`);
201
+ console.log(` ${colors.vitalTeal.apply(glyphs.fixed)} fixed`);
202
+ console.log(` ${colors.slateDim.apply(glyphs.info)} info`);
203
+ console.log("");
204
+ console.log(sectionHeader("Colors"));
205
+ console.log(` ${colors.vitalTeal.apply("Vital Teal")} — brand accent`);
206
+ console.log(` ${colors.pulseCoral.apply("Pulse Coral")} — critical`);
207
+ console.log(` ${colors.amberFlag.apply("Amber Flag")} — warning`);
208
+ console.log(` ${colors.mintClear.apply("Mint Clear")} — pass/healthy`);
209
+ console.log(` ${colors.slateDim.apply("Slate Dim")} — secondary`);
210
+ console.log("");
211
+ console.log(divider());
212
+ console.log(` ${colors.slateDim.dim("Spinner frames: " + spinnerFrames.join(" "))}`);
213
+ console.log("");
214
+ });
159
215
  // ─── Parse & Run ─────────────────────────────────────────────────────────────
160
216
  program.parse();
161
217
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,gFAAgF;AAChF,6CAA6C;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,gFAAgF;AAEhF,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,gFAAgF;AAEhF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CACV,qGAAqG,CACtG;KACA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC;KACrC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;AAElD,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,iEAAiE,CAClE;KACA,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAC3C,MAAM,CAAC,gBAAgB,EAAE,gDAAgD,CAAC;KAC1E,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC1C,MAAM,CACL,oBAAoB,EACpB,sDAAsD,CACvD;KACA,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;KAC5D,MAAM,CAAC,SAAS,EAAE,mCAAmC,CAAC;KACtD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;KAClE,MAAM,CAAC,OAAO,EAAE,mCAAmC,CAAC;KACpD,MAAM,CACL,KAAK,EACH,GAAW,EACX,IAQC,EACD,EAAE;IACF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE;YACpC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAgC;YAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CACjC,CAAC,MAAM,CAAC;QACT,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CACF,CAAC;AAEJ,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,sEAAsE,CACvE;KACA,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;IAC5B,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,2DAA2D,CAAC;KACxE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAC3C,MAAM,CAAC,QAAQ,EAAE,yCAAyC,CAAC;KAC3D,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC;KACrD,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;KAC3C,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;KAClD,MAAM,CACL,KAAK,EACH,GAAW,EACX,IAKC,EACD,EAAE;IACF,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,GAAG,EAAE;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CACF,CAAC;AAEJ,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;IAC5B,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAC3C,MAAM,CAAC,SAAS,EAAE,wCAAwC,CAAC;KAC3D,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,KAAK,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAA4C,EAAE,EAAE;IAC1E,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,GAAG,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SAClE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,qDAAqD,CAAC;KAClE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAC3C,MAAM,CAAC,QAAQ,EAAE,yCAAyC,CAAC;KAC3D,MAAM,CAAC,OAAO,EAAE,wCAAwC,CAAC;KACzD,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAuC,EAAE,EAAE;IACrE,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,GAAG,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAEhF,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,gFAAgF;AAEhF,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,6 @@
9
9
  export declare function executeDoctor(projectDir: string, options?: {
10
10
  card?: boolean;
11
11
  fun?: boolean;
12
+ debug?: boolean;
12
13
  }): Promise<void>;
13
14
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9C,OAAO,CAAC,IAAI,CAAC,CAqKf"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/D,OAAO,CAAC,IAAI,CAAC,CAoOf"}
@@ -1,10 +1,10 @@
1
1
  // ─── Doctor Command ──────────────────────────────────────────────────────────
2
2
  // Comprehensive health report with detailed breakdown and recommendations.
3
3
  import path from "node:path";
4
- import chalk from "chalk";
5
- import boxen from "boxen";
6
4
  import { executeScan } from "./scan.js";
7
- import { formatHealthScore, severityIcon } from "../ui/format.js";
5
+ import { formatHealthScore, severityIcon, formatFinding } from "../ui/format.js";
6
+ import { colors, glyphs, banner, pulseBar, sectionHeader, divider, summaryBox, styledGlyph, severityColor, text, ruleLine, isPlainMode, showBliptBanner } from "../ui/theme.js";
7
+ import { createRequire } from "node:module";
8
8
  /**
9
9
  * Execute the `bilt doctor` command.
10
10
  *
@@ -19,59 +19,113 @@ export async function executeDoctor(projectDir, options = {}) {
19
19
  const result = await executeScan(rootDir, {
20
20
  quiet: true,
21
21
  fullHistory: true,
22
+ debug: options.debug,
22
23
  });
23
24
  const { findings, healthScore, grade, scannedFiles, duration, framework } = result;
24
- // ── Markdown card mode ──────────────────────────────────────────────
25
+ // ── PNG card mode ──────────────────────────────────────────────────
25
26
  if (options.card) {
26
- const md = generateMarkdownCard(result.healthScore, result.grade, findings, framework?.displayName);
27
- console.log(md);
27
+ const repoName = path.basename(rootDir);
28
+ const filledWidth = Math.max(0, Math.min(800, (healthScore / 100) * 800));
29
+ const fillColor = healthScore <= 39
30
+ ? "#FB7185" // Pulse Coral
31
+ : healthScore <= 74
32
+ ? "#FBBF24" // Amber Flag
33
+ : "#34D399"; // Mint Clear
34
+ const cardSvg = `
35
+ <svg width="1200" height="630" viewBox="0 0 1200 630" xmlns="http://www.w3.org/2000/svg">
36
+ <rect width="1200" height="630" fill="#0D1117" />
37
+ <rect x="20" y="20" width="1160" height="590" rx="20" fill="none" stroke="#5EEAD4" stroke-width="1.5" stroke-opacity="0.15" />
38
+ <circle cx="150" cy="480" r="250" fill="#5EEAD4" opacity="0.03" />
39
+ <circle cx="1000" cy="150" r="300" fill="#5EEAD4" opacity="0.02" />
40
+ <text x="100" y="200" font-family="system-ui, -apple-system, sans-serif" font-size="64" font-weight="800" fill="#5EEAD4">
41
+ ${repoName}
42
+ </text>
43
+ <text x="100" y="310" font-family="system-ui, -apple-system, sans-serif" font-size="28" font-weight="700" fill="#64748B">
44
+ HEALTH
45
+ </text>
46
+ <rect x="100" y="340" width="800" height="40" rx="8" fill="#1E293B" />
47
+ <rect x="100" y="340" width="${filledWidth}" height="40" rx="8" fill="${fillColor}" />
48
+ <text x="930" y="374" font-family="system-ui, -apple-system, sans-serif" font-size="44" font-weight="800" fill="${fillColor}">
49
+ ${healthScore}/100
50
+ </text>
51
+ <text x="1100" y="570" text-anchor="end" font-family="system-ui, -apple-system, sans-serif" font-size="28" font-weight="700" fill="#64748B" opacity="0.4">
52
+ bilt.dev
53
+ </text>
54
+ </svg>
55
+ `.trim();
56
+ try {
57
+ const sharp = (await import("sharp")).default;
58
+ const outputPath = path.join(rootDir, "bilt-health-card.png");
59
+ await sharp(Buffer.from(cardSvg)).png().toFile(outputPath);
60
+ console.log("");
61
+ console.log(colors.mintClear.apply(" " + glyphs.fixed + " Generated card: " + outputPath));
62
+ console.log("");
63
+ console.log(colors.slateDim.apply(" Share this card on social media:"));
64
+ console.log(colors.vitalTeal.bold(` Score: ${healthScore}/100 — scanned with bilt \u2192 bilt.dev`));
65
+ console.log("");
66
+ }
67
+ catch (err) {
68
+ console.error(colors.pulseCoral.apply(" " + glyphs.critical + " Failed to generate card PNG: " + err.message));
69
+ }
28
70
  return;
29
71
  }
72
+ const isPlain = isPlainMode();
73
+ const maybeSleep = async () => {
74
+ if (!isPlain) {
75
+ await new Promise((resolve) => setTimeout(resolve, 80));
76
+ }
77
+ };
30
78
  // ── Header ──────────────────────────────────────────────────────────
31
79
  console.log("");
32
- const header = boxen(`\n${chalk.bold.cyan(" 🏗️ BILT DOCTOR — Comprehensive Health Report")}\n`, {
33
- padding: 0,
34
- margin: { top: 0, bottom: 0, left: 1, right: 1 },
35
- borderStyle: "round",
36
- borderColor: "cyan",
37
- });
38
- console.log(header);
80
+ const require = createRequire(import.meta.url);
81
+ const pkg = require("../../package.json");
82
+ showBliptBanner(pkg.version);
83
+ await maybeSleep();
84
+ console.log("");
85
+ console.log(colors.vitalTeal.bold(" BILT DOCTOR \u2014 Comprehensive Health Report"));
86
+ await maybeSleep();
39
87
  console.log("");
40
88
  // ── Overall score ───────────────────────────────────────────────────
41
- console.log(chalk.bold(" 📊 Overall Health"));
89
+ console.log(sectionHeader("Overall Health"));
90
+ await maybeSleep();
42
91
  console.log("");
43
- console.log(` ${formatHealthScore(healthScore, grade)}`);
92
+ console.log(` ${formatHealthScore(healthScore)}`);
93
+ await maybeSleep();
44
94
  console.log("");
45
- console.log(chalk.dim(` Scanned ${scannedFiles} files in ${duration}ms${framework ? ` • Framework: ${framework.displayName}` : ""}`));
95
+ console.log(colors.slateDim.dim(` Scanned ${scannedFiles} files in ${duration}ms${framework ? ` • Framework: ${framework.displayName}` : ""}`));
96
+ await maybeSleep();
46
97
  console.log("");
47
98
  // ── Fun mode ────────────────────────────────────────────────────────
48
99
  if (options.fun) {
49
100
  if (healthScore === 100) {
50
- console.log(chalk.bold.green(" 🎉🏆🎉 PERFECT SCORE! You absolute legend! 🎉🏆🎉"));
101
+ console.log(colors.mintClear.bold(" Perfect score! You absolute legend!"));
102
+ await maybeSleep();
51
103
  console.log("");
52
104
  }
53
105
  else if (healthScore >= 90) {
54
- console.log(chalk.green(" 🔥 So close to perfection — you got this!"));
106
+ console.log(colors.mintClear.apply(" So close to perfection — you got this!"));
107
+ await maybeSleep();
55
108
  console.log("");
56
109
  }
57
110
  }
58
111
  // ── Category breakdown ──────────────────────────────────────────────
59
- console.log(chalk.bold(" 📋 Category Breakdown"));
112
+ console.log(sectionHeader("Category Breakdown"));
113
+ await maybeSleep();
60
114
  console.log("");
61
115
  const categories = [
62
- { key: "secret-detected", label: "Secret Detection", icon: "🔐" },
63
- { key: "env-missing", label: "Missing Env Vars", icon: "📦" },
64
- { key: "env-unused", label: "Unused Env Vars", icon: "🗑️" },
65
- { key: "env-mismatch", label: "Env Mismatches", icon: "🔀" },
66
- { key: "env-exposed", label: "Client-Exposed Secrets", icon: "🌐" },
67
- { key: "gitignore-missing", label: ".gitignore Coverage", icon: "📄" },
68
- { key: "framework-warning", label: "Framework Warnings", icon: "⚙️" },
69
- { key: "plugin-finding", label: "Plugin Findings", icon: "🔌" },
116
+ { key: "secret-detected", label: "Secret Detection" },
117
+ { key: "env-missing", label: "Missing Env Vars" },
118
+ { key: "env-unused", label: "Unused Env Vars" },
119
+ { key: "env-mismatch", label: "Env Mismatches" },
120
+ { key: "env-exposed", label: "Client-Exposed Secrets" },
121
+ { key: "gitignore-missing", label: ".gitignore Coverage" },
122
+ { key: "framework-warning", label: "Framework Warnings" },
123
+ { key: "plugin-finding", label: "Plugin Findings" },
70
124
  ];
71
125
  for (const cat of categories) {
72
126
  const catFindings = findings.filter((f) => f.category === cat.key);
73
127
  if (catFindings.length === 0) {
74
- console.log(chalk.green(` ${cat.icon} ${cat.label}: ${chalk.bold("Clean")} ✓`));
128
+ console.log(colors.mintClear.apply(` ${colors.slateDim.apply(glyphs.info)} ${cat.label}: ${text.bold("Clean")} ${glyphs.fixed}`));
75
129
  }
76
130
  else {
77
131
  const critCount = catFindings.filter((f) => f.severity === "critical").length;
@@ -79,18 +133,20 @@ export async function executeDoctor(projectDir, options = {}) {
79
133
  const infoCount = catFindings.filter((f) => f.severity === "info").length;
80
134
  const parts = [];
81
135
  if (critCount > 0)
82
- parts.push(chalk.red(`${critCount} critical`));
136
+ parts.push(colors.pulseCoral.apply(`${critCount} critical`));
83
137
  if (warnCount > 0)
84
- parts.push(chalk.yellow(`${warnCount} warning`));
138
+ parts.push(colors.amberFlag.apply(`${warnCount} warning`));
85
139
  if (infoCount > 0)
86
- parts.push(chalk.cyan(`${infoCount} info`));
87
- console.log(` ${cat.icon} ${cat.label}: ${parts.join(", ")} ${chalk.dim(`(${catFindings.length} total)`)}`);
140
+ parts.push(colors.vitalTeal.apply(`${infoCount} info`));
141
+ console.log(` ${colors.slateDim.apply(glyphs.info)} ${cat.label}: ${parts.join(", ")} ${colors.slateDim.dim(`(${catFindings.length} total)`)}`);
88
142
  }
143
+ await maybeSleep();
89
144
  }
90
145
  console.log("");
91
146
  // ── Detailed findings ───────────────────────────────────────────────
92
147
  if (findings.length > 0) {
93
- console.log(chalk.bold(" 🔍 Detailed Findings"));
148
+ console.log(sectionHeader("Detailed Findings"));
149
+ await maybeSleep();
94
150
  console.log("");
95
151
  const order = ["critical", "warning", "info"];
96
152
  for (const sev of order) {
@@ -98,40 +154,45 @@ export async function executeDoctor(projectDir, options = {}) {
98
154
  if (sevFindings.length === 0)
99
155
  continue;
100
156
  const icon = severityIcon(sev);
101
- console.log(` ${icon} ${chalk.bold(sev.charAt(0).toUpperCase() + sev.slice(1))}`);
157
+ console.log(` ${icon} ${text.bold(sev.charAt(0).toUpperCase() + sev.slice(1))}`);
158
+ await maybeSleep();
102
159
  for (const f of sevFindings) {
103
160
  const loc = f.line ? `${f.file}:${f.line}` : f.file;
104
- console.log(` ${chalk.dim("›")} ${f.message} ${chalk.dim(loc)}`);
161
+ console.log(` ${colors.slateDim.dim("›")} ${f.message} ${colors.slateDim.dim(loc)}`);
162
+ await maybeSleep();
105
163
  if (f.suggestion) {
106
- console.log(chalk.dim(` 💡 ${f.suggestion}`));
164
+ console.log(colors.slateDim.dim(` ${glyphs.arrow} ${f.suggestion}`));
165
+ await maybeSleep();
107
166
  }
108
167
  }
109
168
  console.log("");
110
169
  }
111
170
  }
112
171
  // ── Recommendations ─────────────────────────────────────────────────
113
- console.log(chalk.bold(" 💡 Recommendations"));
172
+ console.log(sectionHeader("Recommendations"));
173
+ await maybeSleep();
114
174
  console.log("");
115
175
  const recommendations = generateRecommendations(findings);
116
176
  if (recommendations.length === 0) {
117
- console.log(chalk.green(" Everything looks great! No recommendations needed."));
177
+ console.log(colors.mintClear.apply(" Everything looks great! No recommendations needed."));
118
178
  }
119
179
  else {
120
180
  for (let i = 0; i < recommendations.length; i++) {
121
- console.log(` ${chalk.cyan(`${i + 1}.`)} ${recommendations[i]}`);
181
+ console.log(` ${colors.vitalTeal.apply(`${i + 1}.`)} ${recommendations[i]}`);
182
+ await maybeSleep();
122
183
  }
123
184
  }
124
185
  console.log("");
125
186
  // ── Footer ──────────────────────────────────────────────────────────
126
- const footer = boxen(chalk.dim(`\n Run ${chalk.white("bilt fix --safe")} to auto-fix safe issues\n` +
127
- ` Run ${chalk.white("bilt fix")} for interactive fix mode\n` +
128
- ` Run ${chalk.white("bilt watch")} for real-time monitoring\n`), {
129
- padding: 0,
130
- margin: { top: 0, bottom: 0, left: 1, right: 1 },
131
- borderStyle: "round",
132
- borderColor: "gray",
133
- });
134
- console.log(footer);
187
+ console.log(divider());
188
+ await maybeSleep();
189
+ console.log("");
190
+ console.log(colors.slateDim.dim(` Run ${text.bold("bilt fix --safe")} to auto-fix safe issues`));
191
+ await maybeSleep();
192
+ console.log(colors.slateDim.dim(` Run ${text.bold("bilt fix")} for interactive fix mode`));
193
+ await maybeSleep();
194
+ console.log(colors.slateDim.dim(` Run ${text.bold("bilt watch")} for real-time monitoring`));
195
+ await maybeSleep();
135
196
  console.log("");
136
197
  }
137
198
  // ─── Recommendation Generator ────────────────────────────────────────────────
@@ -172,7 +233,7 @@ function generateMarkdownCard(score, grade, findings, frameworkName) {
172
233
  const barWidth = 20;
173
234
  const filled = Math.round((score / 100) * barWidth);
174
235
  const empty = barWidth - filled;
175
- const bar = "".repeat(filled) + "".repeat(empty);
236
+ const bar = "\u2588".repeat(filled) + "\u2591".repeat(empty);
176
237
  let md = "# 🏗️ Bilt Health Report\n\n";
177
238
  md += `**Score:** ${score}/100 — **${grade}**\n\n`;
178
239
  md += "```\n";
@@ -181,9 +242,9 @@ function generateMarkdownCard(score, grade, findings, frameworkName) {
181
242
  md += "## Summary\n\n";
182
243
  md += `| Metric | Count |\n`;
183
244
  md += `|--------|-------|\n`;
184
- md += `| 🔴 Critical | ${criticals} |\n`;
185
- md += `| 🟡 Warning | ${warnings} |\n`;
186
- md += `| 🔵 Info | ${infos} |\n`;
245
+ md += `| [CRITICAL] | ${criticals} |\n`;
246
+ md += `| [WARNING] | ${warnings} |\n`;
247
+ md += `| [INFO] | ${infos} |\n`;
187
248
  if (frameworkName) {
188
249
  md += `\n**Framework:** ${frameworkName}\n`;
189
250
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { FixOptions } from "../types/index.js";
1
+ import { type FixOptions } from "../types/index.js";
2
2
  /**
3
3
  * Execute the `bilt fix` command.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAiB5E;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAoJf"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,KAAK,UAAU,EAA4D,MAAM,mBAAmB,CAAC;AAe9G;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAqKf"}