convex-deploy-guard

โดย get-convex

จำแนกและประกาศการดีพลอยต์ Convex เป้าหมายก่อนคำสั่งใดๆ ที่ส่งผลต่อการดีพลอยต์ ต้องได้รับความยินยอมอย่างชัดเจนใหม่สำหรับการดำเนินการในโปรดักชัน โหมดอ่านอย่างเดียวของเซสชัน

npx skills add https://github.com/get-convex/agent-skills --skill convex-deploy-guard

Deployment target guard

Deployments are not interchangeable, and most incidents start with a command aimed at the wrong one. Every Convex project has several (personal dev, preview, prod — often across multiple projects on one machine). This guard is the standing discipline: identify, announce, then act — and treat prod as consent-gated, per action, per session.

Workflow

  1. IDENTIFY before you act: read CONVEX_DEPLOYMENT in .env.local, convex.json, and whether CONVEX_DEPLOY_KEY is set; or call the official Convex MCP status tool. Classify the target: local-anonymous | dev | preview | prod. If two sources disagree, resolve before proceeding.
  2. ANNOUNCE in one line before any deployment-affecting command: target: dev (joyful-capybara-123, personal dev). Never run the command in the same breath as discovering the target — announce first.
  3. PROD needs a FRESH explicit yes: before npx convex deploy (when it resolves to prod), npx convex run --prod, env set on prod, snapshot import/export on prod, or starting the MCP with prod access — state exactly what will change on which deployment and get an explicit yes in THIS session. A yes given earlier, or for a different target, does not carry.
  4. MCP safety defaults: start the official MCP scoped non-prod (--deployment dev). The two prod flags are DIFFERENT risk levels — keep them split: a read-only prod audit (advisor/insights reading data/logs/insights) passes ONLY --cautiously-allow-production-pii (read tools); --dangerously-enable-production-deployments (which enables MUTATING prod tools) stays OFF unless the user explicitly asked to CHANGE prod this session. Never pair them by default — 'look at prod' must not silently grant 'mutate prod'.
  5. READ-ONLY session mode: when the user says 'read-only' / 'don't change anything', honor it absolutely for the rest of the session — no deploy, no env set/remove, no mutations via run, no imports; start the MCP with --disable-tools run,envSet,envRemove.
  6. Wrong-deployment diagnosis: when a deploy 'didn't change anything', do NOT re-deploy harder. Re-run step 1 — the deploy almost certainly landed on a different deployment than the one being observed.
  7. Ambiguity = stop: if you cannot determine which deployment a command will hit, find out (status tool; compare npx convex env list fingerprints) — never guess.

Rules

  • Classify and announce the target BEFORE every deployment-affecting command — identification and action are two separate steps.
  • Prod consent is per-action, per-target, per-session: state what changes where, get a fresh explicit yes.
  • Keep the two prod MCP flags split by risk: --cautiously-allow-production-pii (read-only) for an audit; --dangerously-enable-production-deployments (mutating) only when the user explicitly asks to change prod. Both are user-spoken-only; default every MCP start to a non-prod deployment selector.
  • Read-only mode, once requested, is absolute for the session — including 'harmless' mutations.
  • A deploy that seemed to do nothing means the WRONG deployment changed — diagnose the target, don't re-run.
  • This guard composes: ship, env, migrate, and seed run it as their step 0; it is not itself a deploy tool.

Skills เพิ่มเติมจาก get-convex

convex-performance-audit
get-convex
ตรวจสอบประสิทธิภาพของ Convex สำหรับการอ่าน การสมัครรับข้อมูล การแข่งขันในการเขียน และข้อจำกัดของฟังก์ชัน ใช้สำหรับฟีเจอร์ที่ช้า การค้นหาข้อมูลเชิงลึก ความขัดแย้งของ OCC หรือการขยายการอ่าน
developmentdatabasedata-analysis
convex
get-convex
กำหนดเส้นทางคำขอ Convex ทั่วไปไปยังทักษะโปรเจกต์ที่ถูกต้อง ใช้เมื่อผู้ใช้ถามว่าควรใช้ทักษะ Convex ใดหรือให้งานแอป Convex ที่ไม่ระบุรายละเอียดชัดเจน
developmentdatabase
convex-setup-auth
get-convex
ตั้งค่า Convex auth, การแมปข้อมูลประจำตัว และการควบคุมการเข้าถึง ใช้สำหรับการเข้าสู่ระบบ ผู้ให้บริการ auth ตารางผู้ใช้ ฟังก์ชันที่ได้รับการป้องกัน หรือบทบาทในแอป Convex
developmentdatabaseapi
convex-quickstart
get-convex
สร้างหรือเพิ่ม Convex ลงในแอป ใช้สำหรับโปรเจกต์ Convex ใหม่, npm create convex@latest, การตั้งค่าฟร้อนท์เอนด์, ตัวแปรสภาพแวดล้อม, หรือการรัน npx convex dev ครั้งแรก
developmentdatabase
convex-migration-helper
get-convex
วางแผนการย้ายสคีมาและข้อมูลของ Convex ด้วย widen-migrate-narrow และ @convex-dev/migrations ใช้สำหรับการเปลี่ยนแปลงสคีมาที่ส่งผลกระทบ การเติมข้อมูลย้อนหลัง การปรับเปลี่ยนตาราง หรือการปรับใช้แบบไม่หยุดทำงาน
developmentdatabase
convex-create-component
get-convex
สร้างส่วนประกอบ Convex ที่สามารถนำกลับมาใช้ใหม่ได้ โดยมีตารางที่แยกเป็นอิสระและ API ที่ใช้กับแอปพลิเคชัน ใช้สำหรับส่วนประกอบใหม่ โมดูลแบ็กเอนด์ที่ใช้ซ้ำได้ การผสานรวม หรืองานที่เกี่ยวข้องกับขอบเขตของส่วนประกอบ
developmentdatabase
convex-migrate
get-convex
ไมเกรต schema และเติมข้อมูลย้อนหลังบนแอป Convex ที่ใช้งานแล้วโดยใช้ @convex-dev/migrations
developmentdatabase
convex-optimize
get-convex
ตรวจสอบและเพิ่มประสิทธิภาพแอป Convex ที่มีอยู่: ความปลอดภัย การปรับขนาด การอัปเกรด การสังเกตการณ์