# Pams

**Kind:** Module

**Source:** `Pams/Pams.sln` (line 1)

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

.NET solution file

`Pams/Pams.sln` is the .NET solution entry point for the Pams codebase. It groups the projects that are built, tested, and opened together by .NET tooling and supported IDEs.

## Diagram

```mermaid
graph TD
    Solution[Pams/Pams.sln] --> Dotnet[dotnet CLI]
    Solution --> IDE[IDE]
    Dotnet --> Build[Build projects]
    IDE --> Projects[Loaded projects]
```

## Usage

```ts
import { execFile } from "node:child_process";
import { promisify } from "node:util";

const execFileAsync = promisify(execFile);

async function buildPams() {
  const { stdout, stderr } = await execFileAsync("dotnet", [
    "build",
    "Pams/Pams.sln",
  ]);

  console.log(stdout);

  if (stderr) {
    console.error(stderr);
  }
}

buildPams().catch(console.error);
```

## AI Coding Instructions

- Treat `Pams/Pams.sln` as the entry point for solution-wide build and IDE workflows.
- Run `dotnet build Pams/Pams.sln` after changing project configuration or references.
- Keep project and solution references aligned when adding, moving, or removing projects.
- Avoid editing generated build output; update source projects and solution configuration instead.

## Relationships

- MODULE_DECLARES → `API`
- MODULE_DECLARES → `Core`
- MODULE_DECLARES → `Data`
- MODULE_DECLARES → `Logic`
- MODULE_DECLARES → `Web`
- MODULE_DECLARES → `Pams.Data`
- MODULE_DECLARES → `Pams.Core`
- MODULE_DECLARES → `Pams.Security`
- MODULE_DECLARES → `Pams.Business`
- MODULE_DECLARES → `Pams.CurrencyConverter`
- MODULE_DECLARES → `Pams.Storage`
- MODULE_DECLARES → `Pams.Email`
- MODULE_DECLARES → `Pams.API`
- MODULE_DECLARES → `Pams.Common`
- MODULE_DECLARES → `Tools`
- MODULE_DECLARES → `HelperTool`
- MODULE_DECLARES → `Pams.Web`
- MODULE_DECLARES → `Pams.API.Core`
