# commanded/commanded

Use Commanded to build Elixir CQRS/ES applications

Repository: https://github.com/commanded/commanded
Canonical: https://ross.abutalabs.com/products/commanded
Language: Elixir
License: MIT
License Family: permissive
Topics: cqrs, elixir, cqrs-es, cqrs-framework, event-sourcing, commanded, eventstore
Last push: 2026-07-27T16:39:45+00:00

## Health v2 (maintenance only)
Score: 91/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 94, release rhythm 83, longevity 100
- inputs: {"age_days": 3813, "days_push": 37, "days_rel": 37, "gap_med": 63.5, "n_releases_24m": 7}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2030, forks 256 (observed 2026-08-28T04:06:07.229127+00:00)

## What it is
Commanded is an Elixir framework for building applications using the CQRS (Command Query Responsibility Segregation) and Event Sourcing (ES) patterns. It provides command registration and dispatch, aggregate hosting, event handling, and long-running process managers, with pluggable event store persistence.

## Use cases
- build a CQRS application in Elixir
- implement event sourcing with aggregates
- dispatch and route commands to domain aggregates
- create long-running process managers
- persist events to an event store backed by Postgres
- model a complex domain with event-driven architecture
- handle events asynchronously in a distributed system

## When to choose
- You are building an Elixir application and want to follow the CQRS/ES pattern
- You need a solid, battle-tested foundation for command dispatch, aggregates, and event handling
- You want to focus on domain modelling rather than infrastructure plumbing
- You need pluggable event store persistence (e.g., Postgres-backed EventStore)

## When to avoid
- You are not using Elixir or the BEAM ecosystem
- Your application is simple CRUD and does not benefit from CQRS/ES complexity
- You need a turnkey application rather than a framework to build on
- You require an event store other than the supported options without custom integration work

## Facets
- artifact type: framework
- maturity: stable
- function: middleware, message-queue, workflow-automation, serialization, database-driver
- domain: backend, developer-tools, microservices, apis
- platform: elixir, jvm, windows, cross-platform, self-hosted
- tags: cqrs, event-sourcing, elixir, eventstore, aggregates, process-managers, command-dispatch, domain-driven-design, hex-package, postgres, automation, linux, macos, web-server

## Member repositories
- commanded/commanded (main) score 91

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:07.229127+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:59:34.965062+00:00, confidence not recorded.
  - readme: https://github.com/commanded/commanded (fetched 2026-08-28T04:06:07.229127+00:00, sha dce8b44f661e)
- Data as of 2026-08-30T08:39:29.467469+00:00.
