Home/Repository Structure
Section 19 of 19100% complete

Section 19: Repository Structure

Monorepo Overview

Single repository containing all services, agents, frontends, and shared libraries. ~46 projects in the Dhadgar.sln solution.

Directory Structure

MeridianConsole/
├── Dhadgar.sln              # Main solution
├── global.json              # .NET SDK version
├── Directory.Build.props    # Shared build config
├── Directory.Packages.props # Central package versions
├── azure-pipelines.yml      # CI/CD
├── src/
│   ├── Agents/              # Customer-side agents
│   │   ├── Dhadgar.Agent.Core/
│   │   ├── Dhadgar.Agent.Linux/
│   │   └── Dhadgar.Agent.Windows/
│   ├── Shared/              # Cross-cutting libraries
│   │   ├── Dhadgar.Contracts/
│   │   ├── Dhadgar.Messaging/
│   │   ├── Dhadgar.ServiceDefaults/
│   │   └── Dhadgar.Shared/
│   ├── Dhadgar.Gateway/     # YARP API Gateway
│   ├── Dhadgar.Identity/    # Auth service
│   ├── Dhadgar.Servers/     # Game server management
│   ├── Dhadgar.Nodes/       # Agent management
│   ├── Dhadgar.Tasks/       # Background jobs
│   ├── Dhadgar.Files/       # File management
│   ├── Dhadgar.Mods/        # Mod registry
│   ├── Dhadgar.Console/     # Real-time console
│   ├── Dhadgar.Billing/     # Subscriptions
│   ├── Dhadgar.Notifications/
│   ├── Dhadgar.Firewall/
│   ├── Dhadgar.Secrets/
│   ├── Dhadgar.Discord/
│   ├── Dhadgar.Panel/       # Main web UI
│   ├── Dhadgar.ShoppingCart/# Marketing site
│   └── Dhadgar.Scope/       # This documentation site
├── tests/                   # 1:1 test projects
├── deploy/
│   ├── compose/             # Docker Compose (local dev)
│   ├── kubernetes/          # K8s manifests
│   └── terraform/           # IaC
└── docs/                    # Architecture docs

Key Files

File Purpose
global.jsonPins .NET SDK to 10.0.100
Directory.Packages.propsCentral package version management
CLAUDE.mdInstructions for Claude Code AI assistant
azure-pipelines.ymlCI/CD pipeline definition

Branching Strategy

Trunk-based: Short-lived feature branches merged to main. PRs require review and passing CI. No long-lived release branches (yet).