Skip to content

Comments

✨ add hints generation blog#66

Merged
savitharaghunathan merged 4 commits intokonveyor:mainfrom
savitharaghunathan:hints_gen
Jul 1, 2025
Merged

✨ add hints generation blog#66
savitharaghunathan merged 4 commits intokonveyor:mainfrom
savitharaghunathan:hints_gen

Conversation

@savitharaghunathan
Copy link
Member

@savitharaghunathan savitharaghunathan commented Jul 1, 2025

Summary by CodeRabbit

  • New Features
    • Added a new blog post: "From 'Good Examples' to a Reusable Hint for App Modernization," detailing a Generative AI approach for generating reusable migration hints, with step-by-step guidance, code examples, and community collaboration opportunities.

Signed-off-by: Savitha Raghunathan <saveetha13@gmail.com>
@netlify
Copy link

netlify bot commented Jul 1, 2025

Deploy Preview for glowing-cassata-a7b83f ready!

Name Link
🔨 Latest commit 97c667c
🔍 Latest deploy log https://app.netlify.com/projects/glowing-cassata-a7b83f/deploys/68642d8a67a1e9000896f07f
😎 Deploy Preview https://deploy-preview-66--glowing-cassata-a7b83f.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 1, 2025

Walkthrough

A new blog post was added that details a research and development process for generating reusable migration hints using Generative AI. The article focuses on migrating Java EE JMS Message-Driven Beans to Quarkus reactive messaging, outlining a five-step methodology and providing code examples, prompt design, and community collaboration context.

Changes

File(s) Change Summary
content/blog/2025/hints_generation/index.md Added new blog post on AI-generated migration hints for app modernization, including methodology, code examples, prompt design, and community collaboration context.

Poem

In the warren of code, a new post appears,
On migration and AI, for modern frontiers.
From beans to Quarkus, the journey’s retold,
With hints that are clever, and stories of old.
Hop along, dear reader, let knowledge commence—
For rabbits and devs, it all just makes sense! 🐇✨


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@netlify
Copy link

netlify bot commented Jul 1, 2025

Deploy Preview for konveyor-docs ready!

Name Link
🔨 Latest commit 97c667c
🔍 Latest deploy log https://app.netlify.com/projects/konveyor-docs/deploys/68642d8a4c9765000858c229
😎 Deploy Preview https://deploy-preview-66--konveyor-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (5)
content/blog/2025/hints_generation/index.md (5)

15-15: Replace smart quotes in YAML to avoid build-time parsing issues

Several static‐site generators choke on Unicode “smart” quotes inside YAML.
Convert them to plain ASCII quotes to stay safe.

-title: "From “Good Examples” to a Reusable Hint for App Modernization"
+title: "From \"Good Examples\" to a Reusable Hint for App Modernization"

37-37: Add the required comma for a compound sentence

-We have a handful of Java EE JMS MDBs already migrated to Quarkus and they look perfect. 
+We have a handful of Java EE JMS MDBs already migrated to Quarkus, and they look perfect. 

59-60: Drop the trailing ! in fenced-code language tags

text!, java!, etc. are not recognised by common Markdown renderers or highlight.js themes and will fall back to “plain-text”.
Use the bare language name instead.

-```text!
+```text
...
-```java!
+```java

Repeat for each affected code block.

Also applies to: 80-85, 143-146


133-137: Fix verb agreement

-The below example is uses the above generated hint and the model - llama-3.1-8B-Instruct
+The example below uses the generated hint and the model — llama-3.1-8B-Instruct

234-234: Resolve MD036: emphasis mistaken for a heading

Ending the article with an emphasized line triggers markdown-lint’s “no-emphasis-as-heading”.
Either promote it to a proper heading or drop the underscores.

-_Note: "Header image generated with AI"_
+> **Note:** Header image generated with AI
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 74782c1 and 1c32203.

