v0.3.0 — now with --fix, --fix-barrels & Remix support
★ CLI is free & open source · MIT

Track client creep
across every PR.

Push analysis results from your CI pipeline. See how your client bundle evolves over time. Catch regressions before they ship.

Next.js 13–16RemixVite RSCMonorepo readyZero configCLI is open source

How it works

Three commands. Full visibility.

01

Run the CLI

Static analysis of your entire import graph. No running app required. Works on any Next.js, Remix, or Vite RSC project.

npx client-creep
02

Push to dashboard

Send results to your dashboard with one flag. Wire it into your CI pipeline to track every PR automatically.

npx client-creep --push --token <token>
03

Watch trends

See creep candidates, boundaries, and recoverable KB trend over time. Catch regressions the PR they're introduced.

→ dashboard shows delta per PR
zsh — ~/projects/my-next-app
❯ npx client-creep▌
────────────────────────────────────────────────────────────
client-creep Next.js client component analysis
────────────────────────────────────────────────────────────
Project: ~/projects/my-next-app
Files scanned: 534
Client components: 418 (182 boundaries)
Estimated JS: 2.29 MB (estimate — raw source bytes)
Recoverable: 237.4 KB (113 creep candidates)
────────────────────────────────────────────────────────────
⚠ Accidental Client Creep
⚠ src/components/EmptyState.tsx 19.7 KB recoverable
No client-only signals detected
⚡ src/app/chat/page.tsx ← use client
└─ src/components/index.ts
└─ src/components/EmptyState.tsx
⚠ src/components/ui/Badge.tsx 4.2 KB recoverable
No client-only signals detected

Dashboard features

Everything in one place

Trend charts per repo

Creep candidates and boundaries plotted over every push. See the moment your bundle started growing and trace it to the commit.

Delta per run

Every stat card shows the change since your last push — ▲ +3 or ▼ -2. Know instantly if a PR made things better or worse.

PR diff comments

The GitHub Action posts a comment on every pull request showing what changed: new creep introduced, boundaries added, KB recovered.

Creep candidates list

Per-repo list of files flagged as accidental client components — with the full import chain showing exactly why they ended up client.

Budget enforcement

Set a KB limit in your CI config. The action exits 1 if estimated client JS exceeds your threshold. Gate every merge.

Auto-fix commands

The settings page shows ready-to-run --fix and --fix-barrels commands pre-filled with your token. Fix and push in one step.

Pricing

Free to start

Free
$0
forever
✓Up to 3 repos
✓7 days history
✓Trend charts
✓Basic PR comments (totals only)
✓All CLI features
✓Auto-fix commands
Get started free
COMING SOON
Pro
$—
per month
✓Unlimited repos
✓Unlimited history
✓Trend charts
✓Detailed PR comments (file-level)
✓All CLI features
✓Auto-fix commands
✓Slack / email alerts
✓REST API access
✓Team seats (up to 5)
✓Org-wide view
✓Priority support
Join waitlist

Start tracking in two minutes.

Sign in with GitHub, copy your token, push your first analysis. Free forever for up to 3 repos.

Sign in with GitHub