56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
---
|
|
name: project-root-structure
|
|
description: Top-level project structure, modules list, and navigation notes for NowChessSystems
|
|
type: 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
|