Starter Application with Hybrid DDD/Clean/Hexagonal Architecture

A professional Ada 2022 application starter demonstrating a hybrid DDD/Clean/Hexagonal architecture with functional programming principles using the functional crate for Result monads.

This is a desktop/enterprise application template showcasing:

  • 5-Layer Hexagonal Architecture (Domain, Application, Infrastructure, Presentation, Bootstrap)

  • Static Dispatch Dependency Injection via generics (zero runtime overhead)

  • Railway-Oriented Programming with Result monads (no exceptions across boundaries)

  • Presentation Isolation pattern (only the Domain is shareable across apps)

  • Single-Project Structure (easy Alire deployment)

Features

  • :white_check_mark: Single-project structure (easy Alire deployment)

  • :white_check_mark: Result monad error handling (Domain.Error.Result)

  • :white_check_mark: Static dependency injection via generics

  • :white_check_mark: Application.Error re-export pattern

  • :white_check_mark: Architecture boundary validation (arch_guard.py)

  • :white_check_mark: Comprehensive documentation with UML diagrams

  • :white_check_mark: Test framework (unit/integration/e2e - 109 tests)

  • :white_check_mark: Windows CI with GitHub Actions

  • :white_check_mark: Aspect syntax (not pragmas)

  • :white_check_mark: Makefile automation

Platform Support

Platform Status Notes
Linux :white_check_mark: Full CI tested, console I/O
macOS :white_check_mark: Full CI tested, console I/O
Windows :white_check_mark: Full CI tested (v2.0.0+), console I/O
Embedded :wrench: Untested Architecture supports it, not yet validated

Release Notes

2 Likes

:rocket: Version 2.0.0 has just been released on GitHub and submitted to Alire! :partying_face:

2 Likes