# ``ArgumentParser`` Straightforward, type-safe argument parsing for Swift. ## Overview By using `ArgumentParser`, you can create a command-line interface tool by declaring simple Swift types. Begin by declaring a type that defines the information that you need to collect from the command line. Decorate each stored property with one of `ArgumentParser`'s property wrappers, declare conformance to ``ParsableCommand``, and implement your command's logic in its `run()` method. For `async` renditions of `run`, declare ``AsyncParsableCommand`` conformance instead. ```swift import ArgumentParser @main struct Repeat: ParsableCommand { @Argument(help: "The phrase to repeat.") var phrase: String @Option(help: "The number of times to repeat 'phrase'.") var count: Int? = nil mutating func run() throws { let repeatCount = count ?? 2 for _ in 0.. - ``ParsableCommand`` - ``AsyncParsableCommand`` - - ### Arguments, Options, and Flags - - ``Argument`` - ``Option`` - ``Flag`` - ``OptionGroup`` - ``ParsableArguments`` ### Property Customization - - ``ArgumentHelp`` - ``ArgumentVisibility`` - ``NameSpecification`` ### Custom Types - ``ExpressibleByArgument`` - ``EnumerableFlag`` ### Validation and Errors - - ``ValidationError`` - ``CleanExit`` - ``ExitCode`` ### Shell Completion Scripts - - - ``CompletionKind`` ### Advanced Topics - -