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. |
||
|---|---|---|
| .. | ||
| Compression | ||
| Consts | ||
| Enums | ||
| Extensions | ||
| Helpers | ||
| Interfaces | ||
| Loggers | ||
| Properties | ||
| Serializers | ||
| docs | ||
| AcDomain.cs | ||
| AyCode.Core.csproj | ||
| README.md | ||
README.md
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
| Document | Topic |
|---|---|
BINARY_FORMAT.md |
Binary wire format spec (stream layout, type markers) |
BINARY_FEATURES.md |
Binary features (interning, ref tracking, property ordering) |
BINARY_OPTIONS.md |
Binary configuration options & presets |
LOGGING.md |
Logging framework (hierarchy, config, ILogger bridge) |
Folder Structure
| Folder | Purpose | README |
|---|---|---|
Compression/ |
Brotli, GZip, LZ4 compression (pure managed, WASM-compatible) | README |
Consts/ |
Project-wide constants, error codes, regex validation, environment config | README |
Enums/ |
Shared enums: AppType, MessageContextType, TrackingState | README |
Extensions/ |
Collection merge/sync, serialization extensions, utility extensions | README |
Helpers/ |
Token generation, observable collections, JSON utilities, password hashing, task helpers | README |
Interfaces/ |
Core interfaces: IId<T>, IForeignKey, IAcSerializableToJson | README |
Loggers/ |
Custom logging framework with MS.Extensions.Logging integration | README |
Serializers/ |
Serialization framework: Binary, JSON, Toon formats on shared infrastructure | README |
Root Files
AcDomain.cs— Singleton for process-level state: process name, build type detection (IsDeveloperVersion/IsProductVersion), processor count, thread-safe unique ID generators (NextUniqueInt32,NextUniqueInt64).
Dependencies
| Dependency | Purpose |
|---|---|
AyCode.Utils |
Shared utilities (project reference) |
AyCode.Core.Serializers.SourceGenerator |
Binary serializer source generation (analyzer) |
AutoMapper |
Object mapping |
MessagePack |
MessagePack serialization |
Newtonsoft.Json |
JSON serialization (legacy, alongside System.Text.Json) |
Microsoft.Extensions.Configuration.* |
appsettings.json + environment variable support |
Microsoft.Extensions.Logging.Abstractions |
Logging abstractions |