luigidemasi opened a new issue, #164: URL: https://github.com/apache/camel-kit/issues/164
## Description Follow-up to #163: support adding substantial new functionality to an existing Camel application through the design → plan → execute → validate workflow. The workflow should first understand the existing application, then design and implement the requested change while preserving existing behavior and project conventions. Users should not need to treat the whole application as a new project or a migration. At revision `2863e915679e4b748b68e2bd24b8eace19e63bbf`, the router includes new-feature work, but the brainstorm skill explicitly describes itself as greenfield-only. Initialization also replaces Maven wrapper files and derives version settings from distribution defaults/overrides. These behaviors need explicit handling when adopting Camel Kit in an existing application. ## Expected behavior - **Safe adoption:** preserve existing build files, Maven wrappers, configuration, agent instructions and application sources. Identify conflicts before changing existing files; any intentional replacement must be explicit and scoped. Reinitialization must preserve user customizations. - **Existing-project discovery:** inspect the relevant modules, runtime, Camel/platform versions, DSL, routes, beans, configuration, interface contracts and tests. Reuse existing graph capabilities where available and inspect source when graph coverage is absent or incomplete. Ask only for unresolved information. - **Version and compatibility preservation:** bind the design and catalog checks to the existing project's runtime and versions. Do not silently upgrade dependencies or convert its DSL. Surface unsupported or ambiguous combinations before implementation. - **Feature-scoped design and planning:** record the requested additions, integration points, affected files and behavior that must remain unchanged. Reuse the existing approval and execution stages, with changes limited to the approved scope. - **Regression verification:** establish the existing build/test baseline, distinguish pre-existing failures from regressions, and verify both the new functionality and affected existing behavior. Report any unavailable checks explicitly. ## Initial scope Deliver one complete, documented example using an existing Camel 4 application, YAML routes and one currently supported runtime. State the tested runtime/version combination and its limits. Broader runtime, DSL and project-layout coverage can follow from concrete examples. Extend the current workflow and reuse the existing graph and pipeline mechanisms. Coordinate Java DSL expansion with #52 and interface-contract discovery with #111. ## Acceptance criteria - [ ] An existing application can adopt and reinitialize Camel Kit without silently replacing its build tooling, configuration, agent instructions or application code; automated checks cover preservation and conflicting files. - [ ] Discovery records the actual runtime, versions, DSL, relevant routes/contracts and test baseline. Unsupported or ambiguous inputs produce an actionable result rather than guessed defaults. - [ ] The approved design and plan describe a substantial new capability and its integration points, including explicit compatibility constraints and regression checks. - [ ] A representative existing-project fixture completes the workflow: add a meaningful integration capability, demonstrate that it works, and rerun checks for existing behavior. Verify that unrelated files and dependency versions remain unchanged. - [ ] Existing greenfield and migration entry paths retain their behavior; add focused regression coverage for routing and discovery. - [ ] Public documentation includes the worked example, safe adoption instructions, supported combinations and known limitations. ## Website impact **Required.** Update `docs/modules/ROOT/**` with an existing-project workflow and worked example, and link it from getting started, Brainstorm and the workflow overview. Include documentation with the implementation, or create and link a `documentation` follow-up before closing this issue. ## Additional context - User discussion: #163. - Related work: #52 (Java DSL support), #111 (interface-contract discovery). - [Current router](https://github.com/apache/camel-kit/blob/2863e915679e4b748b68e2bd24b8eace19e63bbf/kit/camel-kit-core/src/main/resources/skills/camel-start/SKILL.md). - [Current brainstorm scope](https://github.com/apache/camel-kit/blob/2863e915679e4b748b68e2bd24b8eace19e63bbf/kit/camel-kit-core/src/main/resources/skills/camel-brainstorm/SKILL.md). - [Initialization and version configuration](https://github.com/apache/camel-kit/blob/2863e915679e4b748b68e2bd24b8eace19e63bbf/kit/camel-kit-core/src/main/java/org/apache/camel/kit/service/InitService.java). _AI-generated by Codex on behalf of @luigidemasi._ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
