Files
Nexus.Reader/.agent/skills/nexus-architecture-standards/SKILL.md
T
mjasin 55cc3ae10d feat(ui/arch): Optimize Graph Dynamics, Immersive Reader, and Core Stability (#19)
This PR introduces a major optimization of graph dynamics, immersive reading experience, and architectural stabilization.

### 🚀 Key Improvements

- **Knowledge Graph (Fix #16)**:
  - Implemented smooth D3.js transitions using the General Update Pattern.
  - Added "Neon Flash" entry animations and dynamic node dimming for better focus.
- **Immersive Reader (Fix #12)**:
  - Standardized centered layout (`max-width: 800px`) with **Merriweather** typography.
  - Optimized line-height and letter-spacing for premium readability.
- **Technical Code Blocks (Fix #20)**:
  - High-contrast dark containers for code snippets.
  - **JetBrains Mono** integration and neon-accented scrollbars.
- **Architectural Stabilization**:
  - Enforced a strict **'no async void'** policy in UI services using `Func<Task>`.
  - Resolved WASM runtime DI errors by implementing dummy service proxies for server-side dependencies.
  - Replaced generic 'Not Found' message with a branded Nexus preloader.

Fixes #7, Fixes #12, Fixes #16, Fixes #20.

Reviewed-on: #19
Co-authored-by: Marek Jasiński <jasins.marek@gmail.com>
Co-committed-by: Marek Jasiński <jasins.marek@gmail.com>
2026-05-08 18:16:09 +00:00

2.0 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.

Audit Scripts

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

Reference Materials