What problem does it solve?
Adding a new trigger type to Windmill touches dozens of files across the Rust backend, Svelte frontend, TypeScript CLI, OpenAPI spec, and database migrations, and missing any one of them causes silent regressions like dropped triggers during sync, broken capture buttons, or lost triggers in workspace forks.
Core Features & Use Cases
- Complete file checklist: Enumerates every file that must change, from SQLx migrations and the
windmill-trigger-{kind} crate to sidebar entries, icons, and hardcoded trigger-kind arrays in ACL, offboarding, and trash modules.
- Reference implementations: Points to GCP, Kafka, and Azure triggers as concrete patterns for push, pull, and streaming trigger architectures.
- Validation workflow: Provides exact
cargo check, ./update_sqlx.sh, and npm run check:fast commands plus a final PR checklist.
- Use Case: When implementing a new Azure Event Grid trigger, follow the checklist to wire the database migration with correct RLS policies, register the feature-gated backend routes, extend the CLI sync logic, and add the Svelte editor components without missing silent-failure hotspots.
Quick Start
Use the adding-a-trigger skill to walk me through every file I need to change to add a new MQTT-style trigger type to Windmill.