@cratis/arc 22.23.0 → 22.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,7 +15,7 @@ Arc reflects a broader Cratis conviction: application plumbing should not be the
15
15
 
16
16
  - [Browse the Arc documentation](https://www.cratis.io/arc/)
17
17
  - [Read why Arc exists](https://github.com/Cratis/Arc/blob/main/Documentation/why-arc.md)
18
- - [Map familiar concepts when coming from MediatR and MVC](https://github.com/Cratis/Arc/blob/main/Documentation/coming-from-mediatr-and-mvc.md)
18
+ - [Map familiar concepts when coming from MediatR and MVC](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/coming-from-mediatr-and-mvc.md)
19
19
  - [Try runnable samples](https://github.com/Cratis/Samples) — including Idea Loom and Library
20
20
  - [Choose a documented application path](#choose-a-path)
21
21
  - [Understand Arc's independent boundary](#arc-does-not-require-event-sourcing)
@@ -42,15 +42,15 @@ Each row is a documented capability area, not a promise of compatibility with ev
42
42
 
43
43
  Arc documentation is organized around the job you need to complete:
44
44
 
45
- - [Execute commands](https://github.com/Cratis/Arc/blob/main/Documentation/backend/commands/index.md) — model-bound or controller-based changes, pipelines, validation, authorization, filters, and response handling.
46
- - [Separate command decisions from inline side effects](https://github.com/Cratis/Arc/blob/main/Documentation/backend/commands/operations/index.md) — preferred for already-decided work in model-bound commands, with optional best-effort compensation. Direct service calls remain supported; operations require neither Chronicle nor frontend recovery code.
47
- - [Expose queries and observable results](https://github.com/Cratis/Arc/blob/main/Documentation/backend/queries/index.md) — request/response reads, paging, sorting, streaming updates, diagnostics, and generated clients.
45
+ - [Execute commands](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/commands/index.md) — model-bound or controller-based changes, pipelines, validation, authorization, filters, and response handling.
46
+ - [Separate command decisions from inline side effects](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/commands/operations/index.md) — preferred for already-decided work in model-bound commands, with optional best-effort compensation. Direct service calls remain supported; operations require neither Chronicle nor frontend recovery code.
47
+ - [Expose queries and observable results](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/queries/index.md) — request/response reads, paging, sorting, streaming updates, diagnostics, and generated clients.
48
48
  - [Build the frontend](https://github.com/Cratis/Arc/blob/main/Documentation/frontend/index.mdx) — TypeScript runtimes, React hooks and forms, dialogs, identity, messaging, and optional MVVM packages.
49
49
  - [Configure identity and access](https://github.com/Cratis/Arc/blob/main/Documentation/understanding-identity-and-access.mdx) — authentication, identity details, authorization, roles, and frontend visibility boundaries.
50
- - [Resolve tenants](https://github.com/Cratis/Arc/blob/main/Documentation/backend/tenancy/index.md) — request resolvers, scoped tenant context, and provider-specific database or namespace mapping.
50
+ - [Resolve tenants](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/tenancy/index.md) — request resolvers, scoped tenant context, and provider-specific database or namespace mapping.
51
51
  - [Use current-state persistence](https://github.com/Cratis/Arc/blob/main/Documentation/arc-without-event-sourcing.md) — application services, MongoDB, or Entity Framework Core without requiring an event log.
52
- - [Add Chronicle event sourcing](https://github.com/Cratis/Arc/blob/main/Documentation/backend/chronicle/index.md) — events, projections, reducers, aggregates, reactors, concurrency, and Chronicle-specific testing.
53
- - [Inspect and verify the application boundary](https://github.com/Cratis/Arc/blob/main/Documentation/backend/introspection/index.md) — introspection, OpenAPI, analyzers, generated metadata, and command scenarios.
52
+ - [Add Chronicle event sourcing](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/chronicle/index.md) — events, projections, reducers, aggregates, reactors, concurrency, and Chronicle-specific testing.
53
+ - [Inspect and verify the application boundary](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/introspection/index.md) — introspection, OpenAPI, analyzers, generated metadata, and command scenarios.
54
54
 
55
55
  The canonical Arc page remains the front door; product-owned documentation and source carry the detail.
56
56
 
@@ -70,20 +70,20 @@ Applications may use Arc without Components and remain responsible for their own
70
70
 
71
71
  ## Start an Arc host
72
72
 
73
- Arc's .NET packages embed this product-family README. The example below uses the umbrella `Cratis.Arc` package to start an Arc host; when viewing this README from a specialized package page, use that package's manifest and reference documentation for its own installation scope.
73
+ Arc's .NET packages embed this product-family README. The example below uses the `Cratis.Arc` package, Arc's ASP.NET Core integration; when viewing this README from a specialized package page, use that package's manifest and reference documentation for its own installation scope.
74
74
 
75
- Use the .NET SDK declared by Arc's current [`global.json`](https://github.com/Cratis/Arc/blob/main/global.json). Install the host package:
75
+ Use the .NET SDK declared by Arc's current [`global.json`](https://github.com/Cratis/Arc/blob/main/global.json). Create an ASP.NET Core project and install the package:
76
76
 
77
77
  ```bash
78
+ dotnet new web -n MyApp
79
+ cd MyApp
78
80
  dotnet add package Cratis.Arc
79
81
  ```
80
82
 
81
- Create and run an Arc host:
83
+ Replace `Program.cs` and run the host:
82
84
 
83
85
  ```csharp
84
- using Cratis.Arc;
85
-
86
- var builder = ArcApplication.CreateBuilder(args);
86
+ var builder = WebApplication.CreateBuilder(args);
87
87
  builder.AddCratisArc();
88
88
 
89
89
  var app = builder.Build();
@@ -91,7 +91,7 @@ app.UseCratisArc();
91
91
  await app.RunAsync();
92
92
  ```
93
93
 
94
- Starting the host confirms the basic Arc setup. Continue with the [Arc documentation](https://www.cratis.io/arc/), and use [GitHub Issues](https://github.com/Cratis/Arc/issues) when the observed behavior does not match the documentation.
94
+ Starting the host confirms the basic Arc setup. For workers, consoles, or services without ASP.NET Core, the lightweight host is `ArcApplication.CreateBuilder(args)` from the separate `Cratis.Arc.Core` package; do not combine it with `Cratis.Arc`, whose ASP.NET Core services it does not register. See [getting started with the lightweight host](https://www.cratis.io/arc/backend/csharp/core/getting-started/). Continue with the [Arc documentation](https://www.cratis.io/arc/), and use [GitHub Issues](https://github.com/Cratis/Arc/issues) when the observed behavior does not match the documentation.
95
95
 
96
96
  ## Packages and repository layout
97
97
 
@@ -125,7 +125,7 @@ Package existence does not imply compatibility with every frontend, runtime, per
125
125
 
126
126
  Arc is a framework-library repository. Changes to public APIs, analyzers, generated output, and package shapes can affect consumers and require the owning repository's compatibility and release review.
127
127
 
128
- Repository development currently requires the SDK and toolchain versions declared by [`global.json`](https://github.com/Cratis/Arc/blob/main/global.json) and [`package.json`](https://github.com/Cratis/Arc/blob/main/package.json). Follow the [Cratis contribution guide](https://github.com/Cratis/.github/blob/main/contributing.md) and this repository's project context (`.cratis/PROJECT.md`) before changing public surfaces.
128
+ Repository development currently requires the SDK and toolchain versions declared by [`global.json`](https://github.com/Cratis/Arc/blob/main/global.json) and [`package.json`](https://github.com/Cratis/Arc/blob/main/package.json). Follow the [Cratis contribution guide](https://github.com/Cratis/.github/blob/main/contributing.md) and this repository's project context ([`AGENTS.md`](https://github.com/Cratis/Arc/blob/main/AGENTS.md) and the project rules it links) before changing public surfaces.
129
129
 
130
130
  Before submitting documentation-only work, verify its links, anchors, and examples explicitly; current automated documentation checks are path-scoped. Source changes must pass the owning repository's applicable build, specification, TypeScript, and documentation gates.
131
131