Routing & Navigation
Dead ends, ghost routes, broken CTAs, blank Suspense pages.
- ›dead-end routes
- ›missing 404
- ›circular redirects
Periderm is a pre-launch codebase scanner that catches user-losing bugs, legal liabilities, revenue leaks, runaway cloud bills and so many more before they hit production. Run it locally in your terminal. You get three scores, the top embarrassment risks, and the exact files to open.
Periderm parses JS/TS/JSX with Babel, scans Dart and Swift sources, and handles monorepos smoothly.
AST checks, routes, error boundaries, SEO meta
framework detection, secrets, legal pages, SEO signals, JS/TS file checks
framework detection, secrets, legal pages, runtime checks on JS/TS
full AST checks — security, error handling, unused imports, SEO meta
framework detection, legal pages, SEO signals, JS/TS file checks
mobile patterns, OTA updates, native configs
HTTP/TLS, debug prints, pubspec signals
ATS config, entitlements, Info.plist patterns
▸ also scans .mjs and .cjs — override context with .periderm/context.json when needed.
AST + filesystem analysis. The boring, reliable layer that finds missing alt text, dead links, hardcoded secrets, absent error boundaries, and 100+ other patterns.
A Random Forest classifier trained on the PROMISE ant-1.7 software defect dataset scores every source file on five code metrics. Files with a predicted defect probability above 50% are flagged before you ship.
Groq-powered project classification understands monorepos, admin dashboards, and mobile apps — filtering false positives before they hit your report. Scale/Unlimited get deep review for edge cases static rules miss.
▸ the moat isn’t a secret prompt — it’s knowing what to observe before AI starts thinking.
Each check is an AST rule or a filesystem probe. No guessing, no "let me just ask an LLM." Evidence first, then interpretation.
Dead ends, ghost routes, broken CTAs, blank Suspense pages.
Unhandled promises, missing error boundaries, leaked listeners.
Protected routes you forgot to protect. Logout you forgot to ship.
You can be sued, fined, or taken down for compliance gaps you don't even know exist in your app.
Empty arrays, missing avatars, offline users, double-clicks.
Pages that feel frozen, infinite spinners, layout shift.
You can’t fix what you can’t see. Sentry, logs, analytics.
Silent corruption: missing validation, races, double submits.
Headers, secrets, dangerous HTML, CSRF, open redirects.
Sitemaps, OG tags, duplicate titles, placeholder content left behind.
Real humans use keyboards, screen readers, and contrast.
The financial DDoS. An infinite loop in a serverless function quietly bills you for a weekend.
“Launch” isn’t the day you go live. It’s every feature you build. Periderm CLI turns the question “will this make me lose users, revenue or get into legal trouble?” into a check you run on autopilot.
Named after the outer protective layer of a plant — the part that keeps the inside safe from the environment. Scans of plant periderms measure resilience, track healing from wounds, and study how effectively the plant blocks water loss and pathogen entry. That’s what we want this to be: a thin, reliable shell between your code and the chaos of production.
⚠ Detected severe compliance exposure in user onboarding. High risk of regulatory fines.
⚠ Identified fatal data integrity vulnerabilities. Malicious actors could silently corrupt records.
⚠ Discovered critical infrastructure exhaustion traps. Infinite loops could drain platform quotas overnight.
⚠ Found catastrophic information disclosure risks. Sensitive assets are exposed to public indexing.
Wire Periderm CLI into your CLI, your CI, or your editor save hook. Every change gets reviewed like a senior engineer just glanced over your shoulder.
$ periderm watch$ periderm scan$ periderm review --deepuser.avatar.url accessed without a fallback. Users without a photo will see a broken image.
Fetching data without a loading state. Users may perceive the page as frozen on slow networks.
Recursive call has no termination condition behind a feature flag — potential runaway invocation cost.
For makers who want a sanity check before shipping.
For people shipping fast with AI, on real users.
For teams where every release is a launch.
Your next feature is a launch. Make sure it doesn’t lose you the users you don’t know about yet.
requires Node.js 18+ · periderm command