Add structured metadata blocks to all project/repo docs

Added standardized metadata blocks to the top of each project and repo documentation file. These blocks define project type, and for repos, include layer and dependencies, improving clarity and enabling better tooling support.
This commit is contained in:
Loretta 2026-03-30 08:53:56 +02:00
parent 541cebbed8
commit fdff39c44b
15 changed files with 62 additions and 0 deletions

View File

@ -1,5 +1,11 @@
# AyCode.Core — Domain Rules
@repo {
type = "framework"
layer = 0
own-dep-repos = []
}
> This is the **single source of truth** for domain rules. Do not duplicate these elsewhere.
> For detailed docs see: `README.md``docs/`

View File

@ -1,5 +1,9 @@
# AyCode.Core.Server
@project {
type = "framework"
}
Server-side extension of AyCode.Core. Provides server-specific implementations that build on the shared core library.
## Documentation

View File

@ -1,5 +1,9 @@
# AyCode.Core
@project {
type = "framework"
}
Core library for the AyCode platform. Targets .NET 9 (set in `AyCode.Core.targets`). Provides serialization (Binary, JSON, Toon), compression, logging, validation, and shared utilities.
## Documentation

View File

@ -1,5 +1,9 @@
# AyCode.Entities.Server
@project {
type = "framework"
}
Server-side entity implementations extending `AyCode.Entities`. Currently contains the database-persistable log item entity.
## Key Files

View File

@ -1,5 +1,9 @@
# AyCode.Entities
@project {
type = "framework"
}
Abstract base entity implementations for the AyCode domain model. All entities are abstract and generic — concrete implementations live in application-specific projects. Implements the interfaces defined in `AyCode.Interfaces`.
## Folder Structure

View File

@ -1,5 +1,9 @@
# AyCode.Interfaces.Server
@project {
type = "framework"
}
Server-side interface contracts extending `AyCode.Interfaces`. Defines authentication and login service contracts that are only relevant on the server.
## Key Files

View File

@ -1,5 +1,9 @@
# AyCode.Interfaces
@project {
type = "framework"
}
Domain interface contracts for the AyCode platform. Defines the shape of entities, DTOs, relationships, and service contracts. All interfaces are composable — small, single-responsibility interfaces are combined via inheritance to build up complex types.
## Folder Structure

View File

@ -1,5 +1,9 @@
# AyCode.Models.Server
@project {
type = "framework"
}
Server-side models: authentication state and dynamic method dispatch for SignalR message routing.
## Folder Structure

View File

@ -1,5 +1,9 @@
# AyCode.Models
@project {
type = "framework"
}
Shared DTOs (Data Transfer Objects) and view models for the AyCode platform. Bridges entities and interfaces into client/server-transferable models.
## Folder Structure

View File

@ -1,5 +1,9 @@
# AyCode.Services.Server.Tests
@project {
type = "test"
}
Comprehensive server-side tests for SignalR communication, DataSource operations, login services, and reflection-based method invocation.
## Folder Structure

View File

@ -1,5 +1,9 @@
# AyCode.Services.Server
@project {
type = "framework"
}
Server-side service implementations: JWT authentication, SendGrid email delivery, SignalR hub infrastructure with binary protocol, session management, and change-tracked data sources.
## Documentation

View File

@ -1,5 +1,9 @@
# AyCode.Services.Tests
@project {
type = "test"
}
MSTest project for service layer testing. Focuses on SignalR message serialization round-trips.
## Folder Structure

View File

@ -1,5 +1,9 @@
# AyCode.Services
@project {
type = "framework"
}
Shared service implementations: SignalR communication (custom binary protocol), login services, and remote log writers.
## Documentation

View File

@ -1,5 +1,9 @@
# AyCode.Utils.Server
@project {
type = "framework"
}
Server-side utility library placeholder. Currently empty — reserved for future server-specific utilities.
## Dependencies

View File

@ -1,5 +1,9 @@
# AyCode.Utils
@project {
type = "framework"
}
Low-level utility library with zero project dependencies. Provides string/datetime extensions, and disposable lock wrappers for `using` pattern with `Mutex`/`SemaphoreSlim`.
## Folder Structure