diff --git a/assemblies/developer-lightspeed-guide/assembly_configuring-dev-lightspeed-ide.adoc b/assemblies/developer-lightspeed-guide/assembly_configuring-dev-lightspeed-ide.adoc new file mode 100644 index 00000000..f20e09e7 --- /dev/null +++ b/assemblies/developer-lightspeed-guide/assembly_configuring-dev-lightspeed-ide.adoc @@ -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:] + diff --git a/assemblies/developer-lightspeed-guide/topics b/assemblies/developer-lightspeed-guide/topics new file mode 120000 index 00000000..9c652798 --- /dev/null +++ b/assemblies/developer-lightspeed-guide/topics @@ -0,0 +1 @@ +../../topics/ \ No newline at end of file diff --git a/docs/developer-lightspeed-guide/assemblies b/docs/developer-lightspeed-guide/assemblies new file mode 120000 index 00000000..51bb5102 --- /dev/null +++ b/docs/developer-lightspeed-guide/assemblies @@ -0,0 +1 @@ +../../assemblies/ \ No newline at end of file diff --git a/docs/developer-lightspeed-guide/master-docinfo.xml b/docs/developer-lightspeed-guide/master-docinfo.xml new file mode 100644 index 00000000..3a8b94c3 --- /dev/null +++ b/docs/developer-lightspeed-guide/master-docinfo.xml @@ -0,0 +1,11 @@ +Developer Lightspeed Guide +{DocInfoProductName} +{DocInfoProductNumber} +Using the {ProductName} Developer Lightspeed to modernize your applications + + you can use {ProductFullName} Developer Lightspeed for application modernization in your organization by running Artificial Intelligence-driven static code analysis for Java applications. + + + Red Hat Customer Content Services + + diff --git a/docs/developer-lightspeed-guide/master.adoc b/docs/developer-lightspeed-guide/master.adoc new file mode 100644 index 00000000..56278262 --- /dev/null +++ b/docs/developer-lightspeed-guide/master.adoc @@ -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: diff --git a/docs/developer-lightspeed-guide/topics b/docs/developer-lightspeed-guide/topics new file mode 120000 index 00000000..6ff2545a --- /dev/null +++ b/docs/developer-lightspeed-guide/topics @@ -0,0 +1 @@ +/home/pkylasam/Documents/repos/mta-documentation/docs/topics \ No newline at end of file diff --git a/docs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc b/docs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc new file mode 100644 index 00000000..11c21c5c --- /dev/null +++ b/docs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc @@ -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. +|==== + diff --git a/docs/topics/developer-lightspeed/proc_configuring-developer-profile-settings.adoc b/docs/topics/developer-lightspeed/proc_configuring-developer-profile-settings.adoc new file mode 100644 index 00000000..f86bdb45 --- /dev/null +++ b/docs/topics/developer-lightspeed/proc_configuring-developer-profile-settings.adoc @@ -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. +|==== \ No newline at end of file diff --git a/docs/topics/templates/document-attributes.adoc b/docs/topics/templates/document-attributes.adoc index 67cef78d..8ca87e93 100644 --- a/docs/topics/templates/document-attributes.adoc +++ b/docs/topics/templates/document-attributes.adoc @@ -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