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.