Shift to CLI app with single entry point