# System.IO.FileSystem.Primitives

**Kind:** Service

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

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

NuGet package dependency

`System.IO.FileSystem.Primitives` is a NuGet package dependency declared by `Pams/HelperTool/HelperTool.csproj`. It supplies filesystem-related primitive APIs to the HelperTool project during NuGet restore and .NET build operations.

## Diagram

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

    Developer->>Project: Run dotnet restore
    Project->>NuGet: Request System.IO.FileSystem.Primitives
    NuGet-->>Project: Restore package dependency
    Developer->>HelperTool: Build or run project
    HelperTool->>HelperTool: Access filesystem primitive APIs
```

## Usage

```ts
import { readFile } from "node:fs/promises";

const projectFile = "Pams/HelperTool/HelperTool.csproj";
const packageName = "System.IO.FileSystem.Primitives";

const projectXml = await readFile(projectFile, "utf8");

if (projectXml.includes(`Include="${packageName}"`)) {
  console.log(`${packageName} is declared in ${projectFile}`);
} else {
  console.error(`${packageName} is not declared in ${projectFile}`);
  process.exitCode = 1;
}
```

## AI Coding Instructions

- Keep the package reference in `Pams/HelperTool/HelperTool.csproj` aligned with the APIs used by HelperTool.
- Run `dotnet restore` after changing the package reference or project dependency settings.
- Treat this dependency as a .NET build-time package; JavaScript and TypeScript code should not import it directly.
- Check package compatibility with the target framework configured in `HelperTool.csproj`.

## Used by

1 reference from 1 file. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Injected or called by (1)

- `HelperTool` — `Pams/HelperTool/HelperTool.csproj`:1
