CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

This is the documentation website for Neatoo, a DDD (Domain-Driven Design) framework for .NET Blazor and WPF applications. “Neatoo” on this site encompasses the combination of two repositories:

The site is built with Jekyll using the Minimal Mistakes theme and hosted on GitHub Pages.

Repository Purpose
NeatooDotNet/Neatoo Core DDD framework
NeatooDotNet/RemoteFactory Client-server communication
NeatooDotNet/neatoodotnet.github.io This documentation site

Technical Documentation (Source of Truth)

More detailed technical documentation lives in the main repositories:

These repositories are the source of truth. This documentation site aims to stay current but may lag behind.

Pending Changes to Incorporate

Check these locations for changes that need to be incorporated into this site:

Commit Tracking

Track which commits from each repository this documentation site is synchronized with:

Repository Last Synced Commit Date
Neatoo 0df02e5 2026-01-01
RemoteFactory 27760f8 2026-01-01

When updating documentation, review commits since the last sync and update this table.

Note: 2026-01-01 sync added C# records support (Neatoo 10.1.1, RemoteFactory 10.1.0):

Previous sync (2025-12-30): Mapper documentation updated - MapFrom/MapTo manually implemented, MapModifiedTo source-generated

Neatoo Skill Maintenance

A shared Neatoo skill file exists at the user level for Claude Code:

Location: ~/.claude/skills/neatoo.md

This skill provides Claude with Neatoo framework knowledge across all projects. When updating documentation from the Neatoo or RemoteFactory repositories, also update the Neatoo skill to keep it current.

Skill Commit Tracking

Track which commits have been incorporated into the Neatoo skill:

Repository Last Synced Commit Date
Neatoo 0df02e5 2026-01-01
RemoteFactory 27760f8 2026-01-01

Update Checklist

When syncing from the source repositories:

  1. Update the documentation site (_pages/)
  2. Update the Neatoo skill (~/.claude/skills/neatoo.md)
  3. Update both commit tracking tables (this site and the skill)

The skill should contain the same core technical content as the reference documentation but formatted as a single comprehensive reference for Claude.

Build Commands

# Install dependencies
bundle install

# Run local development server
bundle exec jekyll serve

# Build the site
bundle exec jekyll build

Note: Changes to _config.yml require restarting the server.

Site Architecture

Page Structure

Pages use front matter with:

Documentation Sections

Section Path Content
Getting Started /gettingstarted/ Introduction, Quick Start, Client/Server Setup
Concepts /concepts/ DDD Overview, Aggregates, Rules, Factories (with Commands & Queries), Client-Server, Properties, Authorization
Reference /reference/ EntityBase, ValidateBase, Base & Value Objects, EntityListBase, Rules Engine, Factory Operations, Data Mapping, Authorization System, Dependency Injection, Exception Handling
Guides /guides/ Blazor Integration, Database-Dependent Validation, Troubleshooting
Examples /example/ Person entity, Order Aggregate

Audience and Scope

Target Audience

Developers who want to use Neatoo for building .NET applications with proper DDD architecture.

Documentation Principles

This site should fully explain not just how to use Neatoo, but the underlying principles:

  1. Domain-Driven Design (DDD)
    • Entities, Value Objects, Aggregates
    • Aggregate Roots and entity graphs
    • Business rules as first-class citizens
    • Ubiquitous language
  2. Blazor
    • WebAssembly architecture
    • Component binding patterns
    • INotifyPropertyChanged integration
    • Client-server communication
  3. Roslyn Source Generators
    • Compile-time code generation
    • Why source generators enable Neatoo’s patterns
    • How generated code reduces boilerplate

Writing Approach

The existing documentation uses:

Current Content Summary

Well-Covered Topics

Lighter Coverage (Opportunities)

Terminology Guidelines

Important: For this documentation site, “Neatoo” encompasses both Neatoo and Neatoo.RemoteFactory. Users of this site are assumed to be using the full framework.

Content Guidelines

When editing documentation:

Key Files

File Purpose
_config.yml Site configuration, theme, plugins
_data/navigation.yml Sidebar navigation structure
index.md Home page with feature highlights
_pages/concepts/*.md Deep-dive concept explanations
_pages/gettingstarted/*.md Onboarding and setup
_pages/guides/*.md Practical how-to guides
_pages/reference/*.md API reference
_pages/examples/*.md Complete working examples