Project Philosophy¶
ComposeTemplate is built around one idea:
Starting a new Android project should not require rebuilding architecture, build logic, security checks, and quality gates from scratch.
Why a template generator?¶
A sample app says: “This is one way to do it.”
A template generator says: “Generate this structure with your package name, app name, and project identity.”
create-new-app is therefore a core capability.
Principles¶
- Boundaries should be visible at build level.
- Generator behavior must be tested.
- Security claims must be honest.
- Adding a feature should be easy.
- Build logic should be centralized.
Trade-offs¶
- More modules at the start
- A steeper learning curve
- Gradle convention plugins require build-system knowledge
- Native secret obfuscation adds NDK/CMake requirements
- Generator code needs maintenance
For medium and large apps, these costs are often outweighed by clearer boundaries, better testing, consistent build logic, and safer refactoring.