konveyor / enhancements

Enhancements tracking repository for Konveyor
Apache License 2.0
3 stars 36 forks source link

[LFX Fall '24 Mentorship]: Intelli-j IDE plugin integration of analyzer-lsp for real time updates with Konveyor AI #187

Open hhpatel14 opened 2 months ago

hhpatel14 commented 2 months ago

This is a LFX mentorship project intended to run in Fall 2024

Related to: https://github.com/cncf/mentoring/blob/main/programs/lfx-mentorship/2024/03-Sep-Nov/project_ideas.md#intelli-j-ide-plugin-integration-of-analyzer-lsp-for-real-time-updates-with-konveyor-ai

Description

Konveyor provides a unified experience of tools to help organizations modernize their applications at scale, transitioning them to Kubernetes and cloud-native technologies. Recently the Konveyor community began the development of a Generative AI approach for application modernization called Konveyor-AI. Konveyor AI accelerates application migration by discovering migration incidents in the source code and providing LLM-generated fixes in a diff view presentation. When proposed changes are accepted, it provides real-time updates on the number of incidents. The presentation side for this work is currently serviced via an IDE extension for VSCode.

We would like to expand Konveyor AI to have an Intelli-J plugin. The first step to establishing an Intelli-J plugin for Konveyor AI is to explore how we integrate the static code analysis tool, analyzer-lsp, into an Intelli-J plugin. We would like to create a common module that encapsulates interaction with analyzer-lsp and leverage this common module in multiple IDE plugins, to begin this will focus on VSCode and IntelliJ.

In this project, you will:

Current Situation:

The IntelliJ platform-based IDE currently uses the Konveyor CLI tool, Kantra (https://github.com/konveyor/kantra), which unifies analysis and transformation capabilities. However, for time optimization in real-time update functionality, we need to replace Kantra with the analyzer-lsp tool.

Expected Outcome:

Define and implement a new module or library to facilitate integration of analyzer-lsp into multiple IDEs. We will start with VSCode and IntelliJ to begin.

This project will not only enhance the functionality of Konveyor-AI across multiple IDEs but also provide a rich learning experience for participating students. By converting analyzer-lsp into a reusable module or library, we can ensure easier maintenance and scalability of the tool.

Related Links:

Konveyor Contributor Guide Konveyor Unified Experience Konveyor AI Kai VScode plugin Kantra

konveyor-ci-bot[bot] commented 2 months ago

This issue is currently awaiting triage. If contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance. The triage/accepted label can be added by org members.

ayushanand308 commented 2 months ago

I am looking forward to participate in the mentorship. Where can i get started to understand this project better?

varshith257 commented 2 months ago

@savitharaghunathan @hhpatel14 Any communication channel to get discuss of this idea? and how to get started?

soham4abc commented 2 months ago

Hello @savitharaghunathan @hhpatel14

Myself Soham, an Intern at PricewaterhouseCoopers LLP as a Security Operations Center analyst and GSOC 2022 and 2023 mentee is expressing his keen interest to be a part of the CNCF mentorship programme under the Konveyor organisation.

As I have previous experience working with generative AI and developing IDE plugins in my previous internships. I have a strong foundation and professional experience in Typescript and Java thus this project interests me a lot!

Currently I am looking forward to drafting a detailed proposal for the problem statement mentioning the details and processes that would be involved in order to deliver the expected outcomes. Looking forward to communicate with you all and be a part of this amazing organisation.

Cheers!

jwmatthews commented 2 months ago

@savitharaghunathan @hhpatel14 Any communication channel to get discuss of this idea? and how to get started?

To get started with learning about Kai backend you can begin looking at https://github.com/konveyor/kai/blob/main/CONTRIBUTING.md

For learning about the current VSCode plugin for Kai see: https://github.com/konveyor-ecosystem/kai-vscode-plugin/blob/main/docs/user-guide.md

Best :)

soham4abc commented 2 months ago

@savitharaghunathan @hhpatel14 Any communication channel to get discuss of this idea? and how to get started?

To get started with learning about Kai backend you can begin looking at https://github.com/konveyor/kai/blob/main/CONTRIBUTING.md

For learning about the current VSCode plugin for Kai see: https://github.com/konveyor-ecosystem/kai-vscode-plugin/blob/main/docs/user-guide.md

Best :)

