thalarch-javalisted
Install: claude install-skill LUC4N3X/antigravity-thalarch
# Thalarch Java
Use the Java version and ecosystem the repository actually declares. Never assume the
latest language level, Spring, GraalVM, Lombok, or any other framework is available.
## Preflight
Determine from the repository:
- Java toolchain/source/target/release level;
- Maven vs Gradle and wrapper availability;
- framework and library versions;
- test framework and configured quality tools;
- module boundaries and generated-code directories.
Prefer `./mvnw` / `mvnw.cmd` or `./gradlew` / `gradlew.bat` when provided.
## Language discipline
Use features only when supported by the configured language level.
Prefer, when they clarify the model:
- records for immutable data carriers;
- sealed hierarchies for closed domain variants;
- pattern matching and switch expressions when supported;
- generics that preserve type information rather than raw types/casts;
- try-with-resources for owned closeable resources;
- immutable collections/value objects at boundaries where mutation is not required.
Do not convert every loop to a stream. Streams are preferable when they make a
transformation pipeline clearer; imperative code is often better for early exits, complex
state machines, mutation-heavy hot paths, or debugging-sensitive control flow.
Use `Optional` intentionally. Do not introduce it mechanically into fields, parameters,
or serialization models when the existing framework/contracts use another nullability model.
## Exceptions and resources
- Catch the most spec