Pro & Business Feature

34 rules that catch problems before deploy

Code Health Check scans your codebase for security issues, misconfigurations, missing dependencies, and build problems. Pure Rust engine -- no LLM required.

34 rules across 4 categories

Each rule is stack-aware. Node.js, Python, Go, and Rust each get tailored checks.

Security (12 rules)
Hardcoded secrets, missing HTTPS, exposed endpoints, insecure dependencies
Configuration (8 rules)
Missing .env.example, wrong ports, missing health checks, invalid config files
Dependencies (7 rules)
Outdated packages, unused dependencies, version conflicts, lockfile drift
Build (7 rules)
Missing Dockerfile, incorrect build commands, .dockerignore issues, multi-stage gaps

How it works

01

Push your code

Push to your repo or run sh0 check locally. The health check engine activates automatically on every deploy.

02

34 rules evaluated

Security, configuration, dependencies, and build rules -- all stack-specific. Node.js, Python, Go, and Rust each get tailored checks.

03

Issues categorized

Blocking issues stop the deploy. Auto-fixable problems are corrected automatically. Warnings are noted for your review.

04

Score displayed

An overall health score appears in your build logs and dashboard. Track code quality over time across all your apps.

The health check pipeline

Code Pushed
34 Rules Evaluated
Score Calculated
Blocking Issues?
Deploy or Fix

Runs in under 500 ms -- pure Rust, no external API calls, no LLM dependency

Everything you need

34 rules, zero config

No YAML files to write, no plugins to install. All 34 rules run automatically on every deploy with stack-aware logic.

4 severity levels

BLOCKING (must fix before deploy), AUTO-FIX (corrected automatically), WARNING (recommended), and PASSED. Clear priorities.

Pure Rust engine

No LLM, no external API calls. The entire engine runs locally in milliseconds. Works offline, no API key required.

Pre-deploy gate

Blocking issues prevent deployment entirely. Broken code never reaches production. Auto-fix issues are resolved in place.

CLI support

Run sh0 check [path] locally before pushing. Same 34 rules, same output. Catch problems before they hit the pipeline.

Health score

Numeric score for overall code quality. Visible in build logs, dashboard, and deploy history. Track improvements over time.

The old way

  • x Run ESLint, Bandit, clippy separately per stack
  • x Write CI pipeline rules from scratch
  • x Miss Docker-specific issues entirely
  • x No unified score or dashboard
  • x Broken code still deploys if checks pass
  • x Each tool has its own config format

The sh0 way

  • One engine, 34 rules, all stacks
  • Runs automatically on every deploy
  • Docker + build-specific checks included
  • Unified health score in dashboard
  • Blocking issues prevent broken deploys
  • Zero config -- works out of the box

Questions & answers

Can I add custom rules? +
Not yet. The 34 built-in rules cover the most common issues across all supported stacks. Custom rule support is on the roadmap.
Can I disable specific checks? +
Yes. Add a .sh0ignore file to your project root with the rule IDs you want to skip. Blocking rules can also be downgraded to warnings.
Which stacks are supported? +
Node.js (npm, yarn, pnpm), Python (pip, Poetry), Go (modules), and Rust (Cargo). Each stack gets tailored rules -- for example, Node.js checks for missing lockfiles while Rust checks for unsafe blocks.
Does it slow down builds? +
No. The health check runs in under 500 ms for most projects. It executes in parallel with the build pipeline, so it adds zero time to your deploy.

Ship with confidence. Every time.

34 rules catch security issues, misconfigurations, and build problems before they reach production. No setup required.