diff --git a/plugins/compound-engineering/.claude-plugin/plugin.json b/plugins/compound-engineering/.claude-plugin/plugin.json index a2e0a2e..d23dc42 100644 --- a/plugins/compound-engineering/.claude-plugin/plugin.json +++ b/plugins/compound-engineering/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "compound-engineering", - "version": "2.15.0", + "version": "2.15.1", "description": "AI-powered development tools. 27 agents, 19 commands, 13 skills, 2 MCP servers for code review, research, design, and workflow automation.", "author": { "name": "Kieran Klaassen", diff --git a/plugins/compound-engineering/CHANGELOG.md b/plugins/compound-engineering/CHANGELOG.md index 216f1be..ccf9ab9 100644 --- a/plugins/compound-engineering/CHANGELOG.md +++ b/plugins/compound-engineering/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to the compound-engineering plugin will be documented in thi The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.15.1] - 2025-12-18 + +### Changed + +- **`/workflows:review` command** - Section 7 now detects project type (Web, iOS, or Hybrid) and offers appropriate testing. Web projects get `/playwright-test`, iOS projects get `/xcode-test`, hybrid projects can run both. + ## [2.15.0] - 2025-12-18 ### Added diff --git a/plugins/compound-engineering/commands/workflows/review.md b/plugins/compound-engineering/commands/workflows/review.md index b90bcd7..9d26516 100644 --- a/plugins/compound-engineering/commands/workflows/review.md +++ b/plugins/compound-engineering/commands/workflows/review.md @@ -425,19 +425,52 @@ After creating all todo files, present comprehensive summary: ``` -### 7. Playwright Testing (Optional) +### 7. End-to-End Testing (Optional) + + + +**First, detect the project type from PR files:** + +| Indicator | Project Type | +|-----------|--------------| +| `*.xcodeproj`, `*.xcworkspace`, `Package.swift` (iOS) | iOS/macOS | +| `Gemfile`, `package.json`, `app/views/*`, `*.html.*` | Web | +| Both iOS files AND web files | Hybrid (test both) | + + -After presenting the Summary Report, ask the user: -**"Want to run Playwright tests on the affected pages?"** +After presenting the Summary Report, offer appropriate testing based on project type: + +**For Web Projects:** +```markdown +**"Want to run Playwright browser tests on the affected pages?"** 1. Yes - run `/playwright-test` -2. No - skip to next steps +2. No - skip +``` + +**For iOS Projects:** +```markdown +**"Want to run Xcode simulator tests on the app?"** +1. Yes - run `/xcode-test` +2. No - skip +``` + +**For Hybrid Projects (e.g., Rails + Hotwire Native):** +```markdown +**"Want to run end-to-end tests?"** +1. Web only - run `/playwright-test` +2. iOS only - run `/xcode-test` +3. Both - run both commands +4. No - skip +``` + -#### If User Accepts: +#### If User Accepts Web Testing: -Spawn a subagent to run the tests (preserves main context): +Spawn a subagent to run Playwright tests (preserves main context): ``` Task general-purpose("Run /playwright-test for PR #[number]. Test all affected pages, check for console errors, handle failures by creating todos and fixing.") @@ -452,7 +485,28 @@ The subagent will: 6. Create P1 todos for any failures 7. Fix and retry until all tests pass -**Alternatively**, user can run standalone: `/playwright-test [PR number]` +**Standalone:** `/playwright-test [PR number]` + +#### If User Accepts iOS Testing: + +Spawn a subagent to run Xcode tests (preserves main context): + +``` +Task general-purpose("Run /xcode-test for scheme [name]. Build for simulator, install, launch, take screenshots, check for crashes.") +``` + +The subagent will: +1. Verify XcodeBuildMCP is installed +2. Discover project and schemes +3. Build for iOS Simulator +4. Install and launch app +5. Take screenshots of key screens +6. Capture console logs for errors +7. Pause for human verification (Sign in with Apple, push, IAP) +8. Create P1 todos for any failures +9. Fix and retry until all tests pass + +**Standalone:** `/xcode-test [scheme]` ### Important: P1 Findings Block Merge