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]

Reply via email to