arch-clean

Clean/hexagonal architecture: ports/adapters, dependency inversion, use cases, entities, testability