Modern engineering teams don’t struggle to start new services — they struggle to keep them architecturally consistent as they scale.
Most generators produce a folder structure and walk away. Codegen Blueprint safeguards architectural integrity:
- Starts clean — no framework dependencies in the domain
- Stays clean — structure guides every evolution
- Prevents silent architecture drift
Not just scaffolding. Not just templates.
Executable Architecture — baked into the delivery pipeline.
Who benefits ➜ What the engine delivers ➜ Generated services
| Role | Benefit |
|---|---|
| Platform Engineering | Org‑wide standardization |
| Lead Architect | Governance as Code |
| Developers | Clean architecture from day zero |
| New Team Members | Instant productivity |
Initializr‑like simplicity ➜ Architecture‑first consistency
| Capability Focus | Spring Initializr & JHipster | Codegen Blueprint |
|---|---|---|
| Generates folder layout | ✔ | ✔ |
| Opinionated architecture defaults | ✔ | |
| Domain isolation by design | ❌ | ✔ |
| Profile‑driven evolution paths | ✔ | |
| Anti‑drift support (future‑ready) | ❌ | ✔ |
🧭 Same starting point — better long‑term alignment
- ⚡ What is Codegen Blueprint (Today)?
- 🧭 1.0.0 Scope & Status
- 💡 Why This Project Matters
- 🔔 Sample Code & Greeting Example
- 🔌 Inbound Adapter
- ⚙️ Outbound Adapters & Artifacts
- 🧪 Testing & CI
- 🔄 CLI Usage Example
- 🚀 Vision & Roadmap
- 🤝 Contributing
- ⭐ Support & Community
- 🛡 License
A CLI‑driven, architecture‑aware project generator.
📌 Current primary profile: springboot‑maven‑java (✔ Spring Boot 3.5.x · ✔ Java 21 · ✔ Maven)
Produces a clean and predictable structure with:
- Standardized identifiers (groupId, artifactId, package)
- Clear boundaries for maintainability
- Tests ready from day zero
- No dependency overload
📌 Hexagonal is an opt‑in structured evolution path.
domain // business logic only (no Spring)
application // orchestrates ports
adapters // inbound & outbound
bootstrap // configuration & wiring
“Framework‑free domain — intentional architecture from day zero.”
CLI input → Use case orchestration → Domain constraints → Artifact generation → Spring Boot project output
📌 Note: The
mainbranch reflects the upcoming 1.0.0 GA release. A final tagged release will follow once CLI UX and docs stabilization are complete.
| Feature | Status |
|---|---|
| CLI‑based generation | ✔ Production‑ready |
| Hexagonal architecture layout (opt‑in) | ✔ Available |
| Spring Boot 3 / Java 21 / Maven | ✔ Supported |
| Main + test entrypoints | ✔ Provided |
| Required build + config artifacts | ✔ Generated |
| Greeting sample (optional sample‑code) | ✔ Included |
| MIT License | ✔ Open‑source |
| Feature | Status |
|---|---|
| REST inbound adapter | Planned |
| Hexagonal evolution kit (ports + CQRS) | Planned |
| Additional profiles (Gradle, Kotlin, Quarkus) | Planned |
Foundation libraries (blueprint-*) |
Planned |
| Multi‑module services | Planned |
| Developer UI | Evaluating |
✔ Deep quality first → expand ecosystem next
📌 For more details:
Clean architecture shouldn’t be optional.
You gain:
- ✔ Predictable structure & boundaries
- ✔ Testability from day zero
- ✔ Faster onboarding & team scaling
- ✔ Architectural governance without friction
You avoid:
- ❌ Copy‑paste architecture
- ❌ Each repo reinventing patterns
- ❌ Best‑practice rot over time
- ❌ Architecture drift
📘 Explore design: 👉 How to Explore This Project (Hexagonal Architecture Guide)
Architecture becomes intentional — enforceable — repeatable.
📌 Minimal but meaningful reference sample:
- Domain model: Greeting
- Use case: generate greeting text
- Inbound REST adapter:
/api/v1/sample/greetings/default - Hexagonal structure illustrates port‑driven design
Enabled when flags include:
--layout hexagonal \
--sample-code basic
Designed as a teaching reference and a quick productivity boost
| Adapter | Status |
|---|---|
| CLI | ✔ Primary driver |
| REST | Planned |
Active profile:
springboot‑maven‑java
Generated artifacts:
| Category | Includes |
|---|---|
| Build system | pom.xml, Maven Wrapper |
| Runtime config | src/main/resources/application.yml |
| Source skeleton | Main application & test bootstraps |
| Sample code | Optional greeting sample (domain + ports + REST adapter) |
| Git hygiene | .gitignore |
| Docs (minimal) | README.md inside generated project |
Everything required to build ▸ run ▸ extend a clean service
mvn verify- Unit + integration tests ✔
- JaCoCo coverage ✔
- CodeQL security ✔
- Codecov reporting ✔
java -jar codegen-blueprint-1.0.0.jar \
--cli \
springboot \
--group-id io.github.blueprintplatform.samples \
--artifact-id greeting-service \
--name "Greeting Service" \
--description "Hexagonal greeting sample powered by Blueprint" \
--package-name io.github.blueprintplatform.samples.greeting \
--layout hexagonal \
--sample-code basic \
--dependency web \
--dependency data_jpaOutput (simplified)
greeting-service/
├── pom.xml
├── src/main/java/io/github/blueprintplatform/samples/greeting/GreetingServiceApplication.java
├── src/test/java/io/github/blueprintplatform/samples/greeting/GreetingServiceApplicationTests.java
├── src/main/resources/application.yml
└── .gitignore
Hexagonal + sample code = ready‑to‑run REST greeting service
Best practices should execute, not merely be documented.
- 🧱 Hexagonal evolution kits (ports / adapters / CQRS)
- 📈 Observability defaults (tracing / metrics)
- 🔐 Security (OAuth2 / Keycloak patterns)
- 🧩 Multi‑module service generation
- 🎯 Broader ecosystem: Gradle / Kotlin / Quarkus
- 💻 Developer UI → configure → generate → download
Executable Architecture for modern delivery
Discussions: https://github.com/blueprint-platform/codegen-blueprint/discussions
Issues: https://github.com/blueprint-platform/codegen-blueprint/issues
If Codegen Blueprint helps you:
👉 Please star the repo — it really matters.
Barış Saylı
GitHub — bsayli
LinkedIn — linkedin.com/in/bsayli
Medium — @baris.sayli
Licensed under MIT — free for personal and commercial use. See: LICENSE
