Claus Ibsen created CAMEL-25143:
-----------------------------------
Summary: camel-jbang - TUI: AI project analysis that generates
route descriptions and an integration summary, shown as AI-assisted and exposed
via MCP and CLI
Key: CAMEL-25143
URL: https://issues.apache.org/jira/browse/CAMEL-25143
Project: Camel
Issue Type: New Feature
Components: camel-jbang
Reporter: Claus Ibsen
Give users a high-level, business-readable overview of a Camel project at the
source level: what each integration does, how the routes relate, and which
external systems they touch. Commercial iPaaS products offer this kind of
overview. Camel has the pieces (route topology, catalog metadata, TUI AI
panel), but nothing ties them together into an explained overview.
The main problem is that route diagrams turn into spaghetti in projects with
many routes, especially when routes have no {{description}}. An LLM can close
that gap: it can analyze the project once and produce the missing explanations.
Use the TUI as the prototype, as we already do for other AI features, and then
expose the same capability to agents and the CLI.
h3. Proposal
*1. AI project analysis (TUI setting)*
When an AI provider is configured in the TUI, add a setting (opt-in) that lets
the AI analyze the source/project and:
* propose {{description}} values for routes, and for key steps where they are
missing, applied as a normal source edit the user reviews and accepts, so the
result is versioned with the routes and benefits every tool (TUI, dev console,
diagrams, catalog)
* build an *integration summary file* for the project: capabilities / route
groups, entry points (HTTP, schedules, topics, files), external systems by
category, and the flows between routes (call / hand-off / event)
* refresh the summary when routes change (on demand, or when the source is out
of date with the summary)
*2. Show AI-assisted information distinctly*
Anything that comes from the AI (generated summaries, proposed descriptions not
yet accepted, explanations) must be shown in a dedicated color style or with a
hint marker, so end users learn to tell AI-assisted information apart from what
comes from the source code or the runtime.
*3. Layered overview instead of one flat diagram*
Use the summary to show capabilities / groups first (route {{group}},
file/folder layout, kamelets), and let the user drill down to routes and steps.
This keeps large projects readable.
*4. Explain relationships*
Let the user ask about edges, not just nodes: "why does intake hand off to
processing over seda?", "what happens if the Kafka topic is unavailable?".
Answer from the topology plus the summary (endpoints, link kinds, error
handlers).
*5. Flag structural issues*
The same analysis can point out orphan {{direct:}}/{{seda:}} endpoints, cycles,
routes with no description, and trivial pass-through routes.
*6. MCP tool and CLI*
Expose the analysis and the summary through the shared authoring tools (camel_
prefix, usable from both MCP servers) so any agent can use them, and through a
CLI command. The pre-generated summary is cheap to serve and works well with
small local models, because the heavy reasoning happened once.
h3. Notes
* Base component names and categories on the Camel catalog (titles and labels)
rather than hand-maintained lists, so all components are covered.
* Endpoint matching between routes should reuse the existing topology / URI
normalization (see the topology follow-up about components that need required
query parameters to match destinations).
* The summary file format should be plain and reviewable (e.g. Markdown or
YAML) and safe to commit. It must not include resolved property values or
secrets.
_Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)