Files
Nexus.Reader/.agent/skills/nexus-architecture-standards/SKILL.md
T
Antigravity fe5ff81c98 Refactor: Web Consolidation and Identity Stabilization (#40)
## Overview
This PR completes the architectural consolidation of the web project and stabilizes the Identity-based authentication flow for the NexusReader application. It also refines the UI aesthetic for the Book Ingestion Modal as requested in #33.

## Key Changes
- **Project Consolidation**: Fully merged `NexusReader.Web.New` into `NexusReader.Web`. This includes updating all namespace references, VS Code launch/task configurations, and CI/CD (`Dockerfile`).
- **Identity Stabilization**:
  - Implemented `IIdentityService` on the server using `SignInManager<NexusUser>` and `UserManager<NexusUser>`.
  - Fixed registration logic to include mandatory fields (`SubscriptionPlanId`, `TenantId`).
  - Updated `Login.razor` to force a page reload on successful login, ensuring proper synchronization of authentication cookies between SignalR and the browser.
- **UI/UX Refinement**:
  - Updated `BookIngestionModal` styling to follow the **Nexus Neon** design system.
  - Added premium button styles with hover effects and glows.
  - Improved modal layout and interaction feedback (shimmer effects, spinner colors).
- **Cleanup**: Removed obsolete interfaces and constants that were superseded by newer Application layer implementations.

## Verification
- Successfully built the solution: `dotnet build NexusReader.slnx --no-restore`
- Verified project structure and file moves.
- Validated server-side authentication logic.

Fixes #33

---------

Co-authored-by: Marek Jasiński <jasins.marek@gmail.com>
Reviewed-on: #40
Co-authored-by: Antigravity <antigravity@google.com>
Co-committed-by: Antigravity <antigravity@google.com>
2026-05-11 19:16:30 +00:00

2.5 KiB

name, description, tags, version
name description tags version
nexus-architecture-standards Guidelines and automated checks for maintaining Clean Architecture and SaaS standards in the NexusReader project.
Architecture
CleanArchitecture
.NET
MediatR
SaaS
MultiTenancy
1.0.0

NexusReader Architecture Standards

This skill defines the architectural guardrails for the NexusReader project to ensure consistency, scalability, and security.

Core Rules

1. Clean Architecture Layers

  • Domain: Pure business logic, entities, and enums. Zero dependencies on other layers.
  • Application: Use cases, MediatR handlers, and interfaces. Depends ONLY on Domain.
  • Infrastructure: Implementation details (DB context, AI services, Auth). Depends on Application and Domain.
  • Web/Mobile: Presentation layer. Depends on Application (and Infrastructure for DI setup).

Caution

Application MUST NOT depend on Infrastructure. This is a common failure mode. Always use abstractions (interfaces) in Application and implement them in Infrastructure.

2. Multi-Tenancy (Tenant Isolation)

  • Every entity related to user data MUST have a TenantId property.
  • Every query MUST filter by TenantId to prevent data leakage.
  • Default TenantId is "global" for shared resources.

3. Error Handling

  • Use FluentResults (Result<T>) for all Application services and handlers.

  • Avoid throwing exceptions for expected business failures; use Result.Fail().

  • Commands: State-changing operations. Should return Result or Result<T>.

+### 5. Async Operations (Zero Tolerance for async void) +- All asynchronous operations MUST return Task or ValueTask. +- Event handlers MUST use Func<Task> or async-compatible patterns. +- UI components MUST await all service calls and use InvokeAsync(StateHasChanged) for state updates within async contexts.

6. Database Schema Changes

  • Every change to a Domain entity or DbContext MUST be followed by the generation of a new EF Core migration.
  • Mandatory Commands:
    • dotnet ef migrations add <MigrationName> --project src/NexusReader.Data --startup-project src/NexusReader.Web
    • dotnet ef database update --project src/NexusReader.Data --startup-project src/NexusReader.Web
  • Ensure the migration is applied to all local development environments before proceeding with feature verification.

Audit Scripts

  • ArchCheck.sh: A shell script to scan for illegal cross-layer imports.

Reference Materials