This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch feature/CAMEL-23722-cli-docs-restructure in repository https://gitbox.apache.org/repos/asf/camel.git
commit 74547e30b9989dec1ee724356eb19761b764d2e4 Author: Claus Ibsen <[email protected]> AuthorDate: Tue Jun 9 17:39:59 2026 +0200 CAMEL-23722: Rewrite getting started and remove Groovy DSL references Rewrite getting-started page focused on the fast path: install, create, run in under 30 lines. Move advanced install options (version-pinned, offline, container) to new Installation Options sub-page. Remove Groovy DSL references across all CLI docs since Groovy DSL is no longer supported. Groovy expression language references are kept. Move "Running a Maven based project" to Running Routes page. Co-Authored-By: Claude Opus 4.6 <[email protected]> Signed-off-by: Claus Ibsen <[email protected]> --- docs/user-manual/modules/ROOT/nav.adoc | 1 + .../modules/ROOT/pages/camel-jbang-debugging.adoc | 2 - .../ROOT/pages/camel-jbang-getting-started.adoc | 290 +++++---------------- .../ROOT/pages/camel-jbang-installation.adoc | 137 ++++++++++ .../modules/ROOT/pages/camel-jbang-managing.adoc | 1 - .../modules/ROOT/pages/camel-jbang-running.adoc | 55 ++-- .../modules/ROOT/pages/camel-jbang-test.adoc | 1 - .../modules/ROOT/pages/camel-jbang.adoc | 7 +- 8 files changed, 230 insertions(+), 264 deletions(-) diff --git a/docs/user-manual/modules/ROOT/nav.adoc b/docs/user-manual/modules/ROOT/nav.adoc index d10275e4a161..c3645c1df850 100644 --- a/docs/user-manual/modules/ROOT/nav.adoc +++ b/docs/user-manual/modules/ROOT/nav.adoc @@ -7,6 +7,7 @@ ** xref:camel-console.adoc[Camel Developer Console] ** xref:camel-jbang.adoc[Camel CLI] *** xref:camel-jbang-getting-started.adoc[Getting Started] +*** xref:camel-jbang-installation.adoc[Installation Options] *** xref:camel-jbang-running.adoc[Running Routes] *** xref:camel-jbang-dev-services.adoc[Dev Services] *** xref:camel-jbang-devtools.adoc[Development Tools] diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-debugging.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang-debugging.adoc index 537f2148b645..90bc9d006d11 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-jbang-debugging.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-debugging.adoc @@ -52,8 +52,6 @@ Source: foo.camel.yaml:13 This is _basic_ but yet powerful, as you have this debugger always readily available, without having to start up VSCode or IDEA tooling. -TIP: The `camel debug` can debug almost all the DSLs (there is a problem with groovy). - === Configuring breakpoints When using `camel debug` then breakpoints are by default added to every route. diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-getting-started.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang-getting-started.adoc index 14ceebf6232a..e120ee6218aa 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-jbang-getting-started.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-getting-started.adoc @@ -1,305 +1,153 @@ = Camel CLI - Getting Started -This guide covers installing the Camel CLI and running your first integration. -For the full overview, see xref:camel-jbang.adoc[Camel CLI]. +Three commands. That is all it takes to go from zero to a running integration. -== Installation +== Install -First, you must install https://www.jbang.dev/[JBang], which is used for launching Camel. -See instructions on https://www.jbang.dev/download/[JBang] how to download and install. - -After JBang is installed, you can verify JBang is working by executing the following command from a command shell: - -[source,bash] ----- -jbang version ----- - -Which should output the version of JBang. - -To make it easier to use Camel CLI, then install the following: +The Camel CLI runs on https://www.jbang.dev/[JBang]. +Install JBang first (see https://www.jbang.dev/download/[download instructions]), +then install the Camel CLI: [source,bash] ---- jbang app install camel@apache/camel ---- -This will install Apache Camel as the `camel` command within JBang, meaning that you can run Camel from the command line -by just executing `camel` (see more next). - -Note: It requires access to the internet, in case of using a proxy, please ensure that the proxy is configured for your system. -If Camel CLI is not working with your current configuration, -please look to https://www.jbang.dev/documentation/jbang/latest/configuration.html#proxy-configuration[Proxy configuration in JBang documentation]. - -=== Installing without JBang - -It is also possible to install and run Camel CLI without _JBang_ using the xref:camel-jbang-launcher.adoc[Camel CLI Launcher] which essentially is -a standard Java _fat-jar_ with launch scripts. - -=== Installing a specific Camel CLI version - -By default, Camel CLI installs the latest release, which may not be the desired version. - -To use a specific version then you need to provide these when installing from jbang such as 4.14.1: +Verify that it works: [source,bash] ---- -jbang app install --force --fresh -Dcamel.jbang.version=4.14.1 -Dcamel-kamelets.version=4.14.1 camel@apache/camel +camel version ---- -TIP: You can use `--force` and `--fresh` to tell JBang to force installing the version and refresh downloading, -so no previous downloaded cache etc. may cause a problem. - -IMPORTANT: From Camel 4.17 onwards then Kamelets are optional, and only downloaded on demand. You define the version -of kamelets via `--kamelets-version` parameter to `camel run` or can pre-configure the version via `camel config set kamelets-version=4.17.0`. - -=== Installing Offline-Safe or Version-Pinned Camel CLI - -When installing Camel CLI using `jbang app install`, JBang will occasionally check -upstream sources and update the installed application automatically. This may be undesirable if you -want to ensure your Camel CLI installation remains on a specific Camel release. - -The following options allow you to install Camel CLI in a way that prevents unexpected upgrades. - -==== Option 1: Pin by Installing from a Local `CamelJBang.java` - -This approach pins the Camel version directly in the source file used to install the application. - -1. Download the `CamelJBang.java` file to your local machine: -+ [source] ---- -https://github.com/apache/camel/blob/main/dsl/camel-jbang/camel-jbang-main/dist/CamelJBang.java ----- - -2. Edit the `CamelJBang.java` file and set the Camel version you want to use. - -3. Install Camel CLI locally: -+ -[source,bash] ----- -jbang app install CamelJBang.java ----- - -4. After installation, the `CamelJBang.java` file can be deleted. - -==== Option 2: Install from a Version-Pinned Catalog - -Another option is to install Camel CLI from a catalog tied to a specific Camel release tag. - -Example: -[source,bash] ----- -CAMEL_VERSION="4.18.0" -CAMEL_TAG="camel-${CAMEL_VERSION}" -CAMEL_JBANG_CATALOG_URL="https://raw.githubusercontent.com/apache/camel/${CAMEL_TAG}/jbang-catalog.json" - -jbang app install --force --fresh \ - -Dcamel.jbang.version="${CAMEL_VERSION}" \ - -Dcamel-kamelets.version="${CAMEL_VERSION}" \ - camel@"${CAMEL_JBANG_CATALOG_URL}" +Camel CLI version: 4.21.0 ---- -In this example: - -* The catalog URL points to a specific Camel release tag. -* `-Dcamel.jbang.version` ensures the installed application uses that same Camel version. - -[NOTE] -==== -Option 1 provides the most deterministic installation and is best suited for fully offline-safe environments. - -Option 2 offers a simpler installation while still ensuring the version is pinned to a specific Camel release. -==== - -==== Option 3: Use Camel Launcher - -See xref:camel-jbang-launcher.adoc[Camel CLI Launcher] - - -== Container Image +That is it. No Maven project, no POM file, no IDE required. -There is also a container image available in https://hub.docker.com/r/apache/camel-jbang/[Dockerhub] +NOTE: The CLI requires internet access to download dependencies on first use. +If you are behind a proxy, see https://www.jbang.dev/documentation/jbang/latest/configuration.html#proxy-configuration[JBang proxy configuration]. -[source,bash] ----- -docker pull apache/camel-jbang:4.21.0 ----- +TIP: For version-pinned installs, offline-safe setups, container images, or installing without JBang, +see xref:camel-jbang-installation.adoc[Installation Options]. -or +== Create your first route -[source,bash] ----- -podman pull apache/camel-jbang:4.21.0 ----- +Use `camel init` to scaffold a new route. The file extension determines the DSL. -Once you have the image in your local registry, you can run all the commands listed below by simple doing: +=== YAML [source,bash] ---- -docker run apache/camel-jbang:4.21.0 version +camel init hello.yaml +camel run hello.yaml ---- -or +You should see Camel start up and begin logging: -[source,bash] ----- -podman run apache/camel-jbang:4.21.0 version ----- - -This will print the following result: - -[source,bash] ----- -Camel CLI version: 4.21.0 ----- - -So running a simple route will be as easy as doing the following: - -[source,bash] ----- -docker run -v .:/integrations apache/camel-jbang:4.21.0 run /integrations/example.yaml ----- - -or - -[source,bash] +[source] ---- -podman run -v .:/integrations apache/camel-jbang:4.21.0 run /integrations/example.yaml +... Started hello (timer://yaml) +... Hello Camel from route1 +... Hello Camel from route1 ---- -== Using Camel CLI +Press `Ctrl+C` to stop. -The Camel CLI supports multiple commands. Running the command below will print all of them: +=== Java [source,bash] ---- -camel --help +camel init Hello.java +camel run Hello.java ---- -TIP: The first time you run this command, it may cause dependencies to be cached, therefore taking a few extra seconds to run. If you are already using JBang and you get first time to run errors such as `Exception in thread "main" java.lang.NoClassDefFoundError: "org/apache/camel/dsl/jbang/core/commands/CamelJBangMain"` you may try clearing the JBang cache and re-install again. - -All the commands support the `--help` and will display the appropriate help if that flag is provided. - -TIP: For a complete reference of all commands and their options, see the xref:jbang-commands/camel-jbang-commands.adoc[Camel CLI Command Reference]. +Same workflow, same result — just a different DSL. +XML works the same way (`camel init hello.xml`). -=== Enable shell completion +== Dev mode — edit and reload instantly -Camel CLI provides shell completion for bash and zsh out of the box. To enable shell completion for Camel CLI, run: +Run any route in dev mode to get live reload: [source,bash] ---- -source <(camel completion) ----- - -To make it permanent, run: - -[source,bash] ----- -echo 'source <(camel completion)' >> ~/.bashrc +camel run hello.yaml --dev ---- -=== REPL loop - -A simple read-eval-print loop is available, you can launch it with: - -[source, bash] ----- -camel shell ----- - -== Creating and running Camel routes - -You can create a new basic routes with the `init` command. +Now edit the file in your editor and save. +Camel detects the change and reloads the route automatically — no restart needed. +This works for all DSLs (YAML, Java, XML). -For example, to create an XML route, you can run: +TIP: Dev mode is the fastest way to prototype integrations. +Keep it running while you iterate on your routes. -[source,bash] ----- -camel init cheese.xml ----- - -Which creates the file `cheese.xml` (in the current directory) with a sample route. +=== Running multiple files -To run the file, you do: +You can run several files together, even mixing DSLs: [source,bash] ---- -camel run cheese.xml +camel run one.yaml Hello.java ---- -NOTE: You can create and run any of the supported xref:dsl.adoc[DSLs] in Camel such as YAML, XML, Java, Groovy. - -To create a new .java route, you simply do: +Or use wildcards to run everything in a directory: [source,bash] ---- -camel init foo.java +camel run *.yaml +camel run * ---- -When using the init command, then Camel will by default create the file in the current directory. -However, you can use -the `--directory` option to create the file in the specified directory. -For example, to create in a folder -named `_foobar_` you can do: +TIP: The CLI automatically picks up `application.properties` files in the same directory. -[source,bash] ----- -camel init foo.java --directory=foobar ----- +== Enable shell completion -=== Running Routes from multiple files - -You can run more than one file, for example, to run two YAML files you can do: +Tab completion makes discovering commands much easier: [source,bash] ---- -camel run one.yaml two.yaml +source <(camel completion) ---- -You can also mix different xref:dsl.adoc[DSLs] such as YAML and Java: +To make it permanent: [source,bash] ---- -camel run one.yaml hello.java +echo 'source <(camel completion)' >> ~/.bashrc ---- -You can also use wildcards (i.e. `*`) to match multiple files, such as running all the YAML files: +== Explore commands -[source,bash] ----- -camel run *.yaml ----- - -Or you can run all files starting with foo* +Every command supports `--help`: [source,bash] ---- -camel run foo* +camel run --help +camel init --help ---- -And to run everything +For the full list of commands, see the xref:jbang-commands/camel-jbang-commands.adoc[Command Reference]. -[source,bash] ----- -camel run * ----- - -TIP: The run goal can also detect files that are `properties`, such as `application.properties`. +== What's next -=== Running a Maven based project +[cols="1,2"] +|=== +| Next step | When to use it -Camel CLI is intended for flat-file-based projects, where you run small integrations. -However, Camel CLI may be used as a tool for migrating existing Maven based projects. -To make the migration easier, then JBang can do _best effort_ to run, export, or transform these projects. +| xref:camel-jbang-running.adoc[Running Routes] +| Dev mode options, profiles, properties, GitHub-hosted routes, Spring Boot and Quarkus runtimes. -For example, if you have a Maven-based project, you can execute +| xref:camel-jbang-dev-services.adoc[Dev Services] +| Spin up databases, message brokers, and other infrastructure for your routes. -[source,bash] ----- -camel run pom.xml ----- +| xref:camel-jbang-devtools.adoc[Development Tools] +| Send and receive test messages, configure JDBC, set up dependency injection. -Camel CLI will then scan in `src/main/java` and `src/main/resources` for files to include (recursive). +| xref:camel-jbang-debugging.adoc[Debugging] +| Step through routes with the built-in debugger or connect your IDE. -NOTE: Using `camel run pom.xml` is not intended as a fully compatible way of running an existing Maven-based project. It cannot start Quarkus or Spring Boot applications; instead, use the proper plugins/commands. The command is mainly used to migrate from old projects. +| xref:camel-jbang-projects.adoc[Projects and Catalog] +| Browse the component catalog, export to Spring Boot or Quarkus for production. +|=== diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-installation.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang-installation.adoc new file mode 100644 index 000000000000..2d67c9c696c6 --- /dev/null +++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-installation.adoc @@ -0,0 +1,137 @@ += Camel CLI - Installation Options + +This page covers alternative ways to install and run the Camel CLI — +version-pinned installs, offline-safe setups, and container images. + +For the standard installation, see xref:camel-jbang-getting-started.adoc[Getting Started]. + +== Installing a specific Camel CLI version + +By default, Camel CLI installs the latest release, which may not be the desired version. + +To use a specific version then you need to provide these when installing from jbang such as 4.14.1: + +[source,bash] +---- +jbang app install --force --fresh -Dcamel.jbang.version=4.14.1 -Dcamel-kamelets.version=4.14.1 camel@apache/camel +---- + +TIP: You can use `--force` and `--fresh` to tell JBang to force installing the version and refresh downloading, +so no previous downloaded cache etc. may cause a problem. + +IMPORTANT: From Camel 4.17 onwards then Kamelets are optional, and only downloaded on demand. You define the version +of kamelets via `--kamelets-version` parameter to `camel run` or can pre-configure the version via `camel config set kamelets-version=4.17.0`. + +== Installing Offline-Safe or Version-Pinned Camel CLI + +When installing Camel CLI using `jbang app install`, JBang will occasionally check +upstream sources and update the installed application automatically. This may be undesirable if you +want to ensure your Camel CLI installation remains on a specific Camel release. + +The following options allow you to install Camel CLI in a way that prevents unexpected upgrades. + +=== Option 1: Pin by Installing from a Local `CamelJBang.java` + +This approach pins the Camel version directly in the source file used to install the application. + +1. Download the `CamelJBang.java` file to your local machine: ++ +[source] +---- +https://github.com/apache/camel/blob/main/dsl/camel-jbang/camel-jbang-main/dist/CamelJBang.java +---- + +2. Edit the `CamelJBang.java` file and set the Camel version you want to use. + +3. Install Camel CLI locally: ++ +[source,bash] +---- +jbang app install CamelJBang.java +---- + +4. After installation, the `CamelJBang.java` file can be deleted. + +=== Option 2: Install from a Version-Pinned Catalog + +Another option is to install Camel CLI from a catalog tied to a specific Camel release tag. + +Example: +[source,bash] +---- +CAMEL_VERSION="4.18.0" +CAMEL_TAG="camel-${CAMEL_VERSION}" +CAMEL_JBANG_CATALOG_URL="https://raw.githubusercontent.com/apache/camel/${CAMEL_TAG}/jbang-catalog.json" + +jbang app install --force --fresh \ + -Dcamel.jbang.version="${CAMEL_VERSION}" \ + -Dcamel-kamelets.version="${CAMEL_VERSION}" \ + camel@"${CAMEL_JBANG_CATALOG_URL}" +---- + +In this example: + +* The catalog URL points to a specific Camel release tag. +* `-Dcamel.jbang.version` ensures the installed application uses that same Camel version. + +[NOTE] +==== +Option 1 provides the most deterministic installation and is best suited for fully offline-safe environments. + +Option 2 offers a simpler installation while still ensuring the version is pinned to a specific Camel release. +==== + +=== Option 3: Use Camel Launcher + +See xref:camel-jbang-launcher.adoc[Camel CLI Launcher] + +== Container Image + +There is also a container image available in https://hub.docker.com/r/apache/camel-jbang/[Dockerhub] + +[source,bash] +---- +docker pull apache/camel-jbang:4.21.0 +---- + +or + +[source,bash] +---- +podman pull apache/camel-jbang:4.21.0 +---- + +Once you have the image in your local registry, you can run all the commands listed below by simple doing: + +[source,bash] +---- +docker run apache/camel-jbang:4.21.0 version +---- + +or + +[source,bash] +---- +podman run apache/camel-jbang:4.21.0 version +---- + +This will print the following result: + +[source,bash] +---- +Camel CLI version: 4.21.0 +---- + +So running a simple route will be as easy as doing the following: + +[source,bash] +---- +docker run -v .:/integrations apache/camel-jbang:4.21.0 run /integrations/example.yaml +---- + +or + +[source,bash] +---- +podman run -v .:/integrations apache/camel-jbang:4.21.0 run /integrations/example.yaml +---- diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-managing.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang-managing.adoc index b181a0b30fc3..26e63e04580e 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-jbang-managing.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-managing.adoc @@ -168,7 +168,6 @@ camel get route PID NAME ID FROM STATUS AGE TOTAL FAILED INFLIGHT MEAN MIN MAX SINCE-LAST 61818 MyCamel hello timer://hello?period=2000 Running 29m2s 870 0 0 0 0 14 0s/0s/- 63051 dude java timer://java?period=1000 Running 46s 46 0 0 0 0 9 0s/0s/- - 63068 mygroovy groovy timer://groovy?period=1000 Running 34s 34 0 0 0 0 5 0s/0s/- ---- TIP: Use `camel get --help` to display all the available commands as additional will be added in upcoming releases. diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-running.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang-running.adoc index 357b6e4cd8c4..86cb84b3f992 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-jbang-running.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-running.adoc @@ -457,14 +457,7 @@ then copy the URL from the browser window and run the example with Camel CLI: camel run https://github.com/apache/camel-kamelets-examples/tree/main/jbang/hello-java ---- -You can also use wildcards (i.e. `*`) to match multiple files, such as running all the groovy files: - -[source,bash] ----- -camel run https://github.com/apache/camel-kamelets-examples/tree/main/jbang/languages/*.groovy ----- - -Or you can run all files starting with rou* +You can also use wildcards (i.e. `*`) to match multiple files, or you can run all files starting with rou* [source,bash] ---- @@ -528,13 +521,6 @@ You can also download a single file, such as one of the Camel Kamelets examples: camel init https://github.com/apache/camel-kamelets-examples/blob/main/jbang/hello-yaml/hello.camel.yaml ---- -This is a groovy route, which you can run with (or use `*`): - -[source,bash] ----- -camel run simple.groovy ----- - === Downloading routes form GitHub gists You can also download files from gists easily as shown: @@ -848,28 +834,6 @@ And for Quarkus: camel run foo.camel.yaml --runtime=quarkus --quarkus-version=3.9.4 ---- -== Running Camel with Groovy Sources - -*Available as of Camel 4.14* - -In Camel 4.14 then support for using Groovy source together with Camel CLI has been improved. -You can now include `.groovy` source files when you use `camel run` and let the Groovy source files be pre-compiled during startup. -This allows to have a common set of groovy classes and functions which can be used by Camel and Java. - -Because this class-loader is required to be in use for being able to load the groovy pre-compiled -classes, then this feature will only work via Camel which has control of classloading when used -with Camel features that would support this such as in the route DSL and elsewhere. - -However, there may be some features in Camel where this may not work (yet). - -You can find an example at: https://github.com/apache/camel-kamelets-examples/tree/main/jbang/groovy - -IMPORTANT: This feature is only intended to include smaller groovy sources as small functions, DTOs -that makes it easier to use together with Camel for low-code integrations. It is not -intended to support Groovy as a general purpose programming language for Camel. For this kind -then you can use groovy and Java together and follow best practices for this, such as -using the joint-compilation via Maven plugins during build. - == Downloading JARs over the internet By default, Camel CLI will automatically resolve dependencies needed to run Camel, which is done @@ -1028,3 +992,20 @@ If you want to run Camel application without assuming any location (even `~/.m2/ ---- camel run foo.java --maven-settings=false ---- + +== Running a Maven based project + +Camel CLI is intended for flat-file-based projects, where you run small integrations. +However, Camel CLI may be used as a tool for migrating existing Maven based projects. +To make the migration easier, then JBang can do _best effort_ to run, export, or transform these projects. + +For example, if you have a Maven-based project, you can execute + +[source,bash] +---- +camel run pom.xml +---- + +Camel CLI will then scan in `src/main/java` and `src/main/resources` for files to include (recursive). + +NOTE: Using `camel run pom.xml` is not intended as a fully compatible way of running an existing Maven-based project. It cannot start Quarkus or Spring Boot applications; instead, use the proper plugins/commands. The command is mainly used to migrate from old projects. diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-test.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang-test.adoc index 5bb21d641338..fb66393c5c48 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-jbang-test.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-test.adoc @@ -53,7 +53,6 @@ In the example above the test uses YAML as a domain specific language. The plugin supports the following languages to write automated tests: * YAML -* Groovy * Java * XML * Cucumber (.feature file extension) diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc index f265c60c0d35..0027456cb686 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc @@ -5,7 +5,7 @@ It gives you a complete, terminal-native development environment for building in -- from a first prototype to a production-ready project -- without requiring an IDE, a Maven project, or boilerplate code. -Write a route in YAML, XML, Java, or Groovy. Run it. Debug it. Trace messages flowing through it. +Write a route in YAML, Java, or XML. Run it. Debug it. Trace messages flowing through it. Spin up the infrastructure it needs. Export it to Spring Boot or Quarkus when you are ready. All from the terminal. @@ -73,7 +73,10 @@ TIP: You can also install without JBang using the xref:camel-jbang-launcher.adoc | Area | What it covers | xref:camel-jbang-getting-started.adoc[Getting Started] -| Installation, container images, shell completion, creating and running your first route. +| Installation, shell completion, creating and running your first route. + +| xref:camel-jbang-installation.adoc[Installation Options] +| Version-pinned installs, offline-safe setups, container images, installing without JBang. | xref:camel-jbang-running.adoc[Running Routes] | Dev mode with hot reload, profiles, properties, dependency management, GitHub-hosted routes,
