$npx -y skills add AdamBien/airails --skill continuous-testingContinuous test-driven development loop — after every code change, builds the project, starts the server, and runs Unit Tests, Integration Tests, and System Tests. Applies on top of microprofile-server skill. Use during development when you want full verification after each chang
| 1 | Continuous test-driven development loop using $ARGUMENTS. Apply all rules from `/microprofile-server`, plus the verification loop below. |
| 2 | |
| 3 | ## Server Lifecycle |
| 4 | |
| 5 | - start Quarkus in dev mode (`mvn quarkus:dev`) once at the beginning of the session |
| 6 | - keep the server running across changes — Quarkus dev mode handles live reload automatically |
| 7 | - only restart the server on major errors (e.g., server crash, port conflict, unrecoverable startup failure) |
| 8 | - do not stop and restart the server between changes |
| 9 | |
| 10 | ## Verification Loop |
| 11 | |
| 12 | After every code change, execute the following steps in order: |
| 13 | |
| 14 | 1. **Build & Unit Tests** — run `mvn test` in the service module to compile and execute unit tests |
| 15 | 2. **Integration Tests** — run `mvn verify` in the service module to execute integration tests (failsafe plugin) |
| 16 | 3. **System Tests** — before running, verify that the `-st` module's `pom.xml` includes the `maven-failsafe-plugin` configuration. Then run `mvn verify` in the `-st` module against the running server (already running in dev mode) |
| 17 | |
| 18 | ## Rules |
| 19 | |
| 20 | - do not skip any step — every change triggers the full loop |
| 21 | - if unit tests fail, stop and fix before proceeding to integration tests |
| 22 | - if integration tests fail, stop and fix before proceeding to system tests |
| 23 | - if system tests fail, stop and fix before continuing with the next change |
| 24 | - report the outcome of each step before proceeding to the next |
| 25 | - treat compilation errors as a failed step — fix before continuing |
| 26 | - keep the loop running until all steps pass or the user intervenes |