Current rule I'm implementing with archunit.
- Packages are limited in size to 20 classes, interfaces, and records (total). This includes inner classes but only applies to public and package-private objects.
- An interface may have a single default implementation in the same package and the two together will only count as one.
- I'm not counting package-private guice modules or enums of any visibility since I want to encourage the LLM to use them.
Basically I'm using archunit to shape good behavior from the LLM.