@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 +15 -15
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
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
|
|
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).
|
|
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
|
-
|
|
83
|
+
Replace `Program.cs` and run the host:
|
|
82
84
|
|
|
83
85
|
```csharp
|
|
84
|
-
|
|
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 (
|
|
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
|
|