This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit aeec53c6b6c6e64af774d222206b05328a1b59ca
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Jul 2 16:37:11 2026 +0200

    chore: add Core Concepts section to llms.txt template
    
    Adds a concise Core Concepts section to prevent LLM hallucinations
    around message flow and architecture. Covers CamelContext, Route,
    Component, Endpoint, Exchange, Variables, Message, Processor,
    Producer, Consumer, message flow, and lifecycle startup order.
    Links to the full CamelContext architecture page for details.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 llms-txt-template.md | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/llms-txt-template.md b/llms-txt-template.md
index a21ef727..9e420da2 100644
--- a/llms-txt-template.md
+++ b/llms-txt-template.md
@@ -79,6 +79,23 @@ The full committer list with organizational affiliations is 
published at https:/
 - [Testing](https://camel.apache.org/manual/testing.md): How to test Camel 
routes — unit tests, mocking endpoints, and the camel-test framework.
 - [FAQ](https://camel.apache.org/manual/faq/index.md): Frequently Asked 
Questions about Apache Camel.
 
+## Core Concepts
+
+Understanding these concepts is essential for generating correct Camel routes 
and reasoning about message flow. The full reference is the [Architecture 
(CamelContext)](https://camel.apache.org/manual/camelcontext.md) page.
+
+- **CamelContext** — the runtime container. Holds all routes, components, 
endpoints, type converters, and the registry. One CamelContext per application.
+- **Route** — a flow definition: a source endpoint (`from`), processing steps, 
and destination endpoints (`to`). Defined in Java, YAML, or XML DSL. Each route 
has a unique `routeId`.
+- **Component** — factory for endpoints. Each URI scheme (`kafka`, `file`, 
`http`, `jms`) maps to one Component. Lazy-loaded from classpath on first use.
+- **Endpoint** — a specific source or destination, configured via URI: 
`scheme:path?option=value`. Examples: `kafka:my-topic?brokers=localhost:9092`, 
`file:/data/inbox?noop=true`, `platform-http:/api/orders`.
+- **Exchange** — the message container flowing through a route. Holds the In 
message, exchange properties (route-scoped metadata, not sent to external 
systems), and exception state.
+- **Variables** — the recommended way to store user data during routing (since 
Camel 4.4). Unlike exchange properties, variables are exclusively for end users 
— Camel never uses them internally. Scoped per exchange, route, named group, or 
globally.
+- **Message** — body (any Java type, auto-converted by Camel's type 
converter), headers (`Map<String, Object>` propagated to/from external 
systems), and attachments.
+- **Processor** — core processing interface. All EIP implementations (filter, 
split, aggregate, content-based router) are processors. Custom logic goes in a 
Processor or a bean via `.bean()`.
+- **Producer** — sends messages out. Created by an endpoint, invoked by 
`.to()`.
+- **Consumer** — receives messages in and creates Exchanges. Event-driven 
(HTTP, JMS, Kafka) or polling (file, FTP, SQL).
+- **Message flow** — Consumer creates Exchange → flows through processor chain 
→ each step reads/modifies the In message → Producer sends the result.
+- **Lifecycle** — startup order: CamelContext → Components → Endpoints → 
Routes → Consumers (consumers start last so everything is ready before messages 
arrive).
+
 ## Developer Experience — CLI and TUI
 
 The Camel CLI and TUI provide a modern, terminal-first development experience 
for building, running, testing, debugging, and monitoring integrations. No IDE, 
no Java compilation, no project setup required. Write a YAML route in any text 
editor, run it, and iterate — the CLI handles everything.

Reply via email to