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 the groups of the ladder with what each is about and the names of its examples: quick start first, then run, transform and map, route, fail well, connect without a service, connect to one service, contracts and security, AI and cloud, with showcase last. Name a group to see its examples in full, what you will see when each runs, what it needs and what it teaches, with icons for bundled (works offline), Docker, Citrus tests and a local model:
camel run --example=route An example can be named by its short name or by its group, route/aggregator.
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. |