Add hidden App Doctor commands - #8429
Conversation
|
/snapit |
|
🫰✨ Thanks @jplhomer! Your snapshot has been published to npm. Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260828224943Caution After installing, validate the version by running |
Co-authored-by: AI (Pi/GPT-5.6 Sol) <noreply@pi.dev>
|
/snapit |
|
🫰✨ Thanks @jplhomer! Your snapshot has been published to npm. Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260831163348Caution After installing, validate the version by running |
Co-authored-by: AI (Pi/GPT-5.6 Sol) <noreply@pi.dev>
|
/snapit |
|
🫰✨ Thanks @jplhomer! Your snapshot has been published to npm. Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260831165144Caution After installing, validate the version by running |
|
Can we make the scan command just |
Co-authored-by: AI (Pi/GPT-5.6 Sol) <noreply@pi.dev>
Problem
Shopify app developers need a Shopify-specific security review workflow that combines deterministic checks with structured prompts for deeper review by their coding agent. The coding-agent procedure should come from the same Shopify CLI build that owns the review artifacts rather than requiring developers to install AI Toolkit or copy a separately versioned skill.
The deterministic scanner must also treat the scanned repository and submitted findings as untrusted input. Unsupported or incomplete analysis must never be presented as a clean security grade.
Solution
Add hidden
shopify app doctorcommands directly to Shopify CLI.shopify app doctorapp-doctor-review.jsonwith versioned semantic checks for coding-agent follow-up;--findings <file>to validate agent results and compile them into the trace;high | medium | low | noneCI blocking;Security boundaries
shopify app doctor instructions--copyand--write <path>;shopify app doctorinvocation;Both commands remain callable but hidden from normal command listings while the workflow is in development. The engine lives inside
@shopify/app;shopify app doctor submitremains reserved for future authenticated upload.Risk
This adds a substantial local scanner and a new trace schema. Static analysis cannot prove an app secure, so the implementation explicitly records incomplete coverage and withholds a grade rather than reporting a false clean result. The command does not reuse the unrelated
DoctorSuiterelease-test harness.Top-hatting
Run a scan:
Print, copy, or write coding-agent instructions:
After completing the generated review pack:
Verification
shopify app doctorandshopify app doctor instructions.git diff --checkpasses.