--- name: DramaFinder Setup description: Runbook for adding DramaFinder + Playwright to a Vaadin 25 project. Executed by Claude after the user confirms the setup plan. --- # DramaFinder Setup Runbook This file is a runbook for Claude to execute after the user confirms the setup plan in SKILL.md Step 1. Do not relay it to the user as documentation — perform the steps. ## Constants - `KNOWN_LATEST = 1.1.1` — fallback version if Maven Central lookup fails. Bump when the library releases. ## Step 1 — Resolve the latest version Run: ```bash curl -s "https://repo1.maven.org/maven2/org/vaadin/addons/dramafinder/maven-metadata.xml" \ | grep -o '[^<]*' | sed 's/<[^>]*>//g' ``` If the command returns a non-empty version string, use it. Otherwise, use `KNOWN_LATEST`. ## Step 2 — Edit `pom.xml` Two edits, both in `pom.xml`: ### 2a. Add the version property Inside ``, add: ```xml RESOLVED_VERSION ``` Replace `RESOLVED_VERSION` with the value from Step 1. If a `` property already exists, leave it alone. ### 2b. Add the dependencies Inside ``, add (skip whichever is already present): ```xml com.microsoft.playwright playwright test org.vaadin.addons dramafinder ${dramafinder.version} test ``` Note the groupId is `org.vaadin.addons` (not `org.vaadin.addons.dramafinder`). ## Step 3 — Copy `SpringPlaywrightIT` (Spring Boot projects only) Skip this step entirely if the project is not a Spring Boot project. If `find src/test/java -name SpringPlaywrightIT.java` already returns a result, skip — the file exists and will be used as-is. Otherwise: 1. **Find the base package** by locating the class annotated with `@SpringBootApplication` under `src/main/java`. Take its package (e.g., `com.example.app`). 2. **Target package** is `.it.support` (e.g., `com.example.app.it.support`). 3. **Read** `templates/SpringPlaywrightIT.java.tmpl` from this skill directory. 4. **Substitute** `{{PACKAGE}}` with the target package. 5. **Write** the result to `src/test/java//it/support/SpringPlaywrightIT.java`. ## Step 4 — Confirm dependencies resolve Optional but recommended: run `mvn -q dependency:resolve` to surface any pom syntax errors before generating tests. Skip if the user wants to proceed without compile-time verification. ## Debugging with a visible browser (informational) To run tests with a visible browser, pass `-Dheadless=false`: ```bash mvn -Dit.test=MyViewIT -Dheadless=false verify ``` A `debug-ui` profile can be added to `pom.xml` for shorthand `-Pdebug-ui`. Mention this only if the user asks about debugging.