2cec27d471
Build & Test (NowChessSystems) TeamCity build finished
- Full FEN parser tests - Json exporter with all move types covered - CastleKingside branch coverage Co-Authored-By: Claude Opus 4.6
2.0 KiB
2.0 KiB
name, description, type
| name | description | type |
|---|---|---|
| project-root-structure | Top-level project structure, modules list, and navigation notes for NowChessSystems | project |
NowChessSystems — Root Structure
Directory layout (skip build/, .gradle/, .idea/)
NowChessSystems/
├── build.gradle.kts # Root: sonarqube plugin, VERSIONS map
├── settings.gradle.kts # include(":modules:core", ":modules:api")
├── gradlew / gradlew.bat
├── CLAUDE.md # Project instructions for Claude Code
├── .claude/
│ ├── CLAUDE.MD # Working agreement (plan/verify/unresolved)
│ ├── settings.json
│ └── agents/ # architect, code-reviewer, gradle-builder, scala-implementer, test-writer
├── docs/
│ ├── Claude-Skills.md
│ ├── Security.md
│ └── unresolved.md
├── jacoco-reporter/ # Python scripts for coverage gap reporting
└── modules/
├── api/ # Shared domain types (no logic)
└── core/ # TUI chess engine + game logic
Modules
| Module | Gradle path | Purpose |
|---|---|---|
api |
:modules:api |
Shared domain model: Board, Piece, Move, GameState, ApiResponse |
core |
:modules:core |
TUI chess app: game logic, move validation, rendering |
core depends on api via implementation(project(":modules:api")).
VERSIONS (root build.gradle.kts)
| Key | Value |
|---|---|
QUARKUS_SCALA3 |
1.0.0 |
SCALA3 |
3.5.1 |
SCALA_LIBRARY |
2.13.18 |
SCALATEST |
3.2.19 |
SCALATEST_JUNIT |
0.1.11 |
SCOVERAGE |
2.1.1 |
Navigation rules
- Always skip
build/,.gradle/,.idea/when exploring — they are generated artifacts - Tests use
AnyFunSuite with Matchers(ScalaTest), not JUnit@Test - No Quarkus in current modules — Quarkus is planned for future services
- Agent workflow: architect → scala-implementer → test-writer → gradle-builder → code-reviewer