Part of the Apache Camel Kit monorepo. Source-build commands below run from the repository root.
Design, implement, and verify Apache Camel integrations with AI coding assistants.
Camel-Kit adds structured AI-agent workflows to your assistant that guide you through the full integration lifecycle — from designing the integration, through implementation and testing, to runtime verification. It works across multiple AI agents and produces production-ready Apache Camel routes.
Inspired by GitHub Spec-Kit, adapted for the Apache Camel ecosystem.
Entry: /camel-start (routes migration, planning, execution, validation,
debugging, or greenfield work based on context)
Greenfield: /camel-brainstorm → /camel-plan → /camel-execute → /camel-validate
├── implements (camel-implement)
├── verifies (camel-verify, internal)
└── tests (camel-test)
Migration: /camel-migrate → /camel-plan → /camel-execute → /camel-validate
Utilities: /camel-ship (Technology Preview — delegate to the local Ship controller)
/camel-knowledge (documentation Q&A)
/camel-debug (standalone troubleshooting)
| Command | Purpose |
|---|---|
/camel-start | Entry point — routes migration sources to migrate, approved designs to plan, ready plans to execute, generated routes to validate, broken projects outside a pipeline to debug, and other work to brainstorm |
/camel-brainstorm | Interactive design session — produces business requirements and a design spec |
/camel-migrate | Migration from MuleSoft, Microsoft BizTalk, legacy Camel, or JBoss Fuse to modern Camel |
/camel-plan | Reviews approved design, creates a detailed implementation plan with wave analysis for parallel execution |
/camel-execute | Orchestrated execution — probes the environment, implements tasks in dependency waves, runs adversarial/spec/quality reviews, and performs applicable smoke and runtime verification |
/camel-validate | Final static quality gate or standalone project check — covers schema, endpoints, quality, security, anti-patterns, and constitution compliance without modifying routes |
/camel-debug | Standalone troubleshooting outside a pipeline for broken routes, build failures, startup errors, and runtime exceptions |
/camel-ship | Technology Preview. Thin harness entry point for the local Ship controller, which owns the end-to-end run and configurable oversight (always, smart, never) |
/camel-knowledge | Documentation Q&A — semantic search over Apache Camel docs, CVE advisories, release notes, and component catalog |
| Requirement | Purpose | Install |
|---|---|---|
| Java 17+ | Runtime | SDKMAN, Adoptium, or your package manager |
| JBang | CLI launcher for camel-kit | See below |
| Camel JBang | camel run, camel run --check for route execution and validation | jbang app install camel@apache/camel |
| Camel JBang test plugin | camel test run for Citrus integration tests in the verify loop | camel plugin add test |
| Docker | Conditional: external-service probes and full Citrus/Testcontainers verification | Install Docker Engine or Docker Desktop |
Camel JBang and its test plugin are needed for the complete execution and verification loops. Docker-dependent checks are reported as skipped when Docker is unavailable; design, planning, and checks that do not need containers still work.
Technology Preview: Camel Ship is still being stabilized. Its behavior and interfaces may change, and it is not recommended for production use. For the established staged workflow, start with /camel-start.
The optional Ship controller requires Linux and supports Camel Main projects with YAML DSL routes. Its default backend requires Pi and Node. Bob 2, GitHub Copilot CLI and Claude Code can use their own read-only native subagents through the generated Ship skill; the controller writes their proposals and validates the result. Current development builds also support Codex native Ship. See Bob native Ship, Copilot native Ship, Claude Code native Ship and Codex native Ship. The maintained versions are Pi 0.84.2 or 0.83.0 with Node 22.22.2; unverified versions run only with --accept-experimental, while explicitly incompatible versions remain rejected. See camel-ship for the complete contract.
camel-kit init checks Java, JBang, Camel JBang, and the Camel test plugin. Missing tools produce warnings but don't block initialization; Docker and Ship prerequisites are checked when those workflows run.
This README describes the current monorepo sources. Installation and Quick Start examples marked 0.4.1 use that published release, paired with Knowledge MCP 0.0.2. Those releases retain their original io.github.luigidemasi Maven coordinates and tagged catalogs. Ship remains a Technology Preview and is not recommended for production use.
| Channel | Install source | Version |
|---|---|---|
| Release | Tagged JBang catalog or Maven Central plugin | 0.4.1 |
| Development | Default GitHub JBang catalog or a source build | 0.4.2-SNAPSHOT |
Both command surfaces provide init, doctor, doc, graph, plan, nextId, and ship, and all eight AI targets documented below. Pin the release when you need reproducible installation. The unqualified GitHub alias follows development; hosted snapshots are mutable and may lag main.
# Install JBang (if not already installed) curl -Ls https://sh.jbang.dev | bash -s - app setup # Linux/macOS iex "& { $(iwr -useb https://ps.jbang.dev) } app setup" # Windows PowerShell # Install the release globally jbang app install camel-kit@luigidemasi/camel-kit/camel-kit-0.4.1 # Verify: prints 0.4.1 camel-kit --version
jbang run camel-kit@luigidemasi/camel-kit/camel-kit-0.4.1 init my-integration --ai claude
If you already use Camel JBang, install Camel Kit as a plugin:
camel plugin add kit \ --gav io.github.luigidemasi:camel-jbang-plugin-kit:0.4.1 \ --description "Design Apache Camel Integrations with AI" camel kit init my-integration --ai claude
To upgrade from 0.3.1, reinstall the plugin at 0.4.1. The retired bob and gemini targets are replaced by bob2 (the default) and antigravity; see the migration instructions. Back up customized generated files before reinitializing with --force.
Camel Main, Camel Spring Boot, and Camel MCP now default to 4.22.1; the supported older LTS patch remains 4.18.4. Spring Boot uses 4.1.1, matching the published Camel Spring Boot release. Quarkus retains its independently aligned platform versions. Camel 4.22.1 maps to Forage 1.6.1, including its InfluxDB 1 and 2 client factories for Camel Main and Spring Boot. The existing 4.22.0 to Forage 1.6.0 mapping remains.
Version 0.4.1 updates shared generation and review guidance to prefer verified declarative bean construction after Forage and component configuration. Knowledge MCP 0.0.2 aligns endpoint validation with the Camel 4.22.1 catalog.
Reinstall the standalone CLI with jbang app install --force camel-kit@luigidemasi/camel-kit/camel-kit-0.4.1, or rerun the plugin installation above. To apply the updated guidance to an existing project, commit or back up customized generated files, then run camel-kit init --here --ai <your-agent> --force (or camel kit init --here --ai <your-agent> --force). This rewrites generated assets.
jbang app install --force camel-kit@apache/camel-kit
This installs the latest deployed 0.4.2-SNAPSHOT. Build from source for a specific revision.
In current source builds, init configures Camel and Knowledge MCP by default; add --with-citrus-mcp to include Citrus MCP. Release 0.4.1 included all three by default. This option controls the MCP configuration, not the Citrus test workflow. Claude skills now use native discovery under .claude/skills/; regeneration removes the old generated command stubs while preserving user-created commands. The agent layout table below describes these current sources. See the changelog for changes since 0.4.1.
Build from source to use the current snapshot without waiting for the published snapshot artifact:
git clone https://github.com/apache/camel-kit.git cd camel-kit ./mvnw -B clean install # Install the development version globally via JBang jbang app install --name camel-kit --force \ kit/camel-kit-main/src/main/jbang/main/CamelKit.java # Or install the matching Camel plugin from the local Maven repository camel plugin add kit \ --gav org.apache.camel:camel-jbang-plugin-kit:0.4.2-SNAPSHOT \ --description "Design Apache Camel Integrations with AI" # Verify camel-kit --help
The root build also builds the Knowledge MCP server. For an individual product, first install the shared parent if it is not already available in your Maven repository, then select the product:
./mvnw -B -N install ./mvnw -B -f kit/pom.xml clean install # Or: ./mvnw -B -f knowledge/pom.xml clean install
Kit, Knowledge and the shared parent have independent versions and release schedules. Current Java packages use org.apache.camel.kit and Maven modules use org.apache.camel. Java consumers migrating from io.github.luigidemasi.camelkit must update imports and dependencies. Shared documentation lives in root docs/.
Building Knowledge does not change the runner that Kit generates in MCP configuration. The default remains io.github.luigidemasi:camel-kit-knowledge-mcp:0.0.2:runner, pinned in root distribution.properties. After installing the current Knowledge source build, select both its group and version explicitly with the current Kit CLI:
camel-kit init my-integration --ai claude --no-fetch \ -p knowledge.mcp.group-id=org.apache.camel \ -p knowledge.mcp.version=0.0.3-SNAPSHOT
This generates org.apache.camel:camel-kit-knowledge-mcp:0.0.3-SNAPSHOT:runner for that workspace. --no-fetch skips external catalog downloads during initialization. Follow Knowledge index setup to configure a local index or an explicit legacy manifest until the first compatible index release is published in the monorepo. Knowledge remains usable independently of Kit.
The examples below use the 0.4.1 release.
# 1. Create a new project (choose your AI assistant) camel-kit init my-integration # IBM Bob 2 (default) camel-kit init my-integration --ai claude # Anthropic Claude Code camel-kit init my-integration --ai bob2 # IBM Bob 2 camel-kit init my-integration --ai antigravity # Google Antigravity camel-kit init my-integration --ai codex # OpenAI Codex CLI camel-kit init my-integration --ai copilot # GitHub Copilot CLI camel-kit init my-integration --ai pi # Pi camel-kit init my-integration --ai qwen # Qwen camel-kit init my-integration --ai opencode # OpenCode # 2. Override configuration if needed camel-kit init my-integration --ai claude -p "camel.main.version=4.18.4" # 3. Open in your AI assistant cd my-integration # 4. Start designing /camel-start # For GitHub Copilot CLI, ask Copilot: "Use the /camel-start skill." # Run /skills list if you need to inspect available project skills. # For Codex CLI, trust the repository, then run $camel-start. # Use /skills to inspect project skills and /mcp to inspect MCP servers. # For Pi, install the MCP adapter, trust the project, then run /skill:camel-start. # pi install npm:pi-mcp-adapter@2.11.0
init generates the row selected by --ai; these are alternative target layouts, not one combined project tree.
| Agent | Init Flag | Primary Generated Assets | MCP Config |
|---|---|---|---|
| Anthropic Claude Code | --ai claude | CLAUDE.md + .claude/skills/ + .claude/agents/ + .claude/camel-kit-personas/ | .mcp.json |
| IBM Bob 2 (default) | --ai bob2 | .bob/custom_modes.yaml + rules + shared .bob/skills/ + scoped .bob/agents/ + .bob/personas/ | .bob/mcp.json |
| Google Antigravity | --ai antigravity | AGENTS.md + .agents/skills/ + .agents/agents/ + .agents/camel-kit-personas/ | .agents/mcp_config.json |
| OpenAI Codex CLI | --ai codex | AGENTS.md + .agents/skills/ + .codex/agents/ | .codex/config.toml |
| GitHub Copilot CLI | --ai copilot | .github/copilot-instructions.md + .github/agents/ + .github/skills/ | .github/mcp.json |
| Pi | --ai pi | AGENTS.md + .pi/skills/ + .pi/prompts/ + guard extension/policy | .mcp.json via pi-mcp-adapter |
| Qwen | --ai qwen | QWEN.md + .qwen/commands/ + .qwen/skills/ + .qwen/agents/ + .qwen/camel-kit-personas/ | .qwen/settings.json |
| OpenCode | --ai opencode | AGENTS.md + .opencode/commands/ + .opencode/skills/ + .opencode/agents/ + .opencode/camel-kit-personas/ | opencode.json (default) |
All supported targets use shared markdown skills with agent-specific traits and native configuration.
See Antigravity setup and migration from Gemini or Bob v1.
/camel-ship delegates to the configured camel-kit ship or camel kit ship command. The controller, rather than the AI harness, owns run state, stage transitions, validation evidence, and guarded publication, with always, smart, and never oversight. Learn more →doc check, doc stale, and doc unstale CLI commands manage pipeline artifact validity via structured YAML frontmatter, with --cascade for automatic downstream propagation. Learn more →@Inject, @Autowired, @Value, @ConfigProperty, @Component, @Service annotations and traces dependencies across interface boundaries. Inspired by Chinthareddy, “Reliable Graph-RAG for Codebases” (2026). Learn more →graph migration-context <routeId> performs a bounded local graph traversal (breadth-first, depth 3 by default, capped at 50 related nodes) and reports detected routes, components, services, artifacts, properties, and inferred-node warnings. It neither queries the Knowledge MCP nor guarantees a complete dependency chain. Learn more →#class:, #bean:, #autowired property syntax that instantiates and wires beans from application.properties. Learn more →--with-citrus-mcp. Learn more →apache/camel-website, with best-effort NVD enrichment and a CIRCL fallback during index rebuilds. The target-specific MCP tool contract is defined in the workflow manifest. Learn more →Workflow contributors should treat kit/camel-kit-core/src/main/resources/workflow/camel-kit-workflow.yaml as the source of truth for command, skill, stage, artifact, and MCP tool metadata before updating generated templates or reference docs.
See Releasing for the maintainer publication procedure.
Apache License 2.0 — see LICENSE.
See CONTRIBUTING.md.
Camel-Kit is built on ideas pioneered by the GitHub Spec-Kit team. We are grateful for their open approach to spec-driven development with AI assistants.