⛔ Files ignored due to path filters (2)
  • content/blog/2025/hints_generation/header_hints.png is excluded by !**/*.png
  • content/blog/2025/hints_generation/hints_generation.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • content/blog/2025/hints_generation/index.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/2025/hints_generation/index.md

[uncategorized] ~22-~22: There should be a space after a closing quote.
Context: ...against real code, tweak prompts, repeat”_—is the core of building Kai’s Generativ...

(NO_SPACE_CLOSING_QUOTE)


[uncategorized] ~37-~37: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... EE JMS MDBs already migrated to Quarkus and they look perfect. How do we capture th...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~43-~43: You might be missing the article “the” here.
Context: ...tion.png) ### 1.1. High-Level Steps in Process With the goal of enriching rules with ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~133-~133: Possible missing comma found.
Context: ...oncept can be extended to any migration issue backed by a good set of before and afte...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~137-~137: The verb form seems incorrect.
Context: ... models and examples. The below example is uses the above generated hint and the model ...

(IS_VBZ)

🪛 markdownlint-cli2 (0.17.2)
content/blog/2025/hints_generation/index.md

234-234: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (1)
content/blog/2025/hints_generation/index.md (1)

114-118: Confirm property prefix accuracy

quarkus.jms.* is used for the legacy JMS extension, not for reactive messaging.
If the intent is reactive messaging, the correct prefix is typically mp.messaging.*.
Please verify and update accordingly, or clarify in the text.

Signed-off-by: Savitha Raghunathan <saveetha13@gmail.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
content/blog/2025/hints_generation/index.md (1)

99-105: Incorrect dependency – still points to quarkus-resteasy instead of the messaging extension
This was flagged in the previous review and hasn’t been fixed. quarkus-resteasy is a REST endpoint extension, not the Quarkus Messaging one referenced in the text. Copy-pasting this block will break readers who follow the instructions.

-    <dependency>
-        <groupId>io.quarkus</groupId>
-        <artifactId>quarkus-resteasy</artifactId>
-    </dependency>
+    <dependency>
+        <groupId>io.quarkus</groupId>
+        <artifactId>quarkus-smallrye-reactive-messaging</artifactId>
+    </dependency>
🧹 Nitpick comments (2)
content/blog/2025/hints_generation/index.md (2)

60-66: Non-standard code-fence markers (text!, java!) can break syntax highlighting
The exclamation mark is not recognised by most Markdown renderers and will drop syntax colouring in many docs sites.

-```text!
+```text
-```java!
+```java

Apply to all occurrences.

Also applies to: 81-86, 144-145, 192-196


20-20: Minor grammar & punctuation polish

- …prompts, repeat”_—is the core…
+ …prompts, repeat”_ — is the core…

- …migrated to Quarkus and they look perfect.
+ …migrated to Quarkus, and they look perfect.

- ### 1.1. High-Level Steps in Process
+ ### 1.1. High-Level Steps in the Process

- …any migration issue backed by a good set of before and after migration examples.
+ …any migration issue, backed by a good set of before-and-after migration examples.

- The below example is uses the above generated hint…
+ The example below uses the generated hint…

- …configuration tweak.Using the newly generated hint  allowed us…
+ …configuration tweak. Using the newly generated hint allowed us…

Also applies to: 38-38, 44-44, 134-134, 138-138, 229-229

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1c32203 and c08a5ba.

📒 Files selected for processing (1)
  • content/blog/2025/hints_generation/index.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/2025/hints_generation/index.md

[uncategorized] ~20-~20: There should be a space after a closing quote.
Context: ...against real code, tweak prompts, repeat”_—is the core of building Kai’s Generativ...

(NO_SPACE_CLOSING_QUOTE)


[uncategorized] ~38-~38: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... EE JMS MDBs already migrated to Quarkus and they look perfect. How do we capture th...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~44-~44: You might be missing the article “the” here.
Context: ...tion.png) ### 1.1. High-Level Steps in Process With the goal of enriching rules with ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~134-~134: Possible missing comma found.
Context: ...oncept can be extended to any migration issue backed by a good set of before and afte...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~138-~138: The verb form seems incorrect.
Context: ... models and examples. The below example is uses the above generated hint and the model ...

(IS_VBZ)

🔇 Additional comments (1)
content/blog/2025/hints_generation/index.md (1)

115-119: Verify property keys – these are not valid for Quarkus Reactive Messaging
quarkus.jms.connection-factory.* and quarkus.jms.destination.* belong to the (preview) JMS connector, not to SmallRye Reactive Messaging. If the goal is reactive messaging over e.g. Artemis, the expected keys are usually under messaging.incoming/outgoing. Please double-check against the upstream docs.

@savitharaghunathan
Copy link
Member Author

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
content/blog/2025/hints_generation/index.md (1)

101-104: Replace RESTEasy with the correct Quarkus Messaging dependency
quarkus-resteasy is unrelated to messaging and will mislead readers who copy-paste the snippet.

-    <artifactId>quarkus-resteasy</artifactId>
+    <artifactId>quarkus-smallrye-reactive-messaging</artifactId>
🧹 Nitpick comments (4)
content/blog/2025/hints_generation/index.md (4)

60-66: Drop the trailing “!” from code-fence language identifiers
The non-standard back-tick opener text! can break syntax highlighting on many Markdown renderers.

-```text!
+```text

Apply the same change to every occurrence.

Also applies to: 81-83, 92-93


38-38: Add a comma before “and” to join two independent clauses

-…already migrated to Quarkus and they look perfect.
+…already migrated to Quarkus, and they look perfect.

44-44: Insert the definite article for readability

-### 1.1. High-Level Steps in Process
+### 1.1. High-Level Steps in the Process

138-138: Fix verb duplication

-The below example is uses the above generated hint…
+The example below uses the generated hint…
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c08a5ba and ec7a9c9.

📒 Files selected for processing (1)
  • content/blog/2025/hints_generation/index.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/2025/hints_generation/index.md

[uncategorized] ~20-~20: There should be a space after a closing quote.
Context: ...against real code, tweak prompts, repeat”_—is the core of building Kai’s Generativ...

(NO_SPACE_CLOSING_QUOTE)


[uncategorized] ~38-~38: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... EE JMS MDBs already migrated to Quarkus and they look perfect. How do we capture th...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~44-~44: You might be missing the article “the” here.
Context: ...tion.png) ### 1.1. High-Level Steps in Process With the goal of enriching rules with ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~134-~134: Possible missing comma found.
Context: ...oncept can be extended to any migration issue backed by a good set of before and afte...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~138-~138: The verb form seems incorrect.
Context: ... models and examples. The below example is uses the above generated hint and the model ...

(IS_VBZ)

Signed-off-by: Savitha Raghunathan <saveetha13@gmail.com>
Signed-off-by: Savitha Raghunathan <saveetha13@gmail.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
content/blog/2025/hints_generation/index.md (1)

101-104: Incorrect Quarkus dependency (same issue flagged previously)

quarkus-resteasy is a REST endpoint extension, not the Quarkus Messaging extension you are describing. Readers who copy-paste this will not get any reactive-messaging classes on the class-path.

   <dependency>
       <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-resteasy</artifactId>
+      <artifactId>quarkus-smallrye-reactive-messaging</artifactId>
   </dependency>
🧹 Nitpick comments (5)
content/blog/2025/hints_generation/index.md (5)

5-5: Tight commas and wording make the description hard to scan

There are missing spaces after commas and an awkward “migration scenarios examples” phrasing.

-  A behind-the-scenes look at how we turned migration scenarios examples,from JMS MDBs to Spring Boot upgrades,into a reusable GenAI component.
+  A behind-the-scenes look at how we turned migration-scenario examples, from JMS MDBs to Spring Boot upgrades, into a reusable GenAI component.

18-18: Missing space after comma in body text

Add the space so the sentence reads naturally.

-…a series of migration scenarios,everything from JMS-based…
+…a series of migration scenarios, everything from JMS-based…

20-20: Punctuation glitch after the quoted phrase

A space is required after the comma; otherwise it renders as ”_,is.

-…repeat”_,is the core of building Kai’s Generative AI hint component.
+…repeat”_, is the core of building Kai’s Generative AI hint component.

138-138: Grammar: “is uses”

-The below example is uses the above generated hint and the model, `llama-3.1-8B-Instruct`.
+The example below uses the generated hint with the model `llama-3.1-8B-Instruct`.

60-63: Non-standard code-block fence (text!) may lose syntax highlighting

Unless your Markdown renderer recognises the ! suffix, drop it to avoid fallback to plain text.

-```text!
+```text
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ec7a9c9 and d7c3837.

📒 Files selected for processing (1)
  • content/blog/2025/hints_generation/index.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/2025/hints_generation/index.md

[uncategorized] ~20-~20: There should be a space after a closing quote.
Context: ...against real code, tweak prompts, repeat”_,is the core of building Kai’s Generativ...

(NO_SPACE_CLOSING_QUOTE)


[uncategorized] ~38-~38: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... EE JMS MDBs already migrated to Quarkus and they look perfect. How do we capture th...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~44-~44: You might be missing the article “the” here.
Context: ...tion.png) ### 1.1. High-Level Steps in Process With the goal of enriching rules with ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~134-~134: Possible missing comma found.
Context: ...oncept can be extended to any migration issue backed by a good set of before and afte...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~138-~138: The verb form seems incorrect.
Context: ... models and examples. The below example is uses the above generated hint and the model,...

(IS_VBZ)

Copy link
Member

@jwmatthews jwmatthews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
content/blog/2025/hints_generation/index.md (1)

97-103: Wrong dependency – still points to RESTEasy instead of messaging

The previous review already covered this; the artifact remains unchanged.

-       <artifactId>quarkus-resteasy</artifactId>
+       <artifactId>quarkus-smallrye-reactive-messaging</artifactId>
🧹 Nitpick comments (3)
content/blog/2025/hints_generation/index.md (3)

16-16: Missing space after comma
Minor punctuation issue – add a space after the comma for readability.

-…migration scenarios,everything from JMS-based…
+…migration scenarios, everything from JMS-based…

18-18: Add space after closing quote

-…repeat”_,is the core of building Kai’s…
+…repeat”_, is the core of building Kai’s…

136-136: Grammar tweak for clarity

-The below example is uses the above generated hint and the model, `llama-3.1-8B-Instruct`.
+The example below uses the generated hint and the model `llama-3.1-8B-Instruct`.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d7c3837 and 97c667c.

📒 Files selected for processing (1)
  • content/blog/2025/hints_generation/index.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/2025/hints_generation/index.md

[uncategorized] ~18-~18: There should be a space after a closing quote.
Context: ...against real code, tweak prompts, repeat”_,is the core of building Kai’s Generativ...

(NO_SPACE_CLOSING_QUOTE)


[uncategorized] ~36-~36: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... EE JMS MDBs already migrated to Quarkus and they look perfect. How do we capture th...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~42-~42: You might be missing the article “the” here.
Context: ...tion.png) ### 1.1. High-Level Steps in Process With the goal of enriching rules with ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~132-~132: Possible missing comma found.
Context: ...oncept can be extended to any migration issue backed by a good set of before and afte...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~136-~136: The verb form seems incorrect.
Context: ... models and examples. The below example is uses the above generated hint and the model,...

(IS_VBZ)

🔇 Additional comments (1)
content/blog/2025/hints_generation/index.md (1)

113-116: Verify Quarkus JMS configuration keys

quarkus.jms.* is not a documented prefix for the current Quarkus JMS/Reactive-Messaging connectors (they usually use mp.messaging.connector.smallrye-jms.* or quarkus.artemis.*). Please confirm against the Quarkus docs and adjust accordingly to avoid misleading readers.

@savitharaghunathan savitharaghunathan merged commit 8146d04 into konveyor:main Jul 1, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants