Skip to content

Next.js confidence ladder

In one sentence: ShipGate maps a Next.js app, shows where confidence is strong or uncertain, and gives a merge-time SHIP/NO_SHIP path without forcing a spec wall on day one.

ShipGate’s Next.js path is built around a simple contract:

  1. Understand — We scan App Router routes, pages, middleware hints, env usage, and integrations.
  2. Infershipgate spec bootstrap writes .shipgate/next-bootstrap/manifest.json and a draft ISL sketch.
  3. Orientshipgate doctor prints three bands (same idea as merge-time PR comments when enabled):
    • Baseline ready — surface mapped?
    • Review needed — open questions for humans (auth, env, side effects)? Not a mandatory spec wall for Tier‑1.
    • Enterprise blockers — patterns that should trigger extra scrutiny before calling the repo enterprise-grade.
  4. ShipCI=true shipgate next . --strict gives SHIP / NO_SHIP for baseline Tier‑1 (specless gate + tests).

Commands

Terminal window
shipgate doctor .
shipgate spec bootstrap .
CI=true shipgate next . --strict --no-provenance

Optional evidence for CI or PRs:

Terminal window
CI=true shipgate next . --strict --no-provenance \
--evidence-out .shipgate/shipgate-next-evidence.json \
--summary-out .shipgate/shipgate-next-summary.md

The Markdown summary includes an App understanding (bootstrap) section when artifacts exist.

Learn more (monorepo docs)

In the ShipGate source repository (this monorepo), open:

  • docs/public-demo-nextjs.md — public demo story + links to captured terminal proof.
  • docs/tier1-assurance-model.md — product decision: inferred baseline is permanent.
  • docs/tier1-ship-semantics.md — what --strict actually checks.
  • packages/shipgate-dashboard/README.md — flagship ladder and screenshot checklist.
  • docs/assets/flagship-proof/terminal-transcript.txt — real doctorbootstrap → strict SHIP capture.

GitHub PRs

When using the ShipGate PR Gate workflow (pnpm run shipgate:ci), the generated PR comment can open with Where you stand (Next.js) — the same band model as shipgate doctor — before gate findings. See docs/samples/pr-gate-with-app-understanding.sample.md in the repo.