Sure!

Thanks for the resources...will have a look asap! 😊

Ytemiloluwa commented 2 months ago

Attention: @hhpatel14 The two projects for Konveyor AI are pointing to the same issue #187 but they are two different projects. I have intentions to work on

Enhancing Kai with Data Querying for Fine-Tuning and Potential InstructLab Integration

CNCF - Konveyor AI: Data Querying for Kai & InstructLab Integration Potential (2024 Term 3)

jwmatthews commented 2 months ago

Attention: @hhpatel14 The two projects for Konveyor AI are pointing to the same issue #187 but they are two different projects. I have intentions to work on

Enhancing Kai with Data Querying for Fine-Tuning and Potential InstructLab Integration

CNCF - Konveyor AI: Data Querying for Kai & InstructLab Integration Potential (2024 Term 3)

cc @JonahSussman

Thank you @Ytemiloluwa I will work with team to correct the mistake in

https://github.com/cncf/mentoring/blob/main/programs/lfx-mentorship/2024/03-Sep-Nov/README.md?plain=1#L478

That should point to https://github.com/konveyor/enhancements/issues/191

Ytemiloluwa commented 2 months ago

Attention: @hhpatel14 The two projects for Konveyor AI are pointing to the same issue #187 but they are two different projects. I have intentions to work on Enhancing Kai with Data Querying for Fine-Tuning and Potential InstructLab Integration CNCF - Konveyor AI: Data Querying for Kai & InstructLab Integration Potential (2024 Term 3)

cc @JonahSussman

Thank you @Ytemiloluwa I will work with team to correct the mistake in

https://github.com/cncf/mentoring/blob/main/programs/lfx-mentorship/2024/03-Sep-Nov/README.md?plain=1#L478

That should point to #191

You are welcome @jwmatthews . Yes it should point to #191

Are mentees required to submit a PR or Proposal on how they intend to approach their projects? @jwmatthews

yashpandey06 commented 2 months ago

Hey @jwmatthews I am looking forward to communication channel can you help me find that !.

Looking foward to healthy contribution this fall LFX

jwmatthews commented 2 months ago

Are mentees required to submit a PR or Proposal on how they intend to approach their projects? @jwmatthews

No, not required by us. You will need to follow all of the LFX rules and guidance for applying but we do not have any special requirements on top of that process

I believe there is a cover letter which may be submitted with your LFX application, you may share any thoughts you have there for project approach but this is not required.

jwmatthews commented 2 months ago

Hey @jwmatthews I am looking forward to communication channel can you help me find that !.

Slack and or GitHub issues are good places to communicate with the team.

Please see: https://github.com/konveyor/kai/blob/main/CONTRIBUTING.md#slack

Looking foward to healthy contribution this fall LFX

yashpandey06 commented 2 months ago

Appreciate it 👍

Ytemiloluwa commented 2 months ago

Are mentees required to submit a PR or Proposal on how they intend to approach their projects? @jwmatthews

No, not required by us. You will need to follow all of the LFX rules and guidance for applying but we do not have any special requirements on top of that process

I believe there is a cover letter which may be submitted with your LFX application, you may share any thoughts you have there for project approach but this is not required.

Yes there is a cover letter. Thank you for the feedback.

riyaa14 commented 2 months ago

Hello @savitharaghunathan @hhpatel14 @jwmatthews I am Riya, an undergraduate student looking forward to making meaningful contributions to this project. I have previous software development experience through an internship as a software engineer at Google and through multiple hackathons.

I have experience working with Java and JavaScript. I am comfortable with developer workflow tools like Git, GitHub and have worked with IntelliJ as well as VScode. This project aligns well with my experience and interests and thus I am highly interested in working on this.

I am getting more familiar with the project and its details and going through the resources provided. I will start working on a proof of concept once I am done with the ramp-up. Looking forward to making some impactful contributions! Thanks!

yashpandey06 commented 2 months ago

Hey thats looking cool , looking forward to healthy contribution under LFX Mentorship