Orcha 🧠

Orcha is a lightweight orchestrator for managing pure-functional service state and interactions in Elixir. It promotes decoupled, composable systems by encapsulating state transitions and inter-service communication in a central context called the realm.

Designed for functional purity, testability, and introspection, Orcha is perfect for orchestrating stateless services with explicit state management and chaining.

⚠️ Note: This is a proof-of-concept and experimental project. While the architecture is robust for functional state management, Orcha is not production-hardened yet. Use it to explore clean system design, service orchestration, and functional state modeling.


✨ Concept


📂 Playground

To try Orcha interactively and see a complete working example, launch IEx with: iex -S mix.

The project includes a .iex.exs file that sets up the environment, services, and interactions described above.


🔧 Installation

Add :orcha to your list of dependencies in mix.exs:

def deps do
  [
    {:orcha, "~> 0.1.0"}
  ]
end