# System

**Kind:** Service

**Source:** `Pams/HelperTool/HelperTool.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

The System service represents NuGet package dependency configuration in `Pams/HelperTool/HelperTool.csproj`. It declares packages required by HelperTool and allows the .NET restore process to resolve them before build and execution.

## Diagram

```mermaid
sequenceDiagram
    participant Developer
    participant HelperTool as HelperTool.csproj
    participant NuGet
    participant Build

    Developer->>HelperTool: Run dotnet restore
    HelperTool->>NuGet: Request declared package dependencies
    NuGet-->>HelperTool: Restore package assets
    Developer->>Build: Run dotnet build
    Build->>HelperTool: Read restored dependencies
    Build-->>Developer: Produce HelperTool output
```

## Usage

```ts
import { execFileSync } from "node:child_process";

execFileSync(
  "dotnet",
  ["restore", "Pams/HelperTool/HelperTool.csproj"],
  { stdio: "inherit" }
);

execFileSync(
  "dotnet",
  ["build", "Pams/HelperTool/HelperTool.csproj"],
  { stdio: "inherit" }
);
```

## AI Coding Instructions

- Add package references through `Pams/HelperTool/HelperTool.csproj`.
- Run `dotnet restore` after changing package dependency declarations.
- Keep package versions compatible with the target framework configured by the project.
- Do not edit generated restore assets directly; update the project file and restore packages again.
