diff --git a/.claude/CLAUDE.MD b/.claude/CLAUDE.MD index 1823cb4..5da2437 100644 --- a/.claude/CLAUDE.MD +++ b/.claude/CLAUDE.MD @@ -85,7 +85,7 @@ Create the file if it does not exist. Never delete existing entries. - `settings.gradle.kts` must include every module via `include(":modules:")`. - Architecture decisions go in `docs/adr/` as numbered Markdown files (`ADR-001-.md`). - API contracts live in `/docs/api/`. -- Unit tests extend `AnyFunSuite with Matchers with JUnitSuiteLike` — no `@Test` annotations, no `: Unit` requirement +- Unit tests extend `AnyFunSuite with Matchers` — no `@Test` annotations, no `: Unit` requirement - Integration tests use `@QuarkusTest` with JUnit 5 — `@Test` methods must be explicitly typed `: Unit` - Always exclude scala-library from Quarkus deps to avoid Scala 2 conflicts diff --git a/.claude/agents/code-reviewer.md b/.claude/agents/code-reviewer.md index 37696e8..0c7e612 100644 --- a/.claude/agents/code-reviewer.md +++ b/.claude/agents/code-reviewer.md @@ -23,7 +23,7 @@ report findings to team-leader, who re-invokes scala-implementer for fixes. - `@QuarkusTest` methods (JUnit 5) must be explicitly typed `: Unit` ### Tests -- Unit tests must extend `AnyFunSuite with Matchers with JUnitSuiteLike`, not plain JUnit 5 +- Unit tests must extend `AnyFunSuite with Matchers` - Integration tests use `@QuarkusTest` with JUnit 5 `@Test` methods - No raw `@Test` annotations on plain unit test classes diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 4c6280e..7ddfc9e 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -7,6 +7,6 @@ </profile> </component> <component name="VcsDirectoryMappings"> - <mapping directory="$PROJECT_DIR$" vcs="Git" /> + <mapping directory="" vcs="Git" /> </component> </project> \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index 85b9e46..cecf2a5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -45,13 +45,13 @@ The only current module is `core` (`modules/core`). - Jakarta annotations only (`jakarta.*`), never `javax.*`. - Use reactive types (`Uni`, `Multi`) for I/O; no blocking calls on the event loop. - **Always exclude `org.scala-lang:scala-library` from Quarkus BOM** to avoid Scala 2 conflicts. -- **Unit tests use `extends AnyFunSuite with Matchers with JUnitSuiteLike`** — ScalaTest DSL, no `@Test` annotations needed. +- **Unit tests use `extends AnyFunSuite with Matchers`** — ScalaTest DSL, no `@Test` annotations needed. - **Integration tests use `@QuarkusTest` with JUnit 5** — explicit `: Unit` return type still required on `@Test` methods. ### Agent Workflow (for new services) 1. **architect** → writes OpenAPI contract to `docs/api/{service}.yaml` and ADR to `docs/adr/`. 2. **scala-implementer** → reads contract, implements service under `modules/{service}/`. -3. **test-writer** → writes `@QuarkusTest` integration tests and `AnyFunSuite with Matchers with JUnitSuiteLike` unit tests. +3. **test-writer** → writes `@QuarkusTest` integration tests and `AnyFunSuite with Matchers` unit tests. 4. **gradle-builder** → resolves any build/dependency issues. 5. **code-reviewer** → reviews; reports findings back without self-fixing. diff --git a/modules/core/build.gradle.kts b/modules/core/build.gradle.kts index 29f9282..299068b 100644 --- a/modules/core/build.gradle.kts +++ b/modules/core/build.gradle.kts @@ -23,7 +23,7 @@ scoverage { } application { - mainClass.set("de.nowchess.chess.chessMain") + mainClass.set("de.nowchess.chess.Main") } tasks.withType<ScalaCompile> {