vibecheck-ai 2.0.1 → 5.0.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.
Files changed (456) hide show
  1. package/bin/.generated +25 -0
  2. package/bin/_deprecations.js +463 -0
  3. package/bin/_router.js +46 -0
  4. package/bin/cli-hygiene.js +241 -0
  5. package/bin/dev/run-v2-torture.js +30 -0
  6. package/bin/registry.js +656 -0
  7. package/bin/runners/CLI_REFACTOR_SUMMARY.md +229 -0
  8. package/bin/runners/ENHANCEMENT_GUIDE.md +121 -0
  9. package/bin/runners/REPORT_AUDIT.md +64 -0
  10. package/bin/runners/cli-utils.js +1070 -0
  11. package/bin/runners/context/ai-task-decomposer.js +337 -0
  12. package/bin/runners/context/analyzer.js +513 -0
  13. package/bin/runners/context/api-contracts.js +427 -0
  14. package/bin/runners/context/context-diff.js +342 -0
  15. package/bin/runners/context/context-pruner.js +291 -0
  16. package/bin/runners/context/dependency-graph.js +414 -0
  17. package/bin/runners/context/generators/claude.js +107 -0
  18. package/bin/runners/context/generators/codex.js +108 -0
  19. package/bin/runners/context/generators/copilot.js +119 -0
  20. package/bin/runners/context/generators/cursor-enhanced.js +2525 -0
  21. package/bin/runners/context/generators/cursor.js +514 -0
  22. package/bin/runners/context/generators/mcp.js +169 -0
  23. package/bin/runners/context/generators/windsurf.js +180 -0
  24. package/bin/runners/context/git-context.js +304 -0
  25. package/bin/runners/context/index.js +1110 -0
  26. package/bin/runners/context/insights.js +173 -0
  27. package/bin/runners/context/mcp-server/generate-rules.js +337 -0
  28. package/bin/runners/context/mcp-server/index.js +1176 -0
  29. package/bin/runners/context/mcp-server/package.json +24 -0
  30. package/bin/runners/context/memory.js +200 -0
  31. package/bin/runners/context/monorepo.js +215 -0
  32. package/bin/runners/context/multi-repo-federation.js +404 -0
  33. package/bin/runners/context/patterns.js +253 -0
  34. package/bin/runners/context/proof-context.js +1264 -0
  35. package/bin/runners/context/security-scanner.js +541 -0
  36. package/bin/runners/context/semantic-search.js +350 -0
  37. package/bin/runners/context/shared.js +264 -0
  38. package/bin/runners/context/team-conventions.js +336 -0
  39. package/bin/runners/lib/__tests__/entitlements-v2.test.js +295 -0
  40. package/bin/runners/lib/agent-firewall/ai/false-positive-analyzer.js +474 -0
  41. package/bin/runners/lib/agent-firewall/change-packet/builder.js +488 -0
  42. package/bin/runners/lib/agent-firewall/change-packet/schema.json +228 -0
  43. package/bin/runners/lib/agent-firewall/change-packet/store.js +200 -0
  44. package/bin/runners/lib/agent-firewall/claims/claim-types.js +21 -0
  45. package/bin/runners/lib/agent-firewall/claims/extractor.js +303 -0
  46. package/bin/runners/lib/agent-firewall/claims/patterns.js +24 -0
  47. package/bin/runners/lib/agent-firewall/critic/index.js +151 -0
  48. package/bin/runners/lib/agent-firewall/critic/judge.js +432 -0
  49. package/bin/runners/lib/agent-firewall/critic/prompts.js +305 -0
  50. package/bin/runners/lib/agent-firewall/enforcement/gateway.js +1059 -0
  51. package/bin/runners/lib/agent-firewall/enforcement/index.js +98 -0
  52. package/bin/runners/lib/agent-firewall/enforcement/mode.js +318 -0
  53. package/bin/runners/lib/agent-firewall/enforcement/orchestrator.js +484 -0
  54. package/bin/runners/lib/agent-firewall/enforcement/proof-artifact.js +418 -0
  55. package/bin/runners/lib/agent-firewall/enforcement/schemas/change-event.schema.json +173 -0
  56. package/bin/runners/lib/agent-firewall/enforcement/schemas/intent.schema.json +181 -0
  57. package/bin/runners/lib/agent-firewall/enforcement/schemas/verdict.schema.json +222 -0
  58. package/bin/runners/lib/agent-firewall/enforcement/verdict-v2.js +333 -0
  59. package/bin/runners/lib/agent-firewall/evidence/auth-evidence.js +88 -0
  60. package/bin/runners/lib/agent-firewall/evidence/contract-evidence.js +75 -0
  61. package/bin/runners/lib/agent-firewall/evidence/env-evidence.js +127 -0
  62. package/bin/runners/lib/agent-firewall/evidence/resolver.js +102 -0
  63. package/bin/runners/lib/agent-firewall/evidence/route-evidence.js +213 -0
  64. package/bin/runners/lib/agent-firewall/evidence/side-effect-evidence.js +145 -0
  65. package/bin/runners/lib/agent-firewall/fs-hook/daemon.js +19 -0
  66. package/bin/runners/lib/agent-firewall/fs-hook/installer.js +87 -0
  67. package/bin/runners/lib/agent-firewall/fs-hook/watcher.js +184 -0
  68. package/bin/runners/lib/agent-firewall/git-hook/pre-commit.js +163 -0
  69. package/bin/runners/lib/agent-firewall/ide-extension/cursor.js +107 -0
  70. package/bin/runners/lib/agent-firewall/ide-extension/vscode.js +68 -0
  71. package/bin/runners/lib/agent-firewall/ide-extension/windsurf.js +66 -0
  72. package/bin/runners/lib/agent-firewall/index.js +200 -0
  73. package/bin/runners/lib/agent-firewall/integration/index.js +20 -0
  74. package/bin/runners/lib/agent-firewall/integration/ship-gate.js +437 -0
  75. package/bin/runners/lib/agent-firewall/intent/alignment-engine.js +634 -0
  76. package/bin/runners/lib/agent-firewall/intent/auto-detect.js +426 -0
  77. package/bin/runners/lib/agent-firewall/intent/index.js +102 -0
  78. package/bin/runners/lib/agent-firewall/intent/schema.js +352 -0
  79. package/bin/runners/lib/agent-firewall/intent/store.js +283 -0
  80. package/bin/runners/lib/agent-firewall/interception/fs-interceptor.js +502 -0
  81. package/bin/runners/lib/agent-firewall/interception/index.js +23 -0
  82. package/bin/runners/lib/agent-firewall/interceptor/base.js +308 -0
  83. package/bin/runners/lib/agent-firewall/interceptor/cursor.js +35 -0
  84. package/bin/runners/lib/agent-firewall/interceptor/vscode.js +35 -0
  85. package/bin/runners/lib/agent-firewall/interceptor/windsurf.js +34 -0
  86. package/bin/runners/lib/agent-firewall/lawbook/distributor.js +465 -0
  87. package/bin/runners/lib/agent-firewall/lawbook/evaluator.js +604 -0
  88. package/bin/runners/lib/agent-firewall/lawbook/index.js +304 -0
  89. package/bin/runners/lib/agent-firewall/lawbook/registry.js +514 -0
  90. package/bin/runners/lib/agent-firewall/lawbook/schema.js +420 -0
  91. package/bin/runners/lib/agent-firewall/logger.js +141 -0
  92. package/bin/runners/lib/agent-firewall/policy/default-policy.json +90 -0
  93. package/bin/runners/lib/agent-firewall/policy/engine.js +103 -0
  94. package/bin/runners/lib/agent-firewall/policy/loader.js +451 -0
  95. package/bin/runners/lib/agent-firewall/policy/rules/auth-drift.js +50 -0
  96. package/bin/runners/lib/agent-firewall/policy/rules/contract-drift.js +50 -0
  97. package/bin/runners/lib/agent-firewall/policy/rules/fake-success.js +79 -0
  98. package/bin/runners/lib/agent-firewall/policy/rules/ghost-env.js +227 -0
  99. package/bin/runners/lib/agent-firewall/policy/rules/ghost-route.js +191 -0
  100. package/bin/runners/lib/agent-firewall/policy/rules/scope.js +93 -0
  101. package/bin/runners/lib/agent-firewall/policy/rules/unsafe-side-effect.js +57 -0
  102. package/bin/runners/lib/agent-firewall/policy/schema.json +183 -0
  103. package/bin/runners/lib/agent-firewall/policy/verdict.js +54 -0
  104. package/bin/runners/lib/agent-firewall/proposal/extractor.js +394 -0
  105. package/bin/runners/lib/agent-firewall/proposal/index.js +212 -0
  106. package/bin/runners/lib/agent-firewall/proposal/schema.js +251 -0
  107. package/bin/runners/lib/agent-firewall/proposal/validator.js +386 -0
  108. package/bin/runners/lib/agent-firewall/reality/index.js +332 -0
  109. package/bin/runners/lib/agent-firewall/reality/state.js +625 -0
  110. package/bin/runners/lib/agent-firewall/reality/watcher.js +322 -0
  111. package/bin/runners/lib/agent-firewall/risk/index.js +173 -0
  112. package/bin/runners/lib/agent-firewall/risk/scorer.js +328 -0
  113. package/bin/runners/lib/agent-firewall/risk/thresholds.js +322 -0
  114. package/bin/runners/lib/agent-firewall/risk/vectors.js +421 -0
  115. package/bin/runners/lib/agent-firewall/session/collector.js +451 -0
  116. package/bin/runners/lib/agent-firewall/session/index.js +26 -0
  117. package/bin/runners/lib/agent-firewall/simulator/diff-simulator.js +472 -0
  118. package/bin/runners/lib/agent-firewall/simulator/import-resolver.js +346 -0
  119. package/bin/runners/lib/agent-firewall/simulator/index.js +181 -0
  120. package/bin/runners/lib/agent-firewall/simulator/route-validator.js +380 -0
  121. package/bin/runners/lib/agent-firewall/time-machine/incident-correlator.js +661 -0
  122. package/bin/runners/lib/agent-firewall/time-machine/index.js +267 -0
  123. package/bin/runners/lib/agent-firewall/time-machine/replay-engine.js +436 -0
  124. package/bin/runners/lib/agent-firewall/time-machine/state-reconstructor.js +490 -0
  125. package/bin/runners/lib/agent-firewall/time-machine/timeline-builder.js +530 -0
  126. package/bin/runners/lib/agent-firewall/truthpack/index.js +67 -0
  127. package/bin/runners/lib/agent-firewall/truthpack/loader.js +137 -0
  128. package/bin/runners/lib/agent-firewall/unblock/planner.js +337 -0
  129. package/bin/runners/lib/agent-firewall/utils/ignore-checker.js +118 -0
  130. package/bin/runners/lib/ai-bridge.js +416 -0
  131. package/bin/runners/lib/analysis-core.js +309 -0
  132. package/bin/runners/lib/analyzers.js +2500 -0
  133. package/bin/runners/lib/api-client.js +269 -0
  134. package/bin/runners/lib/approve-output.js +235 -0
  135. package/bin/runners/lib/artifact-envelope.js +540 -0
  136. package/bin/runners/lib/assets/vibecheck-logo.png +0 -0
  137. package/bin/runners/lib/audit-bridge.js +391 -0
  138. package/bin/runners/lib/auth-shared.js +977 -0
  139. package/bin/runners/lib/auth-truth.js +193 -0
  140. package/bin/runners/lib/auth.js +215 -0
  141. package/bin/runners/lib/authority-badge.js +425 -0
  142. package/bin/runners/lib/backup.js +62 -0
  143. package/bin/runners/lib/billing.js +107 -0
  144. package/bin/runners/lib/checkpoint.js +941 -0
  145. package/bin/runners/lib/claims.js +118 -0
  146. package/bin/runners/lib/classify-output.js +204 -0
  147. package/bin/runners/lib/cleanup/engine.js +571 -0
  148. package/bin/runners/lib/cleanup/index.js +53 -0
  149. package/bin/runners/lib/cleanup/output.js +375 -0
  150. package/bin/runners/lib/cleanup/rules.js +1060 -0
  151. package/bin/runners/lib/cli-output.js +400 -0
  152. package/bin/runners/lib/cli-ui.js +540 -0
  153. package/bin/runners/lib/compliance-bridge-new.js +0 -0
  154. package/bin/runners/lib/compliance-bridge.js +165 -0
  155. package/bin/runners/lib/contracts/auth-contract.js +202 -0
  156. package/bin/runners/lib/contracts/env-contract.js +181 -0
  157. package/bin/runners/lib/contracts/external-contract.js +206 -0
  158. package/bin/runners/lib/contracts/guard.js +168 -0
  159. package/bin/runners/lib/contracts/index.js +89 -0
  160. package/bin/runners/lib/contracts/plan-validator.js +311 -0
  161. package/bin/runners/lib/contracts/route-contract.js +199 -0
  162. package/bin/runners/lib/contracts.js +804 -0
  163. package/bin/runners/lib/default-config.js +127 -0
  164. package/bin/runners/lib/detect.js +89 -0
  165. package/bin/runners/lib/detectors-v2.js +622 -0
  166. package/bin/runners/lib/doctor/autofix.js +254 -0
  167. package/bin/runners/lib/doctor/diagnosis-receipt.js +454 -0
  168. package/bin/runners/lib/doctor/failure-signatures.js +526 -0
  169. package/bin/runners/lib/doctor/fix-script.js +336 -0
  170. package/bin/runners/lib/doctor/index.js +37 -0
  171. package/bin/runners/lib/doctor/modules/build-tools.js +453 -0
  172. package/bin/runners/lib/doctor/modules/dependencies.js +325 -0
  173. package/bin/runners/lib/doctor/modules/index.js +105 -0
  174. package/bin/runners/lib/doctor/modules/network.js +250 -0
  175. package/bin/runners/lib/doctor/modules/os-quirks.js +706 -0
  176. package/bin/runners/lib/doctor/modules/project.js +312 -0
  177. package/bin/runners/lib/doctor/modules/repo-integrity.js +485 -0
  178. package/bin/runners/lib/doctor/modules/runtime.js +224 -0
  179. package/bin/runners/lib/doctor/modules/security.js +350 -0
  180. package/bin/runners/lib/doctor/modules/system.js +213 -0
  181. package/bin/runners/lib/doctor/modules/vibecheck.js +394 -0
  182. package/bin/runners/lib/doctor/reporter.js +262 -0
  183. package/bin/runners/lib/doctor/safe-repair.js +384 -0
  184. package/bin/runners/lib/doctor/service.js +262 -0
  185. package/bin/runners/lib/doctor/types.js +113 -0
  186. package/bin/runners/lib/doctor/ui.js +263 -0
  187. package/bin/runners/lib/doctor-enhanced.js +233 -0
  188. package/bin/runners/lib/doctor-output.js +226 -0
  189. package/bin/runners/lib/doctor-v2.js +608 -0
  190. package/bin/runners/lib/drift.js +425 -0
  191. package/bin/runners/lib/enforcement.js +72 -0
  192. package/bin/runners/lib/engine/ast-cache.js +210 -0
  193. package/bin/runners/lib/engine/auth-extractor.js +211 -0
  194. package/bin/runners/lib/engine/billing-extractor.js +112 -0
  195. package/bin/runners/lib/engine/enforcement-extractor.js +100 -0
  196. package/bin/runners/lib/engine/env-extractor.js +207 -0
  197. package/bin/runners/lib/engine/express-extractor.js +208 -0
  198. package/bin/runners/lib/engine/extractors.js +849 -0
  199. package/bin/runners/lib/engine/index.js +207 -0
  200. package/bin/runners/lib/engine/repo-index.js +514 -0
  201. package/bin/runners/lib/engine/types.js +124 -0
  202. package/bin/runners/lib/engines/accessibility-engine.js +190 -0
  203. package/bin/runners/lib/engines/api-consistency-engine.js +162 -0
  204. package/bin/runners/lib/engines/ast-cache.js +99 -0
  205. package/bin/runners/lib/engines/attack-detector.js +1192 -0
  206. package/bin/runners/lib/engines/code-quality-engine.js +255 -0
  207. package/bin/runners/lib/engines/console-logs-engine.js +115 -0
  208. package/bin/runners/lib/engines/cross-file-analysis-engine.js +268 -0
  209. package/bin/runners/lib/engines/dead-code-engine.js +198 -0
  210. package/bin/runners/lib/engines/deprecated-api-engine.js +226 -0
  211. package/bin/runners/lib/engines/empty-catch-engine.js +150 -0
  212. package/bin/runners/lib/engines/file-filter.js +131 -0
  213. package/bin/runners/lib/engines/hardcoded-secrets-engine.js +251 -0
  214. package/bin/runners/lib/engines/mock-data-engine.js +272 -0
  215. package/bin/runners/lib/engines/parallel-processor.js +71 -0
  216. package/bin/runners/lib/engines/performance-issues-engine.js +265 -0
  217. package/bin/runners/lib/engines/security-vulnerabilities-engine.js +243 -0
  218. package/bin/runners/lib/engines/todo-fixme-engine.js +115 -0
  219. package/bin/runners/lib/engines/type-aware-engine.js +152 -0
  220. package/bin/runners/lib/engines/unsafe-regex-engine.js +225 -0
  221. package/bin/runners/lib/engines/vibecheck-engines/README.md +53 -0
  222. package/bin/runners/lib/engines/vibecheck-engines/index.js +15 -0
  223. package/bin/runners/lib/engines/vibecheck-engines/lib/ast-cache.js +164 -0
  224. package/bin/runners/lib/engines/vibecheck-engines/lib/code-quality-engine.js +291 -0
  225. package/bin/runners/lib/engines/vibecheck-engines/lib/console-logs-engine.js +83 -0
  226. package/bin/runners/lib/engines/vibecheck-engines/lib/dead-code-engine.js +198 -0
  227. package/bin/runners/lib/engines/vibecheck-engines/lib/deprecated-api-engine.js +275 -0
  228. package/bin/runners/lib/engines/vibecheck-engines/lib/empty-catch-engine.js +167 -0
  229. package/bin/runners/lib/engines/vibecheck-engines/lib/file-filter.js +217 -0
  230. package/bin/runners/lib/engines/vibecheck-engines/lib/hardcoded-secrets-engine.js +139 -0
  231. package/bin/runners/lib/engines/vibecheck-engines/lib/mock-data-engine.js +140 -0
  232. package/bin/runners/lib/engines/vibecheck-engines/lib/parallel-processor.js +164 -0
  233. package/bin/runners/lib/engines/vibecheck-engines/lib/performance-issues-engine.js +234 -0
  234. package/bin/runners/lib/engines/vibecheck-engines/lib/type-aware-engine.js +217 -0
  235. package/bin/runners/lib/engines/vibecheck-engines/lib/unsafe-regex-engine.js +78 -0
  236. package/bin/runners/lib/engines/vibecheck-engines/package.json +13 -0
  237. package/bin/runners/lib/enterprise-detect.js +603 -0
  238. package/bin/runners/lib/enterprise-init.js +942 -0
  239. package/bin/runners/lib/entitlements-v2.js +265 -0
  240. package/bin/runners/lib/entitlements.generated.js +0 -0
  241. package/bin/runners/lib/entitlements.js +340 -0
  242. package/bin/runners/lib/env-resolver.js +417 -0
  243. package/bin/runners/lib/env-template.js +66 -0
  244. package/bin/runners/lib/env.js +189 -0
  245. package/bin/runners/lib/error-handler.js +368 -0
  246. package/bin/runners/lib/error-messages.js +289 -0
  247. package/bin/runners/lib/evidence-pack.js +684 -0
  248. package/bin/runners/lib/exit-codes.js +275 -0
  249. package/bin/runners/lib/extractors/client-calls.js +990 -0
  250. package/bin/runners/lib/extractors/fastify-route-dump.js +573 -0
  251. package/bin/runners/lib/extractors/fastify-routes.js +426 -0
  252. package/bin/runners/lib/extractors/index.js +363 -0
  253. package/bin/runners/lib/extractors/next-routes.js +524 -0
  254. package/bin/runners/lib/extractors/proof-graph.js +431 -0
  255. package/bin/runners/lib/extractors/route-matcher.js +451 -0
  256. package/bin/runners/lib/extractors/truthpack-v2.js +377 -0
  257. package/bin/runners/lib/extractors/ui-bindings.js +547 -0
  258. package/bin/runners/lib/finding-id.js +69 -0
  259. package/bin/runners/lib/finding-sorter.js +89 -0
  260. package/bin/runners/lib/findings-schema.js +281 -0
  261. package/bin/runners/lib/fingerprint.js +377 -0
  262. package/bin/runners/lib/firewall-prompt.js +50 -0
  263. package/bin/runners/lib/fix-output.js +228 -0
  264. package/bin/runners/lib/global-flags.js +250 -0
  265. package/bin/runners/lib/graph/graph-builder.js +265 -0
  266. package/bin/runners/lib/graph/html-renderer.js +413 -0
  267. package/bin/runners/lib/graph/index.js +32 -0
  268. package/bin/runners/lib/graph/runtime-collector.js +215 -0
  269. package/bin/runners/lib/graph/static-extractor.js +518 -0
  270. package/bin/runners/lib/help-formatter.js +413 -0
  271. package/bin/runners/lib/html-proof-report.js +913 -0
  272. package/bin/runners/lib/html-report.js +650 -0
  273. package/bin/runners/lib/init-wizard.js +601 -0
  274. package/bin/runners/lib/interactive-menu.js +1496 -0
  275. package/bin/runners/lib/json-output.js +76 -0
  276. package/bin/runners/lib/llm.js +75 -0
  277. package/bin/runners/lib/logger.js +38 -0
  278. package/bin/runners/lib/meter.js +61 -0
  279. package/bin/runners/lib/missions/briefing.js +427 -0
  280. package/bin/runners/lib/missions/checkpoint.js +753 -0
  281. package/bin/runners/lib/missions/evidence.js +126 -0
  282. package/bin/runners/lib/missions/hardening.js +851 -0
  283. package/bin/runners/lib/missions/plan.js +648 -0
  284. package/bin/runners/lib/missions/safety-gates.js +645 -0
  285. package/bin/runners/lib/missions/schema.js +478 -0
  286. package/bin/runners/lib/missions/templates.js +317 -0
  287. package/bin/runners/lib/next-action.js +560 -0
  288. package/bin/runners/lib/packs/bundle.js +675 -0
  289. package/bin/runners/lib/packs/evidence-pack.js +671 -0
  290. package/bin/runners/lib/packs/pack-factory.js +837 -0
  291. package/bin/runners/lib/packs/permissions-pack.js +686 -0
  292. package/bin/runners/lib/packs/proof-graph-pack.js +779 -0
  293. package/bin/runners/lib/patch.js +40 -0
  294. package/bin/runners/lib/permissions/auth-model.js +213 -0
  295. package/bin/runners/lib/permissions/idor-prover.js +205 -0
  296. package/bin/runners/lib/permissions/index.js +45 -0
  297. package/bin/runners/lib/permissions/matrix-builder.js +198 -0
  298. package/bin/runners/lib/pkgjson.js +28 -0
  299. package/bin/runners/lib/policy.js +295 -0
  300. package/bin/runners/lib/polish/accessibility.js +62 -0
  301. package/bin/runners/lib/polish/analyzer.js +93 -0
  302. package/bin/runners/lib/polish/backend.js +87 -0
  303. package/bin/runners/lib/polish/configuration.js +83 -0
  304. package/bin/runners/lib/polish/documentation.js +83 -0
  305. package/bin/runners/lib/polish/frontend.js +817 -0
  306. package/bin/runners/lib/polish/index.js +27 -0
  307. package/bin/runners/lib/polish/infrastructure.js +80 -0
  308. package/bin/runners/lib/polish/internationalization.js +85 -0
  309. package/bin/runners/lib/polish/libraries.js +180 -0
  310. package/bin/runners/lib/polish/observability.js +75 -0
  311. package/bin/runners/lib/polish/performance.js +64 -0
  312. package/bin/runners/lib/polish/privacy.js +110 -0
  313. package/bin/runners/lib/polish/resilience.js +92 -0
  314. package/bin/runners/lib/polish/security.js +78 -0
  315. package/bin/runners/lib/polish/seo.js +71 -0
  316. package/bin/runners/lib/polish/styles.js +62 -0
  317. package/bin/runners/lib/polish/utils.js +104 -0
  318. package/bin/runners/lib/preflight.js +142 -0
  319. package/bin/runners/lib/prerequisites.js +149 -0
  320. package/bin/runners/lib/prove-output.js +220 -0
  321. package/bin/runners/lib/reality/correlation-detectors.js +359 -0
  322. package/bin/runners/lib/reality/index.js +318 -0
  323. package/bin/runners/lib/reality/request-hashing.js +416 -0
  324. package/bin/runners/lib/reality/request-mapper.js +453 -0
  325. package/bin/runners/lib/reality/safety-rails.js +463 -0
  326. package/bin/runners/lib/reality/semantic-snapshot.js +408 -0
  327. package/bin/runners/lib/reality/toast-detector.js +393 -0
  328. package/bin/runners/lib/reality-findings.js +84 -0
  329. package/bin/runners/lib/reality-output.js +231 -0
  330. package/bin/runners/lib/receipts.js +179 -0
  331. package/bin/runners/lib/redact.js +29 -0
  332. package/bin/runners/lib/replay/capsule-manager.js +154 -0
  333. package/bin/runners/lib/replay/index.js +263 -0
  334. package/bin/runners/lib/replay/player.js +348 -0
  335. package/bin/runners/lib/replay/recorder.js +331 -0
  336. package/bin/runners/lib/report-engine.js +626 -0
  337. package/bin/runners/lib/report-html.js +1233 -0
  338. package/bin/runners/lib/report-output.js +366 -0
  339. package/bin/runners/lib/report-templates.js +967 -0
  340. package/bin/runners/lib/report.js +135 -0
  341. package/bin/runners/lib/route-detection.js +1209 -0
  342. package/bin/runners/lib/route-truth.js +1322 -0
  343. package/bin/runners/lib/safelist/index.js +96 -0
  344. package/bin/runners/lib/safelist/integration.js +334 -0
  345. package/bin/runners/lib/safelist/matcher.js +696 -0
  346. package/bin/runners/lib/safelist/schema.js +948 -0
  347. package/bin/runners/lib/safelist/store.js +438 -0
  348. package/bin/runners/lib/sandbox/index.js +59 -0
  349. package/bin/runners/lib/sandbox/proof-chain.js +399 -0
  350. package/bin/runners/lib/sandbox/sandbox-runner.js +205 -0
  351. package/bin/runners/lib/sandbox/worktree.js +174 -0
  352. package/bin/runners/lib/scan-cache.js +330 -0
  353. package/bin/runners/lib/scan-output-schema.js +344 -0
  354. package/bin/runners/lib/scan-output.js +631 -0
  355. package/bin/runners/lib/scan-runner.js +135 -0
  356. package/bin/runners/lib/schema-validator.js +350 -0
  357. package/bin/runners/lib/schemas/ajv-validator.js +464 -0
  358. package/bin/runners/lib/schemas/contracts.schema.json +160 -0
  359. package/bin/runners/lib/schemas/error-envelope.schema.json +105 -0
  360. package/bin/runners/lib/schemas/finding-v3.schema.json +151 -0
  361. package/bin/runners/lib/schemas/finding.schema.json +100 -0
  362. package/bin/runners/lib/schemas/mission-pack.schema.json +206 -0
  363. package/bin/runners/lib/schemas/proof-graph.schema.json +176 -0
  364. package/bin/runners/lib/schemas/reality-report.schema.json +162 -0
  365. package/bin/runners/lib/schemas/report-artifact.schema.json +120 -0
  366. package/bin/runners/lib/schemas/run-request.schema.json +108 -0
  367. package/bin/runners/lib/schemas/share-pack.schema.json +180 -0
  368. package/bin/runners/lib/schemas/ship-manifest.schema.json +251 -0
  369. package/bin/runners/lib/schemas/ship-report.schema.json +117 -0
  370. package/bin/runners/lib/schemas/truthpack-v2.schema.json +303 -0
  371. package/bin/runners/lib/schemas/validator.js +465 -0
  372. package/bin/runners/lib/schemas/verdict.schema.json +140 -0
  373. package/bin/runners/lib/score-history.js +282 -0
  374. package/bin/runners/lib/security-bridge.js +249 -0
  375. package/bin/runners/lib/server-usage.js +513 -0
  376. package/bin/runners/lib/share-pack.js +239 -0
  377. package/bin/runners/lib/ship-gate.js +832 -0
  378. package/bin/runners/lib/ship-manifest.js +1153 -0
  379. package/bin/runners/lib/ship-output-enterprise.js +239 -0
  380. package/bin/runners/lib/ship-output.js +1128 -0
  381. package/bin/runners/lib/snippets.js +67 -0
  382. package/bin/runners/lib/status-output.js +340 -0
  383. package/bin/runners/lib/terminal-ui.js +356 -0
  384. package/bin/runners/lib/truth.js +1691 -0
  385. package/bin/runners/lib/ui.js +562 -0
  386. package/bin/runners/lib/unified-cli-output.js +947 -0
  387. package/bin/runners/lib/unified-output.js +197 -0
  388. package/bin/runners/lib/upsell.js +410 -0
  389. package/bin/runners/lib/usage.js +153 -0
  390. package/bin/runners/lib/validate-patch.js +156 -0
  391. package/bin/runners/lib/verdict-engine.js +628 -0
  392. package/bin/runners/lib/verification.js +345 -0
  393. package/bin/runners/lib/why-tree.js +650 -0
  394. package/bin/runners/reality/engine.js +917 -0
  395. package/bin/runners/reality/flows.js +122 -0
  396. package/bin/runners/reality/report.js +378 -0
  397. package/bin/runners/reality/session.js +193 -0
  398. package/bin/runners/runAIAgent.js +229 -0
  399. package/bin/runners/runAgent.d.ts +5 -0
  400. package/bin/runners/runAgent.js +161 -0
  401. package/bin/runners/runAllowlist.js +418 -0
  402. package/bin/runners/runApprove.js +320 -0
  403. package/bin/runners/runAudit.js +692 -0
  404. package/bin/runners/runAuth.js +731 -0
  405. package/bin/runners/runCI.js +353 -0
  406. package/bin/runners/runCheckpoint.js +530 -0
  407. package/bin/runners/runClassify.js +928 -0
  408. package/bin/runners/runCleanup.js +343 -0
  409. package/bin/runners/runContext.d.ts +4 -0
  410. package/bin/runners/runContext.js +175 -0
  411. package/bin/runners/runDoctor.js +877 -0
  412. package/bin/runners/runEvidencePack.js +362 -0
  413. package/bin/runners/runFirewall.d.ts +5 -0
  414. package/bin/runners/runFirewall.js +134 -0
  415. package/bin/runners/runFirewallHook.d.ts +5 -0
  416. package/bin/runners/runFirewallHook.js +56 -0
  417. package/bin/runners/runFix.js +1355 -0
  418. package/bin/runners/runForge.js +451 -0
  419. package/bin/runners/runGuard.js +262 -0
  420. package/bin/runners/runInit.js +1927 -0
  421. package/bin/runners/runIntent.js +906 -0
  422. package/bin/runners/runKickoff.js +878 -0
  423. package/bin/runners/runLabs.js +424 -0
  424. package/bin/runners/runLaunch.js +2000 -0
  425. package/bin/runners/runLink.js +785 -0
  426. package/bin/runners/runMcp.js +1875 -0
  427. package/bin/runners/runPacks.js +2089 -0
  428. package/bin/runners/runPolish.d.ts +4 -0
  429. package/bin/runners/runPolish.js +390 -0
  430. package/bin/runners/runPromptFirewall.js +211 -0
  431. package/bin/runners/runProve.js +1411 -0
  432. package/bin/runners/runQuickstart.js +531 -0
  433. package/bin/runners/runReality.js +2260 -0
  434. package/bin/runners/runReport.js +726 -0
  435. package/bin/runners/runRuntime.js +110 -0
  436. package/bin/runners/runSafelist.js +1190 -0
  437. package/bin/runners/runScan.js +688 -0
  438. package/bin/runners/runShield.js +1282 -0
  439. package/bin/runners/runShip.js +1660 -0
  440. package/bin/runners/runTruth.d.ts +5 -0
  441. package/bin/runners/runTruth.js +101 -0
  442. package/bin/runners/runValidate.js +179 -0
  443. package/bin/runners/runWatch.js +478 -0
  444. package/bin/runners/utils.js +360 -0
  445. package/bin/scan.js +617 -0
  446. package/bin/vibecheck.js +1617 -0
  447. package/dist/guardrail/index.d.ts +2405 -0
  448. package/dist/guardrail/index.js +9747 -0
  449. package/dist/guardrail/index.js.map +1 -0
  450. package/dist/scanner/index.d.ts +282 -0
  451. package/dist/scanner/index.js +3395 -0
  452. package/dist/scanner/index.js.map +1 -0
  453. package/package.json +123 -104
  454. package/README.md +0 -491
  455. package/dist/index.js +0 -99711
  456. package/dist/index.js.map +0 -1
