source/skills/doctor/SKILL.md
Preflight check — verifies the user's environment has everything Bodega needs (Node, package manager, Vercel CLI, gh CLI, Next.js if adapting). Reports clearly what's missing and how to fix it. Auto-invoked at the start of setup; can also be run standalone.
npx skillsauth add mitcheman/bodega doctorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A single-command environment check. Run before starting setup to know what's missing, or standalone any time you want to verify the machine is still good.
Critical (Bodega can't run at all without these):
Needed for deploy (warn but don't block here — the hosting skill
will install Vercel CLI if missing):
vercel)Optional (depending on features the user wants):
gh CLI (only for {{command_prefix}}bodega:backup)git (bundled on most systems; required for backup)Project-specific (only if a project is already present):
package.json — is this a Node project at all?.impeccable.md — design context available? (If absent, the
commerce SDK falls back to built-in tokens.).bodega.md — already set up? (setup won't clobber; reconfigure will.)Workspace-parent detection: if cwd has 2+ subdirectories that
contain package.json files, the cwd is a workspace parent (e.g.,
~/Developer/). Doctor reports this as a warning so the user knows
they're probably in the wrong directory before setup tries to
greenfield-scaffold over it.
Version floors (when a tool is present, doctor checks the major version too):
vercel CLI: floor 50.0.0. Stale CLIs miss commands and have known
auth bugs. Warn (don't block) if older.gh CLI: floor 2.40.0. Older versions miss repo create flags
bodega's backup skill uses.node {{scripts_path}}/check.mjs
(Or just invoke this skill — {{command_prefix}}bodega:doctor — and the
runtime handles the dispatch.)
The check script prints a table and exits 0 if all critical checks pass, exits 1 otherwise. Example output:
✓ Node 22.1.0 (>= 20 required)
✓ pnpm 9.12.0 (package manager)
✓ git 2.45.0
✗ Vercel CLI not installed → Run: npm i -g vercel
✓ gh CLI 2.60.0 (optional — for backup)
✓ Next.js 16.2.4 detected
✓ .impeccable.md present (design context available)
1 issue. Install missing tools and re-run /bodega:doctor.
If .bodega.md exists and sets mode: simple, soften the output:
Looking at your computer to make sure everything is ready...
✓ Node is installed (version 22.1, good)
✓ You have a package manager (pnpm 9.12)
✗ Vercel is not installed yet — I'll install it for you when we get to
the hosting step, or you can install it now with:
npm i -g vercel
Otherwise you're good to go. Run /bodega:setup when ready.
If .bodega.md is absent (first run), default to a neutral voice.
The {{command_prefix}}bodega:setup skill invokes doctor as its very
first step. If doctor reports any critical failures, setup halts and
tells the user to fix them first. Non-critical warnings are shown but
don't block.
The doctor script must always exit 0 on "warnings only" (e.g., Vercel CLI missing is a warning, not a failure) so setup can continue and let the hosting skill handle the install.
| Check | Critical if missing? |
|---|---|
| Node >= 20 | ✅ critical — halt |
| Any package manager | ✅ critical — halt |
| package.json in adapt mode | ⚠️ warning — mode may shift to greenfield |
| package.json in greenfield mode | — expected absent |
| Vercel CLI | ⚠️ warning — hosting skill installs |
| gh CLI | ⚠️ warning — only needed for backup |
| git | ⚠️ warning — only needed for backup |
| Stripe CLI | informational — never blocks |
doctor. It's read-only. Install
happens in the skill that actually uses the tool..bodega.md voice if present. Default to neutral if absent.development
Roll back a Bodega-provisioned project. Walks the user through removing the Vercel project, blob store, GitHub repo, Stripe webhook, and (optionally) `.bodega.md` itself. The merchant's Stripe account stays — that's their data.
business
Reports the current state of the store — what's set up, what's pending, what the URLs are, and what to do next.
testing
First-time Bodega setup. Detects whether the folder has an existing project (adapt) or is empty (greenfield), asks about voice and beneficiary, writes .bodega.md, and orchestrates the full flow through hosting, payments, deploy, and admin.
testing
Re-ask the voice and beneficiary questions and update .bodega.md. Useful when the user's preference changes or the store is being handed off to someone new.