anchor.diff:  
   include::./attributes.adoc[]
   
  -The Quarkus CLI is named `qs` as in shorthand for Quarkus. `qs` lets you create projects, manage extensions and 
  -do essential build and dev commands using the underlying projects build tool.
  +The Quarkus CLI, `quarkus`, lets you create projects, manage extensions and
  +do essential build and dev commands using the underlying project's build tool.
   
   include::./status-include.adoc[]
   
  
positive.code: 
  [source,shell]
  ----
  $ qs add kubernetes health
  [SUCCESS] ✅ Extension io.quarkus:quarkus-kubernetes has been installed
  [SUCCESS] ✅ Extension io.quarkus:quarkus-smallrye-health has been installed
  ----
  
  
  == Development mode
  
  To start dev mode from the Quarkus CLI do:
  
  [source,shell]
  ----
  $ quarkus dev 
  [INFO] Scanning for projects...
  [INFO]
  [INFO] ---------------------------< org.acme:myapp >---------------------------
  [INFO] Building myapp 1.0.0-SNAPSHOT
  [INFO] --------------------------------[ jar ]---------------------------------
  [INFO]
  [INFO] --- quarkus-maven-plugin:1.13.0.Final:dev (default-cli) @ myapp ---
  [INFO] Using 'UTF-8' encoding to copy filtered resources.
  [INFO] Copying 2 resources
  [INFO] Nothing to compile - all classes are up to date
  Listening for transport dt_socket at address: 5005
  [INFO] Checking for existing resources in: /Users/max/demo/myapp/src/main/kubernetes.
  __  ____  __  _____   ___  __ ____  ______
   --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
   -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
  --\___\_\____/_/ |_/_/|_/_/|_|\____/___/
  2021-03-26 11:17:36,270 INFO  [io.quarkus] (Quarkus Main Thread) myapp 1.0.0-SNAPSHOT on JVM (powered by Quarkus 1.13.0.Final) started in 2.562s. Listening on: http://localhost:8080
  2021-03-26 11:17:36,275 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
  2021-03-26 11:17:36,275 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, kubernetes, resteasy, smallrye-health]
  ----
  
  Quarkus cli will use the right maven or gradle command dependent on your projects setup. Above is showing a maven project, but you can
  just as easily use gradle with `qs dev`
  
  
  
negative.code: On Linux, macOS, and Windows (using WSL or bash compatible shell like cygwin or mingw)
  [source,bash]
  ----
  curl -Ls https://sh.jbang.dev | bash -s - app install --fresh --force quarkus@quarkusio
  ----
  
  On Windows using Powershell:
  [source,powershell]
  ----
  iex "& { $(iwr https://ps.jbang.dev) } app install --fresh --force quarkus@quarkusio"
  ----
  
  If `jbang` has already been installed, you can it directly:
  [source,bash]
  ----
  # This can also be used to update to the latest version
  $ jbang app install --fresh --force quarkus@quarkusio
  # Use the latest (or locally built) snapshot (with qss as an alias)
  $ jbang app install --force --name qss io.quarkus:quarkus-cli:999-SNAPSHOT:runner
  ----
  
  Note: if you get an error about `app` not being readable then you probably
  have a `jbang` version older than v0.56.0 installed. Please remove or upgrade it to a recent version.
  
  If you are installing `jbang` for the first time, start a new session to update your `PATH`.
  
  Once installed `quarkus` will be in your PATH and if you run `quarkus --version` it will print the installed version:
  
  [source,shell]
  ----
  $ quarkus --version
  Client Version {quarkus-version}
  ----
  
  === Using the CLI
  
  Use `--help` to display help information with all the available commands:
  
  [source,shell]
  ----
  $ quarkus --help
  Usage: quarkus [-ehV] [--verbose] [COMMAND]
    -e, --errors    Display error messages.
    -h, --help      Show this help message and exit.
    -V, --version   Print version information and exit.
        --verbose   Verbose mode.
  Commands:
    create           Create a new project.
      app            Create a Quarkus application project.
      cli            Create a Quarkus command-line project.
    build            Build the current project.
    dev              Run the current project in dev (live coding) mode.
    extension, ext   List, add, and remove extensions of an existing project.
      add            Extension(s) to add to this project.
      list, ls       List platforms and extensions for this project.
      remove, rm     Remove extension(s) from this project.
    completion       bash/zsh completion:  source <(quarkus completion)
    version          Display version information
  ----
  
  [[project-creation]]
  == Creating a new project
  
  To create a new project we use the `create` command
  (the `app` subcommand is implied when not specified):
  
  [source,shell]
  ----
  $ quarkus create
  -----------
  
  applying codestarts...
  🔠 java
  🧰 maven
  🗃 quarkus
  📜 config-properties
  🛠 dockerfiles
  🛠 maven-wrapper
  🐒 resteasy-codestart
  
  -----------
  [SUCCESS] ✅ quarkus project has been successfully generated in:
  --> /<output-dir>/code-with-quarkus
  ----
  
  This will create a folder called 'code-with-quarkus' in your current working directory
  using default groupId, artifactId and version values
  (groupId='org.acme', artifactId='code-with-quarkus' and version='1.0.0-SNAPSHOT').
  
  To specify the groupId, artifactId and version values, 
  use the '--group-id', '--artifact-id' and '--version' options:
  
  [source,shell]
  ----
  $ quarkus create app --group-id com.foo --artifact-id bar --version 1.0
  version 1.0
  -----------
  
  applying codestarts...
  🔠 java
  🧰 maven
  🗃 quarkus
  📜 config-properties
  🛠 dockerfiles
  🛠 maven-wrapper
  🐒 resteasy-codestart
  
  -----------
  [SUCCESS] ✅ quarkus project has been successfully generated in:
  --> /<output-dir>/bar
  -----------
  ----
  
  [TIP]
  ====
  `-g`,`-a`,`-v` are short hand options for the full name counterparts:
  `--group-id`,`--artifact-id` and `--version`.
  We use both short and full names in this guide interchangeably.
  ====
  
  Use the help option to display options for creating projects:
  
  [source,shell]
  ----
  $ quarkus create app --help
  $ quarkus create cli --help
  ----
  
  Note: Use `--platform-bom=groupId:artifactId:version` to target a specific version of quarkus
  
  == Dealing with extensions
  
  [source,shell]
  ----
  $ quarkus ext --help
  ----
  
  The Quarkus CLI can obtain a list of the extensions in the project:
  
  [source,shell]
  ----
  $ quarkus ext ls
  ----
  
  To get a list of available extensions to install use `--installable` or `-i`.
  
  You can combine that with a search (`--search` or `-s`) and get a concise
  list including description with `--concise`.
  
  [source,shell]
  ----
  $ quarkus ext list -i --concise -s jdbc
  JDBC Driver - DB2                                  quarkus-jdbc-db2
  JDBC Driver - PostgreSQL                           quarkus-jdbc-postgresql
  JDBC Driver - H2                                   quarkus-jdbc-h2
  JDBC Driver - MariaDB                              quarkus-jdbc-mariadb
  JDBC Driver - Microsoft SQL Server                 quarkus-jdbc-mssql
  JDBC Driver - MySQL                                quarkus-jdbc-mysql
  JDBC Driver - Oracle                               quarkus-jdbc-oracle
  JDBC Driver - Derby                                quarkus-jdbc-derby
  Elytron Security JDBC                              quarkus-elytron-security-jdbc
  Agroal - Database connection pool                  quarkus-agroal
  