# atloria-monorepo

**Kind:** Module

**Source:** [`atloria-monorepo`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo#L1)

.NET project in solution

`atloria-monorepo` is the .NET project entry in the Atloria solution. It provides the project-level configuration used to build, restore, and integrate the application's .NET components within the broader repository.

## Diagram

```mermaid
graph TD
    Dev[Developer / CI] --> Restore[dotnet restore]
    Restore --> Project[atloria-monorepo .NET Project]
    Project --> Build[dotnet build]
    Build --> Artifacts[Compiled .NET Artifacts]
    Dev --> Test[dotnet test]
    Test --> Project
```

## Usage

```ts
import { execa } from "execa";

// Restore dependencies and build the Atloria .NET project.
await execa("dotnet", ["restore", "atloria-monorepo"], {
  stdio: "inherit",
});

await execa("dotnet", ["build", "atloria-monorepo", "--configuration", "Release"], {
  stdio: "inherit",
});

// Run tests associated with the solution/project.
await execa("dotnet", ["test", "atloria-monorepo", "--configuration", "Release"], {
  stdio: "inherit",
});
```

## AI Coding Instructions

- Use the `dotnet` CLI for restore, build, test, and publish operations; run commands from the repository root when possible.
- Keep project references and NuGet package dependencies declared in the relevant `.csproj` or solution configuration rather than hard-coding assembly paths.
- Run `dotnet restore` before building in clean environments, including CI jobs and containers.
- Validate changes with `dotnet build` and `dotnet test` to catch project-reference, package, and compilation regressions.
- Avoid committing generated `bin/` and `obj/` output unless repository conventions explicitly require it.

## Referenced By

- `atloria` (MODULE_DECLARES)
