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: 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 --force qs@quarkusio
  ----
  
  On Windows using Powershell:
  [source,powershell]
  ----
  iex "& { $(iwr https://ps.jbang.dev) } app install --force qs@quarkusio"
  ----
  
  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 this is the first time you install, start a new session to get your `PATH` updated.
  
  Once installed `qs` will be in your PATH and if you run `qs --version` it will print the installed version:
  
  [source,shell]
  ----
  qs --version
  {quarkus-version}
  ----
  
  === Using the CLI
  
  Now you can run the Quarkus CLI:
  
  [source,shell]
  ----
  $ qs
  Usage: quarkus [-ehV] [--verbose] [COMMAND]
    -e, --errors    Produce execution error messages.
    -h, --help      Show this help message and exit.
    -V, --version   Print version information and exit.
        --verbose   Verbose mode.
  Commands:
    build             Build your quarkus project
    clean             Clean current project
    create            Create a new quarkus project.
    create-jbang      Create a new quarkus jbang project.
    list              List installed (default) or installable extensions.
    platforms         List imported (default) or all available Quarkus platforms.
    add               Add extension(s) to current project.
    remove, rm        Remove an extension from this project.
    dev               Execute project in live coding dev mode
    create-extension  Creates the base of a Quarkus extension in different layout depending of the options and environment.
  ----
  
  This will display the help information with all the available commands.
  
  [[project-creation]]
  == Creating a new project
  
  To create a new project we use the create-project command:
  
  [source,shell]
  ----
  $ qs create -a myapp
  ----
  
  This will create a folder called 'myapp' in your current working directory using default
  
  
  groupId, artifactId and version values 
  (groupId='org.acme', artifactId='myapp' 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]
  ----
  $ qs create --group-id com.foo --artifact-id bar --version 1.0 
  ----
  
  [TIP]
  ====
  `-g`,`-a`,`-v` are short hand options for the full name counter parts: `--group-id`,`--artifact-id` and `--version`.
  We use both short and full names in this guide interchangeably.
  ====
  
  Use the help option to display all the possible options:
  
  [source,shell]
  ----
  $ qs create --help
  ----
  
  == Dealing with extensions
  
  The Quarkus CLI can obtain a list of the extensions in the project:
  
  [source,shell]
  ----
  $ qs list
  ----
  
  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]
  ----
  $ qs 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 - Derby                                quarkus-jdbc-derby
  Elytron Security JDBC                              quarkus-elytron-security-jdbc
  Agroal - Database connection pool                  quarkus-agroal
  
negative.code: 
  [source,shell]
  ----
  $ quarkus ext add kubernetes health
  [SUCCESS] ✅ Extension io.quarkus:quarkus-kubernetes has been installed
  [SUCCESS] ✅ Extension io.quarkus:quarkus-smallrye-health has been installed
  ----
  
  == Removing extension(s)
  
  The Quarkus CLI can add Quarkus one or more extensions to your project with the 'add'
  command:
  
  [source,shell]
  ----
  $ quarkus ext rm kubernetes
  [SUCCESS] ✅ Extension io.quarkus:quarkus-kubernetes has been uninstalled
  ----
  
  == Build your project
  
  To build your project using the Quarkus CLI (using the default configuration in this example):
  
  [source,shell]
  ----
  $ quarkus build
  [INFO] Scanning for projects...
  [INFO]
  [INFO] ---------------------< org.acme:code-with-quarkus >---------------------
  [INFO] Building code-with-quarkus 1.0.0-SNAPSHOT
  [INFO] --------------------------------[ jar ]---------------------------------
  [INFO]
  ...
  [INFO] ------------------------------------------------------------------------
  [INFO] BUILD SUCCESS
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time:  8.331 s
  [INFO] Finished at: 2021-05-27T10:13:28-04:00
  [INFO] ------------------------------------------------------------------------
  ---
  
  Note: Output will vary depending on the build tool your project is using (maven, gradle, or jbang).
  
  == Development mode
  
  [source,shell]
  ----
  $ quarkus dev --help
  ---
  
  To start dev mode from the Quarkus CLI do:
  
  [source,shell]
  ----
  $ quarkus dev                                                                 ??return_code?
  [INFO] Scanning for projects...
  [INFO]
  [INFO] ---------------------< org.acme:code-with-quarkus >---------------------
  [INFO] Building code-with-quarkus 1.0.0-SNAPSHOT
  [INFO] --------------------------------[ jar ]---------------------------------
  [INFO]
  ...
  Listening for transport dt_socket at address: 5005
  __  ____  __  _____   ___  __ ____  ______
  --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
  -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
  --\___\_\____/_/ |_/_/|_/_/|_|\____/___/
  2021-05-27 10:15:56,032 INFO  [io.quarkus] (Quarkus Main Thread) code-with-quarkus 1.0.0-SNAPSHOT on JVM (powered by Quarkus 999-SNAPSHOT) started in 1.387s. Listening on: http://localhost:8080
  2021-05-27 10:15:56,035 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
  2021-05-27 10:15:56,035 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy, smallrye-context-propagation]
  
  --
  Tests paused, press [r] to resume
  ----
  
  Note: Output will vary depending on the build tool your project is using (maven, gradle, or jbang).
  
  
  