Files
NowChessSystems/CLAUDE.md
T
Janis 2df2fdeeb9
Build & Test (NowChessSystems) TeamCity build finished
feat: add memory structure documentation and update index (#5)
Reviewed-on: #5
2026-03-28 13:35:49 +01:00

59 lines
2.2 KiB
Markdown

# CLAUDE.md — NowChessSystems
## Stack
Scala 3.5.x · Quarkus + quarkus-scala3 · Hibernate/Jakarta · Lanterna TUI · K8s + ArgoCD + Kargo · Frontend TBD (Vite/React/Angular/Vue)
### Memory
Your memory is saved under .claude/memory/MEMORY.md.
## Structure
```
build.gradle.kts / settings.gradle.kts # root; include(":modules:<svc>") per service
modules/<svc>/build.gradle.kts + src/
docs/adr/ docs/api/ docs/unresolved.md
```
Versions in root `extra["VERSIONS"]`; modules read via `rootProject.extra["VERSIONS"] as Map<String,String>`.
## Commands
```bash
./gradlew build
./gradlew :modules:<svc>:build|test
./gradlew :modules:<svc>:test --tests "de.nowchess.<svc>.<Class>"
```
## Workflow
1. **Plan** — restate requirement, list files, flag risks. Proceed unless genuine ambiguity.
2. **Tests first** — cover only new behaviour.
3. **Implement** — no scope creep.
4. **Verify** — check each requirement; confirm green build.
## Scala/Quarkus Rules
- `given`/`using` only (no `implicit`); `Option`/`Either`/`Try` (no `null`/`.get`)
- `jakarta.*` only; reactive I/O (`Uni`/`Multi`), no blocking on event loop
- Always exclude `org.scala-lang:scala-library` from Quarkus BOM
- Unit tests: `extends AnyFunSuite with Matchers` — no `@Test`, no `: Unit`
- Integration tests: `@QuarkusTest` + JUnit 5 — `@Test` methods need explicit `: Unit`
## Coverage
Line ≥ 95% · Branch ≥ 90% · Method ≥ 90% (document exceptions)
Check: `jacoco-reporter/scoverage_coverage_gaps.py modules/{svc}/build/reports/scoverageTest/scoverage.xml`
⚠️ Use `scoverageTest/`, NOT `scoverage/`.
## Bug Fixing
Fix failures immediately without asking. After 3 failed attempts → log in `docs/unresolved.md` + surface summary.
## Agents (new service)
Sequential: architect → scala-implementer → test-writer → gradle-builder → code-reviewer (review only, no self-fix)
Parallel: only when services are fully independent (no shared contracts/state).
## Unresolved (`docs/unresolved.md`)
Append only, never delete:
```
## [YYYY-MM-DD] <title>
**Requirement/Bug:** **Root Cause:** **Attempted Fixes:** **Next Step:**
```
## Done Checklist
- [ ] Plan written · files created/modified · tests green · requirements verified · unresolved logged