OPC # 0001: .github folder
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Clarity — Copilot Instructions
|
||||
|
||||
## What is Clarity?
|
||||
Clarity is the tenant-facing product in ClarityStack. Each tenant gets their own isolated Clarity instance, provisioned and managed by OPC (the ControlPlane).
|
||||
|
||||
## Projects
|
||||
| Project | Role |
|
||||
|---------|------|
|
||||
| `Clarity.AppHost` | .NET Aspire host — owns Postgres, Keycloak, Redis, MinIO, frontend |
|
||||
| `Clarity.Server` | REST API — main backend, EF Core, Keycloak auth, MinIO, Redis output caching |
|
||||
| `Clarity.MigrationService` | Worker that runs EF Core migrations on startup before the server starts |
|
||||
| `Clarity.ServiceDefaults` | Shared Aspire service defaults (OTel, resilience, service discovery) |
|
||||
|
||||
## Aspire-owned Infrastructure
|
||||
- `postgres` on port `5432` — databases: `postgresdb`, `authdb` (Keycloak)
|
||||
- Keycloak on port `8080` with realm imported from `KeycloakConfig/`
|
||||
- Redis cache
|
||||
- MinIO object storage
|
||||
- Vite React frontend at `../frontend`
|
||||
|
||||
## Auth
|
||||
- Keycloak is the identity provider — realm per tenant in production, `clarity` realm in dev
|
||||
- `Clarity.Server` uses `Aspire.Keycloak.Authentication`
|
||||
|
||||
## Conventions
|
||||
- Commit format: `OPC # XXXX: Description`
|
||||
- Target framework: .NET 10
|
||||
- Nullable and ImplicitUsings enabled globally via root `Directory.Build.props`
|
||||
- Central package management via root `Directory.Packages.props`
|
||||
- EF Core migrations are handled by `Clarity.MigrationService`, not inline in the server
|
||||
- Frontend is a Vite React app at `Clarity/frontend/`
|
||||
Reference in New Issue
Block a user