-
Notifications
You must be signed in to change notification settings - Fork 8
MTA-5378 Initial Configurations for Developer Lightspeed #174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
c019c9b
b05f388
d9c20ec
923ef40
b107e4f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
:_newdoc-version: 2.18.3 | ||
:_template-generated: 2025-04-08 | ||
|
||
ifdef::context[:parent-context-of-configuring-dev-lightspeed-ide: {context}] | ||
|
||
:_mod-docs-content-type: ASSEMBLY | ||
|
||
ifndef::context[] | ||
[id="configuring-dev-lightspeed-ide"] | ||
endif::[] | ||
ifdef::context[] | ||
[id="configuring-dev-lightspeed-ide_{context}"] | ||
endif::[] | ||
= Using {ProductShortName} with Developer Lightspeed in IDE | ||
|
||
|
||
:context: configuring-dev-lightspeed-ide | ||
|
||
You must configure the following settings in {mta-dl-plugin}: | ||
|
||
* Visual Studio Code IDE settings for all analysis. | ||
* Profile settings that provide context for a particular analysis. | ||
|
||
include::topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc[leveloffset=+1] | ||
|
||
include::topics/developer-lightspeed/proc_configuring-developer-profile-settings.adoc[leveloffset=+1] | ||
|
||
|
||
ifdef::parent-context-of-configuring-dev-lightspeed-ide[:context: {parent-context-of-configuring-dev-lightspeed-ide}] | ||
ifndef::parent-context-of-configuring-dev-lightspeed-ide[:!context:] | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../../topics/ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../../assemblies/ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
<title>Developer Lightspeed Guide</title> | ||
<productname>{DocInfoProductName}</productname> | ||
<productnumber>{DocInfoProductNumber}</productnumber> | ||
<subtitle>Using the {ProductName} Developer Lightspeed to modernize your applications</subtitle> | ||
<abstract> | ||
<para>you can use {ProductFullName} Developer Lightspeed for application modernization in your organization by running Artificial Intelligence-driven static code analysis for Java applications.</para> | ||
</abstract> | ||
<authorgroup> | ||
<orgname>Red Hat Customer Content Services</orgname> | ||
</authorgroup> | ||
<xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
:mta: | ||
include::topics/templates/document-attributes.adoc[] | ||
:_mod-docs-content-type: ASSEMBLY | ||
[id="mta-developer-lightspeed"] | ||
= MTA Developer Lightspeed | ||
|
||
:toc: | ||
:toclevels: 4 | ||
:numbered: | ||
:imagesdir: topics/images | ||
:context: mta-developer-lightspeed | ||
:mta-developer-lightspeed: | ||
|
||
//Inclusive language statement | ||
include::topics/making-open-source-more-inclusive.adoc[] | ||
|
||
include::assemblies/developer-lightspeed-guide/assembly_configuring-dev-lightspeed-ide.adoc[leveloffset=+1] | ||
|
||
:!mta-developer-lightspeed: |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../topics/ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
:_newdoc-version: 2.18.3 | ||
:_template-generated: 2025-02-26 | ||
:_mod-docs-content-type: PROCEDURE | ||
|
||
[id="configuring-developer-lightspeed-ide-settings_{context}"] | ||
= Configuring the {mta-dl-plugin} IDE settings | ||
|
||
After you install the {ProductShortName} extension in Visual Studio (VS) Code, you must provide your large language model (LLM) credentials to activate {mta-dl-plugin} settings in Visual Studio (VS) Code. | ||
|
||
{mta-dl-plugin} settings are applied to all AI-assisted analysis that you perform by using the {ProductShortName} extension. The extension settings can be broadly categorized into debugging and logging, {mta-dl-plugin} settings, analysis related settings, and solution server settings. | ||
|
||
.Prerequisites | ||
|
||
* You installed the {ProductFullName} extension version 8.0.0 in VS Code. | ||
//need to check how the user provides LLM credentials and write a new proc if needed | ||
* You provided LLM credentials to enable generative AI for the {ProductShortName} extension in `settings.json` file. | ||
* You installed the {ProductShortName} distribution version 8.0.0 in your system. | ||
* You installed the latest version of Language Support for Java(TM) by Red Hat extension in VS Code. | ||
* You installed Jave 17+ and Maven 3.9.9+ in your system. | ||
|
||
.Procedure | ||
|
||
. Go to the {mta-dl-plugin} settings in one of the following ways: | ||
+ | ||
.. Click `Extensions > MTA CLI Extension for VSCode > Settings` | ||
+ | ||
.. Type `Ctrl + Shift + P` on the search bar to open the Command Palette and enter `Preferences: Open Settings (UI)`. Go to `Extensions > MTA` to open the settings page. | ||
+ | ||
. Configure the settings described in the following table: | ||
|
||
.{mta-dl-plugin} settings | ||
[cols="40%,60%a",options="header",] | ||
|==== | ||
|Settings |Description | ||
|Log level|Set the log level for the {ProductShortName} binary. The default log level is `debug`. The log level increases or decreases the verbosity of logs. | ||
|RPC Server Path|Displays the path to the solution server binary. If you do not modify the path, {mta-dl-plugin} uses the bundled binary. | ||
|Analyzer path|Specify a {ProductShortName} custom binary path. If you do not provide a path, {mta-dl-plugin} uses the default path to the binary. | ||
|Solution Server:URL|Configure the URL of the Solution Server end point. This field has the default URL. | ||
|Solution Server:enabled|Enable the Solution Server client ({ProductShortName} extension) to connect to the Solution Server to perform analysis. | ||
|Analyze on save|Enable this setting for {mta-dl-plugin} to run an analysis on a file that is saved after code modification. This setting is enabled automatically when you enable Agentic AI mode. | ||
|Agent mode|Enable the experimental Agentic AI flow for analysis. {mta-dl-plugin} runs an automated analysis of a file to identify issues and suggest resolutions. After you accept the solutions, {mta-dl-plugin} makes the changes in the code and re-analyzes the file. | ||
|Super agent mode| | ||
|Diff editor type|Select from diff or merge view to review the suggested solutions after running an analysis. The diff view shows the old code and a copy of the code with changes side-by-side. The merge view overlays the changes in the code in a single view. | ||
|Excluded diagnostic sources|Add diagnostic sources in the `settings.json` file. The issues generated by such diagnostic sources are excluded from the automated Agentic AI analysis. | ||
|Get solution max effort|Select the effort level for generating solutions. This can be adjusted depending on the type of incidents. Higher values increase processing time. | ||
|Get solution max LLM queries|Specify the maximum number of LLM queries made per solution request. | ||
|Get solution max priority|Specify the maximum priority level of issues to be considered in a solution request. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are 3 settings here which we would like to remove, you can reference the below issue tracking the removal. The 3 settings relate to an older configuration for the agents we called a "solution effort". This will be for "Get solution max effort", "Get solution max LLM queries", "Get solution max priority". Those 3 settings are no longer used, but they do still exist in code until we address the above issue 697 |
||
//need more info | ||
|Cache directory|Specify the path to a directory in your filesystem to store cached responses from the LLM. | ||
|Demo mode|Enable to run {mta-dl-plugin} in demo mode that uses the LLM responses saved in the `cache` directory for analysis. | ||
|Trace enabled|Enable to trace {ProductShortName} communication with the LLM model. Traces are stored in the `/.vscode/konveyor-logs/traces` path in your IDE project. | ||
|Debug:Webview|Enable debug level logging for Webview message handling in VS Code. | ||
|Analyze dependencies|Enable {mta-dl-plugin} to analyze dependency-related errors detected by the LLM in your project. | ||
|Analyze known libraries|Enable {mta-dl-plugin} to analyze well-known open-source libraries in your code. | ||
|Code snip limit|Set the maximum number of lines of code that are included in incident reports. | ||
|Context lines|Configure the number of context lines included in incident reports. The greater the number, the more the LLM accuracy. | ||
|Incident limit|Specifies the maximum number of incidents to be reported. If you enter a higher value, it increases the coverage of incidents in your report. | ||
|==== | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
:_newdoc-version: 2.18.3 | ||
:_template-generated: 2025-02-26 | ||
:_mod-docs-content-type: PROCEDURE | ||
|
||
[id="configuring-developer-lightspeed-profile-settings_{context}"] | ||
= Configuring the {mta-dl-plugin} profile settings | ||
|
||
To run an analysis using {mta-dl-plugin}, you must configure a profile that contains all the necessary configurations for an analysis, such as source and target technologies and API key to connect to your chosen large language model (LLM). | ||
|
||
.Prerequisites | ||
|
||
* You installed the {ProductShortName} extension version 8.0.0 in Visual Studio (VS) Code. | ||
//need to check how the user provides LLM credentials and write a new proc if needed | ||
* You provided LLM credentials to enable generative AI for the {ProductShortName} extension in `settings.json` file. | ||
* You installed the {ProductShortName} distribution version 8.0.0 in your system. | ||
* You installed the latest version of Language Support for Java(TM) by Red Hat extension in VS Code. | ||
//check if users still need Java 17+ in their system since Language Support extension is already a req. | ||
* You installed Jave 17+ and Maven 3.9.9+ in your system. | ||
* You opened a Java project in your VS Code workspace. | ||
|
||
.Procedure | ||
|
||
. Open the `Konveyor View Analysis` page in either of the following ways: | ||
+ | ||
.. Click the screen icon on the `Konveyor Issues` pane of the {ProductShortName} extension. | ||
.. Type `Ctrl + Shift + P` on the search bar to open the Command Palette and enter `Konveyor:Open Konveyor Analysis View`. | ||
+ | ||
. Click the settings button on the `Konveyor View Analysis` page to configure a profile for your project. | ||
The `Get Ready to Analyze` pane lists the follwoing basic configurations required for an analysis: | ||
+ | ||
|
||
.Verification | ||
|
||
After you complete the profile configuration, close the `Get Ready to Analyze` pane. You can verify that your configuration works by running an analysis. See run an analysis. | ||
|
||
.{mta-dl-plugin} profile settings | ||
[cols="20%,80%a",options="header",] | ||
|==== | ||
|Profile settings |Description | ||
|Select profile|Create a profile that you can reuse for multiple analyses. The profile name is part of the context provided to the LLM for analysis. | ||
|Configure label selector|A label selector filters rules for analysis based on the source or target technology. | ||
|
||
Specify one or more target or source technologies (for example, cloud-readiness). {mta-dl-plugin} uses this configuration to determine the rules that are applied to a project during analysis. | ||
|
||
If you mentioned a new target or a source technology in your custom rule, you can type that name to create and add the new item to the list. | ||
|
||
[NOTE] | ||
==== | ||
You must configure either target or source tehcnologies before running an analysis. | ||
==== | ||
|Set rules|Enable default rules and Select your custom rule that you want {mta-dl-plugin} to use for an analysis. You can use the custom rules in addition to the default rules. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I am not sure, but worth considering we may want to refer to the Analysis capabilties as "MTA" so that the doc portion for that is covering both "MTA" and "MTA with Developer Lightspeed". Then use the "MTA with Developer Lightspeed" just for the Generative AI portions. |
||
|Configure generative AI|This option opens the `provider-settings.yaml` file that contains API keys and other parameters for all supported LLMs. By default, {mta-dl-plugin} is configured to use OpenAI LLM. To change the model, update the anchor `&active` to the desired block. Modify this file with the required arguments, such as the model and API key, to complete the setup. | ||
|==== |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am unsure what this mode is, this could be a by-product of an older build.
I do not see this configuration option present in latest extension code:
https://github.com/konveyor/editor-extensions/blob/main/vscode/package.json#L456