Skip to content

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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:]

1 change: 1 addition & 0 deletions assemblies/developer-lightspeed-guide/topics
1 change: 1 addition & 0 deletions docs/developer-lightspeed-guide/assemblies
11 changes: 11 additions & 0 deletions docs/developer-lightspeed-guide/master-docinfo.xml
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" />
21 changes: 21 additions & 0 deletions docs/developer-lightspeed-guide/master.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
:mta:
include::topics/templates/document-attributes.adoc[]
:_mod-docs-content-type: ASSEMBLY
[id="mta-developer-lightspeed"]
= MTA Developer Lightspeed Guide

: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:
1 change: 1 addition & 0 deletions docs/developer-lightspeed-guide/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 comes with the default URL.
|Solution Server:enabled|Enable the Solution Server client ({ProductShortName} extension) to connect with 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.
//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 with 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.
|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.
|====
1 change: 1 addition & 0 deletions docs/topics/templates/document-attributes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ ifdef::mta[]
:WebConsoleBookName: {WebNameTitle} Guide
:ProductVersion: 7.3.1
:PluginName: MTA plugin
:mta-dl-plugin: MTA with Developer Lightspeed
// :MavenProductVersion: 7.0.0.GA-redhat-00001
:ProductDistributionVersion: 7.3.1.GA-redhat
:ProductDistribution: mta-7.3.1.GA-cli-offline.zip
Expand Down
Loading