The UI exists. The outcome does not.
A signup, checkout, contact form, or CLI command can look complete while never reaching a handler, database, integration, or filesystem write.
Evidence-backed production readiness
Zeno traces critical user flows, detects launch blockers, and turns repository evidence into a clear readiness verdict before users find what is broken.
npx zenoai For JavaScript, TypeScript, JSX, and TSX projects.
developer@mac acme-dashboard % npx zenoai ░█████████ ░██ ░██ ░███████ ░████████ ░███████ ░███ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░█████████ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░█████████ ░███████ ░██ ░██ ░███████ 💎 Zeno v0.2.0 One function. One purpose. Everything else is negotiation. ? What do you want Zeno to do for acme-dashboard? ❯ Tell me if this is safe to ship Make this code easier to work with Split large files Check for security risks ✔ What do you want Zeno to do for acme-dashboard? Tell me if this is safe to ship action: tell-me-if-this-is-safe-to-ship ✔ Scanning routes, dependencies, scripts, and environment usage ✔ Found 38 files found (41) → sending (38) skipped: next-env.d.ts, generated types, lockfile AI review Provider : openrouter Model : anthropic/claude-sonnet-4.6 Calls : 1 model call + 1 formatting retry if needed ✔ Proceed with this AI review? Yes ✔ Detected project type: SaaS app [High confidence] ✔ Built deterministic launch findings ⠙ Validating structured output… ✔ Generated and validated structured report ✔ Zeno — done (24s) ━━━ ZENOAI — SHIP READINESS REPORT ━━━ Project : acme-dashboard Reviewed by : Engineering Manager Project type: saas_app [High confidence] Files : 38 Date : 24 Jun 2026, 15:12 Verdict Not yet [High risk] Confidence High Founder summary The dashboard has unverified protected routes and an unsafe data-write path. Public launch should wait until authentication guards and write validation are confirmed. Issue summary ┌────────────────────────┬──────────┬──────────┐ │ Category │ Found │ Showing │ ├────────────────────────┼──────────┼──────────┤ │ Hard blockers │ 2 │ 2 │ ├────────────────────────┼──────────┼──────────┤ │ Soft blockers │ 2 │ 2 │ ├────────────────────────┼──────────┼──────────┤ │ Code ownership risks │ 1 │ 1 │ └────────────────────────┴──────────┴──────────┘ Top issues ┌────────────┬────────────┬──────────────────────┬─────────────────────────────────────────┐ │ Category │ Severity │ Certainty │ Issue │ ├────────────┼────────────┼──────────────────────┼─────────────────────────────────────────┤ │ Hard │ High │ Needs verification │ Protected routes need verification │ ├────────────┼────────────┼──────────────────────┼─────────────────────────────────────────┤ │ Hard │ High │ Needs verification │ Data write needs validation │ ├────────────┼────────────┼──────────────────────┼─────────────────────────────────────────┤ │ Soft │ Medium │ Confirmed │ Missing error-state UI │ ├────────────┼────────────┼──────────────────────┼─────────────────────────────────────────┤ │ Soft │ Medium │ Confirmed │ No production monitoring │ ├────────────┼────────────┼──────────────────────┼─────────────────────────────────────────┤ │ Ownership │ Medium │ Confirmed │ Dashboard route is monolithic │ └────────────┴────────────┴──────────────────────┴─────────────────────────────────────────┘ Hard blockers 1. Protected routes need verification High [Needs verification] Evidence: Dashboard and settings routes were detected, but no route guard or session check was found. Risk: Unauthenticated users may access protected application screens. Fix: Add and verify middleware or server-side session checks for every protected route. 2. Data write needs validation/error handling High [Needs verification] Evidence: A POST route writes to the database without an obvious schema validation or error-handling path. Risk: Invalid input may corrupt data or fail without useful feedback. Fix: Validate request input with a schema and return explicit error responses. Soft blockers 1. Missing user-facing error states Medium [Confirmed] Evidence: The primary data form handles success but has no visible error state. Risk: Failed writes may leave users unsure whether their action completed. Fix: Add explicit pending, success, and error states around the write path. 2. No production monitoring detected Medium [Confirmed] Evidence: No error monitoring or application-health integration was found. Risk: Authentication and write failures may reach users before the team sees them. Fix: Add error monitoring before public launch. Code ownership risks 1. Dashboard route is a 914-line file with 24 functions Medium [Confirmed] Evidence: app/dashboard/page.tsx contains data fetching, mutations, filters, table state, and presentation in one route file. Risk: Future edits may break unrelated dashboard behavior. Fix: After launch paths are verified, split data access and table sections. Can ship? Private preview: Maybe Internal review only while route protection is verified. Public launch: No Protected routes and the primary write path are unverified. Paid traffic: No Do not acquire users into an unverified auth and write flow. Safest next step Verify authentication guards and validate the primary data-write path before refactoring. Deterministic findings saved: 5 launch findings Full report saved: .zeno/reports/ship-readiness-2026-06-24-15-12.json
The problem
A polished interface and a successful build do not prove that signup, checkout, lead capture, authentication, or data writes complete the outcome users expect.
A signup, checkout, contact form, or CLI command can look complete while never reaching a handler, database, integration, or filesystem write.
A landing page, SaaS dashboard, backend API, and developer tool need different readiness rubrics and different critical-path checks.
AI reviews often sound certain without showing whether a finding came from code, configuration, an inference, or something that still needs runtime verification.
Large files and missing tests matter, but they should not outrank a broken capture form, an unprotected route, or a data write that never completes.
Why Zeno
Zeno combines deterministic repository analysis with bounded AI synthesis. It adapts the rubric to the project, shows the evidence behind each risk, and keeps runtime uncertainty visible.
Zeno identifies the kind of product it is reviewing, assigns a confidence score, and asks for confirmation when the repository is ambiguous.
Deterministic repository analysis inspects routes, source patterns, dependencies, scripts, tests, metadata, environment usage, and critical action flows before AI synthesis.
A private preview, public launch, and paid traffic campaign do not carry the same standard. Zeno evaluates readiness for the launch you are actually planning.
Every finding is marked Confirmed, Likely, Needs verification, or Inferred, so static evidence is never presented as runtime proof.
Four ways to run Zeno
Ship readiness is the anchor: can this product deliver its intended outcome? Security scanning, guarded cleanup, and deterministic file splitting support that decision before and after launch.
Zeno identifies what the user is supposed to do, then checks whether repository evidence connects that action to a real outcome. It separates launch blockers from technical debt and flags what still needs runtime verification.
Zeno filters out generated files, framework boilerplate, and high-consequence untested code before cleanup. It favors contained improvements and skips files when the safest change is no change.
The deterministic split action moves static constants, types, and configuration into smaller files. It does not use AI or attempt broad logic rewrites.
The local static scan checks for exposed secrets, unsafe configuration, risky routes, insecure data handling, and related repository signals. It is a fast safety check, not a replacement for a security audit.
Risk classification
Failures that stop the product's critical path or make the intended launch unsafe, such as an unwired form, broken auth guard, or missing durable write.
Important gaps that may be acceptable for a private preview but should be resolved before a broader public launch or paid acquisition.
Maintainability and safety-net gaps that increase future change risk without being mislabeled as immediate launch failures.
Confirmed, Likely, Needs verification, and Inferred labels show how strongly the repository supports each conclusion.
Workflow
Start with npx zenoai. Zeno scans the repository structure, source patterns, routes, dependencies, scripts, tests, metadata, and environment usage.
Check ship readiness, scan security risks, make the code easier to work with, or split clearly extractable content from large files.
See the critical path, blocker class, severity, certainty, project type, launch context, and the repository evidence behind each finding.
Take the safest next step, rerun Zeno, or open the local HTML report. Export CSV, or use the browser's print dialog to save a PDF.
Local reporting
Run the review locally, inspect the evidence, then act on the safest next step.
npx zenoai npx zenoai help npx zenoai reset npx zenoai reset-history npx zenoai clear-report npx zenoai report list npx zenoai report open latest Beta updates
Get release notes and occasional product research invites. No spam.
Why project-aware review matters
FAQ
Zeno is a ship-readiness copilot for vibe-coded apps. It offers four actions: tell me if this is safe to ship, make this code easier to work with, split large files, and check for security risks.
No. Zeno uses repository evidence and static analysis to trace whether critical flows appear wired. It explicitly identifies findings that need runtime verification and does not replace end-to-end testing, monitoring, or manual review.
Zeno detects landing pages, SaaS apps, dashboards, developer tools and CLIs, backend APIs, documentation sites, and ecommerce projects. It stores a confirmed selection in .zeno/project.json when detection is ambiguous.
Each launch context has a different tolerance for incomplete flows and operational gaps. Zeno makes the context explicit so a preview-level recommendation is not mistaken for public or paid-traffic readiness.
Security scanning and large-file splitting are deterministic local actions and do not require an API key. Ship-readiness analysis combines local static analysis with AI synthesis. Guarded cleanup uses the configured provider for selected files.
Yes. Zeno saves complete reports locally as JSON, HTML, and CSV. Open the printable HTML report and use your browser's Print / Save as PDF option when you need a PDF.
Any tool that leaves code behind in your repository, including Codex, Claude Code, Cursor, Windsurf, Copilot, ChatGPT, and local scripts.
Zeno currently focuses on JavaScript, TypeScript, JSX, and TSX projects.