# CLI Builder This packages contains builders to make cli application easily based `optparse-applicative`. ## Getting Started Here is a simple example: ```haskell {-# LANGUAGE RecordWildCards #-} import System.CLI.Builder data Options = Options { isSampleOption :: Bool } deriving (Eq, Show) optionsParser :: OptionParser Options optionsParser = Options <$> switch (long "sample" <> help "Sample switch") cliInfo :: CLIInfo cliInfo = baseCLIInfo "Simple CLI" "Example for simple CLI" run :: Options -> IO () run Options{..} = do putStrLn "Sample application" putStrLn $ "Is sample: " ++ show isSampleOption main :: IO () main = buildSimpleCLI cliInfo optionsParser run ``` This action is such as: ```bash $ sampleApp Sample application Is sample: False $ sampleApp --sample Sample application Is sample: True $ sampleApp --help Simple CLI Usage: [--help] Example for simple CLI Available options: --help Show this help text --sample Sample switch ``` For more examples, see [examples](examples).