Add foundation for CLI app

CliApplicationFactory