package/README.md DELETED
@@ -1,491 +0,0 @@
1
- <p align="center">
2
- <img src="https://vibecheckai.dev/logo.png" alt="VibeCheck Logo" width="100" />
3
- </p>
4
-
5
- <h1 align="center">VibeCheck</h1>
6
-
7
- <h3 align="center">
8
- <strong>Stop AI Hallucinations. Ship Real Features.</strong>
9
- </h3>
10
-
11
- <p align="center">
12
- The security layer for AI-assisted development.<br/>
13
- Catches fake features, phantom APIs, and silent failures before they hit production.
14
- </p>
15
-
16
- <p align="center">
17
- <a href="https://www.npmjs.com/package/vibecheck-ai"><img src="https://img.shields.io/npm/v/vibecheck-ai.svg?style=flat-square&color=E040FB" alt="npm version" /></a>
18
- <a href="https://www.npmjs.com/package/vibecheck-ai"><img src="https://img.shields.io/npm/dm/vibecheck-ai.svg?style=flat-square&color=00E676" alt="npm downloads" /></a>
19
- <a href="https://github.com/vibecheckai/vibecheck"><img src="https://img.shields.io/github/stars/vibecheckai/vibecheck?style=flat-square&color=FFD54F" alt="github stars" /></a>
20
- <a href="https://github.com/vibecheckai/vibecheck/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square" alt="license" /></a>
21
- </p>
22
-
23
- <p align="center">
24
- <a href="https://vibecheckai.dev">Website</a> •
25
- <a href="https://vibecheckai.dev/docs">Docs</a> •
26
- <a href="https://vibecheckai.dev/discord">Discord</a> •
27
- <a href="https://twitter.com/vibecheckai">Twitter</a>
28
- </p>
29
-
30
- ---
31
-
32
- ## The Problem
33
-
34
- AI coding assistants are incredible. They're also **professional liars**.
35
-
36
- ```typescript
37
- // Cursor/Copilot generated this. TypeScript happy. Linter passes. Code review: LGTM.
38
-
39
- async function getUser(id: string): Promise<User> {
40
- return await fetch(`/api/v2/users/${id}`); // ❌ This endpoint doesn't exist
41
- }
42
-
43
- async function chargeCustomer(order: Order) {
44
- try {
45
- await stripe.charges.create(order); // ❌ Deprecated API since Stripe v3
46
- } catch (e) {
47
- // TODO: handle this later // ❌ Payment failures silently swallowed
48
- }
49
- }
50
-
51
- function getDashboardStats(): DashboardStats {
52
- return { users: 1247, revenue: 84350 }; // ❌ Hardcoded. This is fake data.
53
- }
54
- ```
55
-
56
- This code **compiles**. It **passes CI**. It gets **deployed**.
57
-
58
- Then your customers discover the payments don't work.
59
-
60
- ---
61
-
62
- ## The Solution
63
-
64
- **VibeCheck catches what linters can't.**
65
-
66
- ```bash
67
- $ vibecheck ship
68
-
69
- 🔍 Running pre-ship checks...
70
-
71
- ⛔ FAKE FEATURE: src/api/users.ts:4
72
- Endpoint /api/v2/users/{id} does not exist in your routes
73
- └─ AI generated a plausible URL that will 404 at runtime
74
-
75
- ⚠️ DEPRECATED API: src/payments.ts:8
76
- stripe.charges.create() was deprecated in Stripe SDK v3
77
- └─ Use stripe.paymentIntents.create() instead
78
-
79
- ⛔ SILENT FAILURE: src/payments.ts:11
80
- Empty catch block in payment flow
81
- └─ chargeCustomer() errors will be swallowed silently
82
-
83
- ⚠️ MOCK DATA: src/dashboard.ts:16
84
- getDashboardStats() returns hardcoded values
85
- └─ This will never reflect actual database data
86
-
87
- Ship Status: BLOCKED (4 issues found)
88
- ```
89
-
90
- **Before it ships. Not after the Slack message at 3am.**
91
-
92
- ---
93
-
94
- ## Quick Start
95
-
96
- ```bash
97
- # Install globally
98
- npm install -g vibecheck-ai
99
-
100
- # Or run with npx (no install)
101
- npx vibecheck-ai
102
-
103
- # Initialize in your project
104
- cd your-project
105
- vibecheck link
106
-
107
- # Run pre-ship checks
108
- vibecheck ship
109
- ```
110
-
111
- That's it. Issues appear immediately.
112
-
113
- ---
114
-
115
- ## Features
116
-
117
- ### 🚀 Ship Command — Pre-Deployment Security Gate
118
-
119
- Run 10+ checks before every deployment:
120
-
121
- ```bash
122
- vibecheck ship # Full pre-deployment analysis
123
- vibecheck ship --fix # Auto-fix issues automatically
124
- vibecheck ship --force # Ship anyway (not recommended)
125
- ```
126
-
127
- **Checks include:**
128
- - Truthpack validation (routes, env vars, auth)
129
- - Hallucination detection (fake APIs, deprecated methods)
130
- - Secret scanning (API keys, tokens, credentials)
131
- - Silent failure detection (empty catches, swallowed errors)
132
- - Mock data finder (hardcoded values in production code)
133
- - Drift detection (changes from verified baseline)
134
- - 80+ security patterns
135
-
136
- ---
137
-
138
- ### 🎯 Reality Mode — Actually Run Your Code
139
-
140
- Static analysis can't catch everything. Reality Mode uses Playwright to **actually execute your code**:
141
-
142
- ```bash
143
- vibecheck reality run # Run scenarios and generate proof
144
- vibecheck reality report # View detailed proof report
145
- ```
146
-
147
- - Spins up real test environments
148
- - Makes actual API calls
149
- - Validates responses match expectations
150
- - Catches lies that static analysis misses
151
- - Generates cryptographic proof bundles
152
-
153
- ---
154
-
155
- ### 🛡️ Truthpack — Your Project's Source of Truth
156
-
157
- VibeCheck extracts verified facts about your codebase:
158
-
159
- ```bash
160
- vibecheck scan # Generate truthpack
161
- vibecheck audit --mode validate file.ts # Validate files vs truthpack
162
- ```
163
-
164
- **What gets extracted:**
165
- - **Routes** — API endpoints with methods, paths, handlers
166
- - **Environment** — Required env vars with types and defaults
167
- - **Auth** — Authentication strategies and protected routes
168
- - **Database** — Schema definitions and relationships
169
- - **Dependencies** — Package versions and compatibility
170
-
171
- AI assistants reference this to stay grounded in reality.
172
-
173
- ---
174
-
175
- ### 🔒 Code Firewall — Lock Critical Files
176
-
177
- Protect sensitive files from AI modifications:
178
-
179
- ```javascript
180
- // vibecheck.config.mjs
181
- export default {
182
- firewall: {
183
- locked: ['.env*', 'src/core/**', 'credentials.json'],
184
- warn: ['package.json', 'tsconfig.json'],
185
- }
186
- };
187
- ```
188
-
189
- ---
190
-
191
- ### 📊 Enterprise Reports
192
-
193
- Generate beautiful HTML/PDF reports for compliance:
194
-
195
- ```bash
196
- vibecheck report # Generate HTML report
197
- vibecheck report --pdf # Generate PDF report
198
- vibecheck report --json # Machine-readable output
199
- ```
200
-
201
- ---
202
-
203
- ## All Commands
204
-
205
- | Command | Aliases | Description |
206
- |---------|---------|-------------|
207
- | `vibecheck link` | init, setup, configure | **Link project** — Initialize VibeCheck and create config |
208
- | `vibecheck audit` | check, validate | **Full audit** — Validate files vs truthpack + hallucination/drift detection |
209
- | `vibecheck scan` | — | Scan codebase and generate truthpack (.vibecheck/truthpack) |
210
- | `vibecheck ship` | — | **Pre-deployment security checks** |
211
- | `vibecheck quickstart` | start | Interactive setup wizard for new users |
212
- | `vibecheck certify` | verify | Full certification: Reality + Chaos → Badge |
213
- | `vibecheck status` | — | Show active modules and last run info |
214
- | `vibecheck reality run` | — | Run Reality Mode with proof generation |
215
- | `vibecheck missions` | — | View fix missions grouped by category |
216
- | `vibecheck fix` | — | Apply auto-fixes for detected issues |
217
- | `vibecheck forge` | — | Generate AI context rules for Cursor/Windsurf |
218
- | `vibecheck trace` | — | Trace data flow from sources to sinks |
219
- | `vibecheck github` | — | Set up GitHub Action for CI gate |
220
- | `vibecheck report` | — | Generate enterprise-grade reports |
221
- | `vibecheck badge` | — | Generate Ship Score badges for README |
222
- | `vibecheck config` | — | View or edit configuration |
223
- | `vibecheck doctor` | — | Validate system dependencies |
224
- | `vibecheck menu` | — | Open interactive menu |
225
-
226
- ---
227
-
228
- ## Security Scanner
229
-
230
- Industry-leading detection with **80+ patterns**:
231
-
232
- <details>
233
- <summary><strong>🔑 Credentials (click to expand)</strong></summary>
234
-
235
- - AWS Access Keys & Secrets
236
- - GitHub Tokens (PAT, OAuth, App)
237
- - Stripe API Keys (Live & Test)
238
- - OpenAI & Anthropic API Keys
239
- - Google Cloud Service Accounts
240
- - Azure Connection Strings
241
- - npm Tokens & Registry Auth
242
- - Database Passwords & URIs
243
- - JWT Secrets & Private Keys
244
- - SendGrid, Twilio, Mailgun Keys
245
-
246
- </details>
247
-
248
- <details>
249
- <summary><strong>🛡️ Security Vulnerabilities</strong></summary>
250
-
251
- - SQL Injection patterns
252
- - Cross-Site Scripting (XSS)
253
- - Command Injection
254
- - Server-Side Request Forgery (SSRF)
255
- - Path Traversal attacks
256
- - Open Redirect vulnerabilities
257
- - CORS misconfigurations
258
- - Missing Content Security Policy
259
- - Insecure cookie settings
260
- - Timing attack vectors
261
-
262
- </details>
263
-
264
- <details>
265
- <summary><strong>🤖 AI Hallucinations</strong></summary>
266
-
267
- - Non-existent npm packages
268
- - Deprecated React 18 patterns
269
- - Phantom API endpoints
270
- - Fake environment variables
271
- - Made-up method names
272
- - Placeholder URLs (localhost, example.com)
273
- - Outdated library versions
274
- - Incorrect TypeScript types
275
-
276
- </details>
277
-
278
- <details>
279
- <summary><strong>⚛️ Framework-Specific</strong></summary>
280
-
281
- - Next.js server action issues
282
- - React hooks violations
283
- - Express without Helmet
284
- - Missing auth middleware
285
- - Unsafe trust-proxy settings
286
- - setState in render patterns
287
- - Missing error boundaries
288
-
289
- </details>
290
-
291
- ---
292
-
293
- ## CI/CD Integration
294
-
295
- ### GitHub Actions
296
-
297
- ```yaml
298
- name: VibeCheck
299
- on: [push, pull_request]
300
-
301
- jobs:
302
- vibecheck:
303
- runs-on: ubuntu-latest
304
- steps:
305
- - uses: actions/checkout@v4
306
- - uses: actions/setup-node@v4
307
- with:
308
- node-version: '20'
309
- - run: npm install -g vibecheck-ai
310
- - run: vibecheck ship --ci
311
- env:
312
- VIBECHECK_API_KEY: ${{ secrets.VIBECHECK_API_KEY }}
313
- ```
314
-
315
- ### Pre-commit Hook
316
-
317
- ```json
318
- {
319
- "husky": {
320
- "hooks": {
321
- "pre-commit": "vibecheck audit"
322
- }
323
- }
324
- }
325
- ```
326
-
327
- ### GitLab CI
328
-
329
- ```yaml
330
- vibecheck:
331
- stage: test
332
- script:
333
- - npm install -g vibecheck-ai
334
- - vibecheck ship --ci
335
- ```
336
-
337
- ---
338
-
339
- ## IDE Integration
340
-
341
- ### Cursor (MCP Server)
342
-
343
- ```bash
344
- npm install -g @vibecheckai/mcp-server
345
- ```
346
-
347
- ```json
348
- // .cursor/mcp.json
349
- {
350
- "mcpServers": {
351
- "vibecheck": {
352
- "command": "vibecheck-mcp"
353
- }
354
- }
355
- }
356
- ```
357
-
358
- ### VS Code Extension
359
-
360
- Install the [VibeCheck Extension](https://marketplace.visualstudio.com/items?itemName=vibecheckai.vibecheck) for:
361
- - Inline hallucination detection
362
- - Truthpack browser
363
- - Real-time firewall
364
- - One-click auto-fix
365
-
366
- ---
367
-
368
- ## Configuration
369
-
370
- Create `vibecheck.config.mjs` in your project root:
371
-
372
- ```javascript
373
- /** @type {import('vibecheck-ai').VibeCheckConfig} */
374
- export default {
375
- // Project metadata
376
- project: {
377
- name: 'my-app',
378
- type: 'nextjs', // 'nextjs' | 'react' | 'express' | 'fastify' | 'generic'
379
- },
380
-
381
- // What to analyze
382
- include: ['src/**/*.ts', 'src/**/*.tsx'],
383
- exclude: ['**/*.test.ts', '**/node_modules/**'],
384
-
385
- // Analysis settings
386
- analysis: {
387
- strictness: 'standard', // 'relaxed' | 'standard' | 'paranoid'
388
- checkDependencies: true,
389
- checkEnvVars: true,
390
- checkRoutes: true,
391
- },
392
-
393
- // File protection
394
- firewall: {
395
- locked: ['.env*', 'src/core/**'],
396
- warn: ['package.json'],
397
- },
398
-
399
- // Reality Mode
400
- reality: {
401
- scenarios: ['auth', 'api', 'forms'],
402
- timeout: 30000,
403
- },
404
- };
405
- ```
406
-
407
- ---
408
-
409
- ## Pricing
410
-
411
- | Feature | Free | Pro ($19/mo) |
412
- |---------|------|--------------|
413
- | CLI Commands | ✅ All | ✅ All |
414
- | Local Scans | ✅ Unlimited | ✅ Unlimited |
415
- | Security Patterns | ✅ 80+ | ✅ 80+ |
416
- | Projects | 3 | Unlimited |
417
- | Scan History | 7 days | 90 days |
418
- | Cloud Dashboard | ❌ | ✅ |
419
- | Team Collaboration | ❌ | ✅ |
420
- | API Access | ❌ | ✅ |
421
- | Verified Badges | ❌ | ✅ |
422
- | Priority Support | ❌ | ✅ |
423
-
424
- **All CLI commands are free forever.** Pro unlocks cloud features and team collaboration.
425
-
426
- ---
427
-
428
- ## Why VibeCheck?
429
-
430
- | Without VibeCheck | With VibeCheck |
431
- |-------------------|----------------|
432
- | AI invents fake APIs | References verified truthpack |
433
- | Runtime 404 errors | Compile-time detection |
434
- | Silent payment failures | Catches empty catch blocks |
435
- | Mock data in production | Detects hardcoded values |
436
- | Manual AI output review | Automated validation |
437
- | "Works on my machine" | Consistent team truth |
438
-
439
- ---
440
-
441
- ## Requirements
442
-
443
- - **Node.js** 18.0.0 or higher
444
- - **OS**: Windows, macOS, Linux
445
-
446
- **Optional for Reality Mode:**
447
- - Playwright (auto-installed on first use)
448
-
449
- ---
450
-
451
- ## Community
452
-
453
- - 💬 **Discord** — [Join our community](https://vibecheckai.dev/discord)
454
- - 🐦 **Twitter** — [@vibecheckai](https://twitter.com/vibecheckai)
455
- - 📦 **GitHub** — [vibecheckai/vibecheck](https://github.com/vibecheckai/vibecheck)
456
- - 📖 **Docs** — [vibecheckai.dev/docs](https://vibecheckai.dev/docs)
457
-
458
- ---
459
-
460
- ## Contributing
461
-
462
- We welcome contributions! See [CONTRIBUTING.md](https://github.com/vibecheckai/vibecheck/blob/main/CONTRIBUTING.md).
463
-
464
- ```bash
465
- # Clone the repo
466
- git clone https://github.com/vibecheckai/vibecheck.git
467
-
468
- # Install dependencies
469
- pnpm install
470
-
471
- # Run locally
472
- pnpm dev
473
- ```
474
-
475
- ---
476
-
477
- ## License
478
-
479
- MIT © [VibeCheck AI](https://vibecheckai.dev)
480
-
481
- ---
482
-
483
- <p align="center">
484
- <strong>Your AI writes the code. VibeCheck makes sure it works.</strong>
485
- </p>
486
-
487
- <p align="center">
488
- <a href="https://vibecheckai.dev">
489
- <img src="https://img.shields.io/badge/Get%20Started-E040FB?style=for-the-badge&logoColor=white" alt="Get Started" />
490
- </a>
491
- </p>