Guidelines for AI agents contributing examples to apache/camel-spring-boot-examples.
This repository contains runnable Maven examples that demonstrate Apache Camel on Spring Boot. Each example is an independent Spring Boot application wired as a Maven module of the aggregator build.
These guidelines complement the canonical, org-wide rules in the main apache/camel AGENTS.md. Read that file for the full Rules of Engagement; the section below repeats the essentials and adds what is specific to this examples repository.
./mvnw wrapper)javaVersion in the root pom.xml)org.apache.camel.springboot.example:examples (e.g. 4.23.0-SNAPSHOT on main); pulls camel-spring-boot-bom@CamelSpringBootTest (camel-test-spring-junit6)CAMEL (https://issues.apache.org/jira/projects/CAMEL)_Claude Code on behalf of [Human Name]_.fixVersions before closing.CAMEL-12345-rest-openapi-example). Delete the branch after merge/close. Never push to a branch you did not create../mvnw clean install and ./mvnw test must pass.<module> in the root pom.xml. A new example is not built until it is listed there.<category> property in each module's pom.xml (e.g. Beginner, Messaging, Cloud, REST, AI).<example>/
├── pom.xml # parent = examples; artifactId camel-example-spring-boot-<name>
├── README.adoc # AsciiDoc docs incl. "how to run"
└── src/
├── main/java/... # <Name>Application.java (@SpringBootApplication)
│ # <Name>Router.java (@Component extends RouteBuilder)
├── main/resources/
│ └── application.properties # Spring + Camel config (ASF header)
└── test/java/... # <Name>Test (@CamelSpringBootTest @SpringBootTest)
camel-<component>-starter), never raw camel-core dependencies; versions come from camel-spring-boot-bom.RouteBuilder with @Component.# one-time, from the repo root (resolves parent + shared config) ./mvnw clean install -DskipTests # run a single example cd <example> ../mvnw spring-boot:run # or ../mvnw clean package && java -jar target/camel-example-spring-boot-*.jar # tests ./mvnw test # all examples
CI (.github/workflows) runs ./mvnw -V --no-transfer-progress clean install -DskipTests then ./mvnw ... test on Java 21.
org.apache.camel.springboot.example:examples; child artifactId = camel-example-spring-boot-<name> (matches the directory); <name> = Camel SB Examples :: <Category> :: <Title>.<Name>Application (@SpringBootApplication + main), <Name>Router (extends RouteBuilder); tests end in Test..java, .properties, .xml, .adoc, .yml, .sh.{{placeholder}} in routes and camel.component.<component>.<option> keys in application.properties.mvn spring-boot:run.<example>/ with a pom.xml declaring the examples parent and the camel-example-spring-boot-<name> artifactId plus a <category>.<Name>Application.java, <Name>Router.java, application.properties, a <Name>Test, and a README.adoc — all with ASF headers.pom.xml <modules> block../mvnw -pl <example> -am clean install and confirm it starts and tests pass.