# Developer Initial Setup

1. #### **Core Environment & Infrastructure**

* IDE: Visual Studio 2022 is the required standard for this project.
* VPN Connection: You must be connected to the VPN to view GAP packages and open the DCP (Development Control Plane).
* Account Syncing: Your local machine account must be linked/configured with your GAP account to ensure seamless access to NuGet packages.
* Helpdesk Permissions: Ensure you request all necessary permissions from HelpDesk before starting the setup.

2. #### **Telerik Configuration**

* GAP Email Registration: You must create a Telerik account using your GAP email address.
* Authentication: This account is mandatory; the system will prompt for these credentials whenever it attempts to resolve or restore Telerik packages.

3. #### **Code Quality & SonarQube**

* SonarCloud Access: Log in to [sonarcloud.io](http://sonarcloud.io/) using your GAP credentials.
* SonarLint Extension: To identify *Code Smells* in real-time, install the [SonarLint for Visual Studio 2022](https://marketplace.visualstudio.com/items?itemName=SonarSource.SonarLintforVisualStudio2022) extension.\
  \&#xNAN;*Note: Contact Carlos Chevez to assist with the binding configuration.*

4. #### **Alpha Generation & Unit Testing**

* Mandatory Testing: You cannot generate Alphas in the Blazor DCP or the HTML Generator without Unit Tests.
* SonarQube Coverage: Any Alpha build must meet the code coverage threshold required by SonarQube; otherwise, the build process will fail.

5. #### **NuGet Packages & Pipelines**

* Manual NuGet Generation: The Blazor DCP does not generate NuGets automatically. You must navigate to the Pipeline, trigger a manual run, and select the required branch.
* HTML Generator: This tool handles Alphas but shares the same dependency: no Alpha will be created without Unit Tests.

6. #### **The Migrator (Special Requirements)**

* Framework Dependency: You must have .NET Framework 4.6 installed specifically for the Migrator to function.
* README Compliance: Strictly follow the steps outlined in the README file.
* Build Folder Programs: You must run two programs located in the `build` folder.\
  \&#xNAN;*Critical Note:* These programs point to a filesystem/folder that is only accessible via a Mobilize account.

7. DCP Solution Compilation Requirements

* Local NuGet Feed: Because the Telerik v12 packages are in [.zip](https://drive.google.com/file/d/17ChquKL4aZ1-VCqrCQnVhahNL_RaMUlB/view?usp=sharing) format, you must extract them to a local folder and add that folder as a Package Source in Visual Studio (Tools > NuGet Package Manager > Package Manager Settings > Packages Sources).

<figure><img src="/files/icIrg34viBEXjfyQa45T" alt=""><figcaption></figcaption></figure>

Steps to manually install Telerik v12 packages in Visual Studio, follow this steps to configure as local source:

* Click on 'Package Source' to view all available sources.
* Click the '+' (plus) button to add a new package source.
* Click the ellipsis button '...' to browse to the folder where you extracted the packages. Once selected, you can rename it for easier identification.
* Verify that the path points to the local folder and click 'Ok'.

Or you can follow Telerik download and installation from [Download](https://drive.google.com/file/d/1liBf26R58XQZSqtqLeiVBAQDEj7U-A8u/view?usp=sharing) to install DevExpress version 21, proceed by installing the Trial version.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gapvelocity.ai/webmap-for-blazor-documentation/blazor-ai-migrator/developer-initial-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
