Headless Maintenance Guardrails
The headless profile is intentionally strict: it must stay runnable without TUI classes or dev.tamboui dependencies.
What Must Stay True
-
Headless entry flow (
HeadlessCli,HeadlessGenerationService,GenerateCommand) must not importdev.ayagmar.quarkusforge.ui.*. -
Headless flow must not import
dev.tamboui.*. -
Core non-UI layers (
api,archive,domain,diagnostics,util) must not depend onui.
These rules are enforced by ArchUnit tests in
src/test/java/dev/ayagmar/quarkusforge/HeadlessArchitectureRulesTest.java.
Refactoring Checklist
Before merging refactors that touch CLI/bootstrap classes:
-
Run the default test suite (
./mvnw -q verify) so ArchUnit guardrails are evaluated. -
Run headless compile (
./mvnw -q clean compile -Pheadless) to confirm profile scope still compiles. -
If you add a new headless orchestration class, include it in the ArchUnit rule scope.