content: {- |
  Module                  : Iris
  Copyright               : (c) 2022 Dmitrii Kovanikov
  SPDX-License-Identifier : MPL-2.0
  Maintainer              : Dmitrii Kovanikov <kovanikov@gmail.com>
  Stability               : Experimental
  Portability             : Portable
  
  __Iris__ is a Haskell CLI framework. It contains batteries for bulding
  CLI applications in Haskell by following best-practices.
  
  The library is designed for __qualified__ imports. To use it, import
  like this:
  
  @
  __import qualified__ "Iris"
  @
  
  To create an CLI application with __Iris__, you need to do the
  following steps:
  
  1. Create settings for your applications by constructing a value of
     type 'CliEnvSettings'.
  2. Define a monad for your application with the help of 'CliApp' by
     using either __type__ or __newtype__.
  
  That's all! Now, you can write your CLI app by having access to all
  capabilities provided by __Iris__ 🎉
  
  For a detailed introduction to __Iris__, refer to the following examples:
  
  * [Simple Grep Example](https://github.com/chshersh/iris/blob/main/examples/simple-grep/README.md)
  
  @since 0.0.0.0
  -}
  module Iris (
      -- $app
      module Iris.App,
      -- $browse
      module Iris.Browse,
      -- $cli
      module Iris.Cli,
      -- $colour
      module Iris.Colour,
      -- $env
      module Iris.Env,
      -- $settings
      module Iris.Settings,
      -- $tool
      module Iris.Tool,
      module Iris.Interactive,
  ) where
  
  import Iris.App
  import Iris.Browse
  import Iris.Cli
  import Iris.Colour
  import Iris.Env
  import Iris.Interactive
  import Iris.Settings
  import Iris.Tool
  
  {- $app
  CLI Application monad.
  -}
  
  {- $browse
  Functions to open local files in a browser.
  -}
  
  {- $cli
  CLI parsing utilities.
  -}
  
  {- $colour
  Functions to detect terminal support for colouring and print coloured output.
  -}
  
  {- $env
  Global environment for a CLI application and CLI app settings.
  -}
  
  {- $settings
  Settings for the environment.
  -}
  
  {- $tool
  Capabilities to check required tools on the application start.
  -}
  