Skip to content
Cratis
Search
Ctrl
K
Cancel
GitHub
Discord
YouTube
Select theme
Dark
Light
Auto
Cratis Stack
Chronicle
Arc
Components
Screenplay
CLI
Fundamentals
Contributing
Architecture
Prompter
Overview
Start here
Tutorial
Tutorial
Overview
1. Your first full-stack slice
2. Make it trustworthy
3. Relate your slices
4. Make it live
5. Decide who can do what
Scenarios
Overview
Validate a command
Return a result or an error
Provide data to a command handler
Query data across slices
Execute a command from React
Test a command
Concepts and architecture
Why Arc
CQRS without event sourcing
MediatR, MVC, and Arc
Vertical slices
Understanding the proxy boundary
Understanding identity and access
Backend
Overview
Getting Started
Quickstart
Arc.Core
Overview
Getting Started
Quickstart
Endpoint Mapping
Static Files
Authentication
Authorization
OpenAPI Specifications
Invariant Culture
ASP.NET Core
Configuration
Authorization
Microsoft Identity
FromRequest Attribute
Swagger
Validation
Without Wrappers
Invariant Culture
Configuration
Tenancy
Overview
Resolving Tenant IDs
Configuration
Tenant Context Access
Database Isolation
Identity
Identity
Provider Flow
Identity Contracts
IdentityProvider Service
Development and Topologies
Authorizing commands and queries
Commands
Controller based
Model Bound
Overview
Authorization
Command Pipeline
Command Context
Command Filters
Response Value Handlers
Response Examples
Validation
Command Validation
Validation Severity Filtering
Queries
Controller Based
Overview
Route Templates
Query Arguments
Return Types
Paging
Observable Queries
Dependency Injection
Model Bound
Overview
Static Methods
Observable Queries
Dependency Injection
Query Arguments
Paging
Return Types
Authorization
Observable Query Demultiplexer
Query Health Endpoint
Use the HTTP QUERY method
Use Observable Queries with cURL
Change Stream
Query Pipeline
Read Model Interception
Validation
Introspection
Overview
Commands
Queries
Identity details schema
Proxy Generation
Overview
Getting Started
Quickstart
Configuration
Overview
Basic Options
Library Mode
Type Exclusions
Namespace Roots
Assembly-to-Package Mappings
Routing
Output Behavior
Commands
Queries
Validation
Identity Details
File Index Tracking
Code Analysis
Code Analysis Rules
ARC0001 - Incorrect query method signature on ReadModel
ARC0002 - Missing [Command] attribute on command-like type
ARC0003 - Handle() must be on [Command] type
ARC0004 - [Command] type must have public Handle() method
ARC0005 - Value produced by Provide is not consumed by Handle
ARC0006 - Command-scoped read model can be missing
MongoDB
Getting Started
Quickstart
Serializers
Geospatial Types
Concepts
Naming Policies
Class Mapping
Convention Packs
Observing Collections
Watching Multiple Collections
Tenancy
Entity Framework
Getting Started
Quickstart
Base DbContext
Entity Mapping
Read Only DbContexts
Automatic Database hookup
Observing DbSet
Common Column Types
Adding Columns in Migrations
Property Extensions
JSON Conversion
ConceptAs Conversion
GUID Conversion
Geospatial Types
Point Conversion
LineString Conversion
Polygon Conversion
OpenAPI
Overview
Concepts
Commands
Queries
Enums
FromRequest Attribute
Model-Bound Operations
Testing
Overview
Command Scenarios
Chronicle
Integrations
Aggregates
Aggregate Roots
Aggregate Root
Add event sourcing to an Arc slice
Cratis Package
React to an event
Reactors
Read Models
Commands
Overview
Events
Setting Subject
Returning EventSourceId
Concurrency
Resolving EventSourceId
Tenancy
Validation
Compliance
Overview
PII
Subject
Code Analysis
Code Analysis Rules
ARCCHR0001 - Incorrect aggregate root event handler signature
ARCCHR0005 - Chronicle is used but not wired up
Frontend
Getting started (React)
Quickstart
Core
Commands
Overview
Command Result
Validation
Command Contracts
Configuration
Validation And Results
Backend Integration
Validation
Overview
Rules And Fluent API
Command And Query Integration
Validation Results
Severity Filtering
Queries
Overview
Query Contracts
Configuration
Validation And Behavior
Backend Integration
Identity
Messaging
React
Arc
Identity
Dialogs
Messaging
Commands
Overview
React Usage
Data Binding
Validation
Scope
Imperative Usage
CommandForm
Overview
Field Types
Overview
InputTextField
NumberField
TextAreaField
CheckboxField
RadioButtonField
RadioGroupField
RangeField
SelectField
Creating Custom Fields
Validation
Customization
Layouts
Working with Hooks
Data Loading
Form Lifecycle
Advanced Patterns
Queries
Overview
Configuration
Core Query Usage
Paging
Observable Queries
Observable Query Diagnostics
Suspense Queries
Conditional Queries
Change Stream
Observable Query Multiplexing
Query Instance Caching
Scope
Vite Configuration
Proxy Generation
Story Components
Overview
Components
Styling
Theme Support
Storybook
MVVM with React
MVVM Context
Using ViewModel
TSyringe
Dialogs
Browser
Messaging
Identity
Operations and reference
General
Troubleshooting
GitHub
Discord
YouTube
Select theme
Dark
Light
Auto
Storybook
Copy Markdown
Open
Open in ChatGPT
Open in Claude
View in Markdown