cloudactors

Generate Orleans actor services with typed IActorBus APIs and source generators.

40|3|Updated Aug 1, 2023
One-click install
npx skills add https://github.com/devlooped/CloudActors --skill cloudactors
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: cloudactors
Source: https://github.com/devlooped/CloudActors/tree/main/src
Command: npx skills add https://github.com/devlooped/CloudActors --skill cloudactors

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Cloud Actors provides a cohesive approach to define, implement, and consume Cloud Actors on Microsoft Orleans, delivering a uniform actor bus API, typed IDs, and optional event-sourcing patterns for robust, scalable cloud-native architectures.

Core Features & Use Cases

  • Uniform actor interactions via IActorBus with Execute and Query semantics.
  • Support for typed IDs (including StructId and custom wrappers) to route to correct actor instances without collisions.
  • Actor-centric design using [Actor], [Journaled], and [EventSourced] attributes with code-gen for state, serializers, and hosting glue.
  • End-to-end hosting integration for Orleans silos, including DI wiring, state provisioning, and storage adapters.
  • Optional storage backends and event persistence patterns (Streamstone, in-memory tests, or cloud storage backends) with code generation for serialization.

Quick Start

Install CloudActors, annotate your actor classes with [Actor], configure hosting with AddCloudActors(), and interact with actors through IActorBus.

Frequently Asked Questions about cloudactors

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I define and consume Orleans actors using a uniform actor bus API?▼

You define and consume Orleans actors by annotating classes with [Actor], configuring hosting with AddCloudActors(), and interacting through a typed IActorBus API that provides Execute and Query semantics.

Can I use event sourcing with Orleans actors for cloud-native architectures?▼

Yes, you can use event sourcing with Orleans actors by applying [Journaled] and [EventSourced] attributes, which trigger source generators to emit state, serializers, and event persistence patterns for storage backends like Streamstone.

Do I need source generators to route actor instances with typed IDs in Orleans?▼

Typed IDs are required to route to correct actor instances without collisions, and Roslyn-based source generators automatically emit the necessary state, bus overloads, and serializers to support them.

What's the best way to integrate actor services with Orleans silo hosting and DI wiring?▼

The best way to integrate actor services is using AddCloudActors() during silo configuration, which provides end-to-end hosting integration including DI wiring, state provisioning, and storage adapters.

Does Cloud Actors support custom storage backends for event persistence?▼

Cloud Actors supports optional storage backends and event persistence patterns, including Streamstone, in-memory tests, or cloud storage backends, with code generation handling serialization requirements.

Why does Cloud Actors require partial types for actor configuration?▼

Cloud Actors requires partial types because Roslyn-based analysis and source generation enforce them to emit actor configuration, hosting glue, and serialization code at compile time.