integration-test-elysia-applisted
Install: claude install-skill labspangaea/pangaealabs-claude-plugins-marketplace
# Skill: integration-test-elysia-app
End-to-end runtime verification for services scaffolded by `elysia-scaffolder`.
The driver lives at `${CLAUDE_SKILL_DIR}/scripts/run.sh` — do a friendly pre-flight,
invoke it, and translate the output.
It renders the `api+postgres+redis` combo from the **live templates** (so it tests the
actual `.tmpl` files, not a fixture), brings up docker, seeds 25 rows, boots the service
in `SERVICE_BACKEND=real` mode, and asserts the full sequence.
## Step 1 — Pre-flight
```bash
for cmd in bun docker jq curl; do command -v "$cmd" >/dev/null || { echo "MISSING: $cmd"; exit 2; }; done
echo "preflight OK"
```
Surface any missing tool to the user (one-command fixes). Do not install on their behalf.
`@labspangaea/ts-lib` is a public npm package — `bun install` pulls it from the public
registry, so there is nothing to check out or point at locally.
## Step 2 — Invoke
```bash
${CLAUDE_SKILL_DIR}/scripts/run.sh
```
The script handles everything: render → `docker compose up -d --wait` → `bun install` →
`tsc --noEmit` → seed → boot on `:8099` → assertions → SIGTERM. The rendered package.json
pins the public `@labspangaea/ts-lib` (`^0.1.0`), so `bun install` fetches it from the
public registry — no local checkout or repointing.
## Step 3 — Report
The script prints `[pass]`/`[FAIL]` per assertion and a final `N passed, N failed`. The
assertions: `create+get round-trip`, `created_at valid ISO`, `cursor page1 = 10`,
`page1/page2 no overlap`, `redis cache