Camel CLI - Getting Started
Three commands. That is all it takes to go from zero to a running integration.
Install
The Camel CLI runs on JBang. Install JBang first (see download instructions), then install the Camel CLI:
jbang app install camel@apache/camel
Verify that it works:
camel version
Camel CLI version: 4.21.0
That is it. No Maven project, no POM file, no IDE required.
| The CLI requires internet access to download dependencies on first use. If you are behind a proxy, see JBang proxy configuration. |
| For version-pinned installs, offline-safe setups, container images, or installing without JBang, see Installation Options. |
Create your first route
Dev mode — edit and reload instantly
Run any route in dev mode to get live reload:
camel run hello.yaml --dev
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).
| Dev mode is the fastest way to prototype integrations. Keep it running while you iterate on your routes. |
Want a visual overview of your running routes, message flow, and health status — right in the terminal?
Just type camel tui — the plugin auto-installs on first use, no setup needed.
See Camel TUI for details.
|
Try a built-in example
Don’t have a route yet? The CLI ships with a catalog of ready-to-run examples:
camel run --example
This lists all available examples grouped by difficulty (beginner, intermediate, advanced), with icons showing whether they are bundled (work offline), require Docker, or include Citrus tests.
Run one directly:
camel run --example=timer-log
camel run --example=rest-api --dev
Combine with --dev for live reload while exploring the example.
|
Browse the component catalog
Discover what Camel offers — components, data formats, languages, and Kamelets:
camel catalog component
camel catalog kamelet
Run camel catalog --help to see all sub-commands.
|
Component documentation
Show quick reference documentation (description + all configuration options):
camel doc kafka
camel doc jackson
camel doc aws-kinesis-sink
| This shows catalog-level documentation with option tables, not the full website documentation. |
If a component and data format share the same name, prefix with dataformat: (e.g., camel doc dataformat:thrift).
Open the online documentation in a browser with --open-url, or get just the URL with --url:
camel doc kafka --open-url
Filter options by name, description, or group (producer, security, advanced, etc.):
camel doc kafka --filter=security
camel doc kafka --filter=timeout
Open API
Camel CLI supports contract-first REST development — each OpenAPI operation is bridged to
a Camel route via direct:<operationId>.
See the open-api example for details.
Enable shell completion
Tab completion makes discovering commands much easier:
source <(camel completion)
To make it permanent:
echo 'source <(camel completion)' >> ~/.bashrc
Interactive shell
Launch an interactive shell with command history, autocompletion, and alias support:
camel shell
All CLI commands are available inside the shell without the camel prefix.
The shell stores history in ~/.camel-jbang-history and aliases in ~/.camel-jbang-aliases.
Check your environment
Run the doctor to verify that your environment is set up correctly:
camel doctor
This checks Camel and Java versions, JBang availability, Maven repository connectivity, container runtime (Docker/Podman), and disk space.
Explore commands
Every command supports --help:
camel run --help
camel init --help
For the full list of commands, see the Command Reference.
What’s next
| Next step | When to use it |
|---|---|
Dev mode options, profiles, properties, GitHub-hosted routes, Spring Boot and Quarkus runtimes. |
|
Spin up databases, message brokers, and other infrastructure for your routes. |
|
Send and receive test messages, configure JDBC, set up dependency injection. |
|
Step through routes with the built-in debugger or connect your IDE. |
|
Export to Spring Boot, Quarkus, or Camel Main for production. Manage dependencies and versions. |