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. |