Doctor

Preflight for the current project. Run it before you switch from Composer. Exit non-zero when there is a blocker.

puck doctor
puck doctor --json

What it checks

  • Unsupported Composer plugins (Tier 3 refusal)
  • Repository types beyond Composer + path (not in 0.1)
  • Abandoned packages and platform hints (warnings)
  • Store path info

Example

$ puck doctor
warning: script `Composer\Config::disableProcessTimeout` is a Class::method callback puck skips or runs differently
info: PHP /usr/bin/php (8.4.23) (from PATH)
info: store ~/.puck/store — warm (index non-empty)
info: optimize-autoloader=true
ready to switch

Findings are severity: message lines, then a summary. Blockers (for example an allowed plugin with no native adapter) exit non-zero. Warnings do not block. Fix blockers, or stay on Composer for that project.