import ArgumentParser @main struct CLI: AsyncParsableCommand { static let configuration: CommandConfiguration = .init( commandName: "putty", abstract: "A utility for getting comic data from GoComics.com.", subcommands: [Scrape.self], ) } struct Scrape: AsyncParsableCommand { static let configuration: CommandConfiguration = .init(abstract: "Scrape all necessary data.") mutating func run() async throws { print("scrape") } }