# counterpoint v0.1.0 - Table of Contents

> Vertical slicing for Elixir — features as self-contained slices using event sourcing and CQRS

## Pages

- [Counterpoint](readme.md)

## Modules

- [Counterpoint](Counterpoint.md): Counterpoint is a CQRS / event-sourcing toolkit built on top of the DCB event store.
- [Counterpoint.Application](Counterpoint.Application.md)
- [Counterpoint.Automation](Counterpoint.Automation.md)
- [Counterpoint.Automation.Supervisor](Counterpoint.Automation.Supervisor.md)
- [Counterpoint.Automation.Watcher](Counterpoint.Automation.Watcher.md)
- [Counterpoint.Command](Counterpoint.Command.md): Behaviour for write-side commands.
- [Counterpoint.CommandRunner](Counterpoint.CommandRunner.md): Executes a `Counterpoint.Command` with automatic optimistic-concurrency retry.
- [Counterpoint.CommandWithEffect](Counterpoint.CommandWithEffect.md): Behaviour for commands that require external dependencies (effects) at runtime.
- [Counterpoint.CommandWithEffectRunner](Counterpoint.CommandWithEffectRunner.md): Executes a `Counterpoint.CommandWithEffect` with a fixed set of dependencies.
- [Counterpoint.Envelope](Counterpoint.Envelope.md): A deserialized event together with its store metadata.
- [Counterpoint.Event](Counterpoint.Event.md): Behaviour for domain events stored in the event log.
- [Counterpoint.EventRegistry](Counterpoint.EventRegistry.md): ETS-backed registry that maps event type strings to their modules.
- [Counterpoint.OnDemandProjection](Counterpoint.OnDemandProjection.md): Read-side projection that folds events into state on every call.
- [Counterpoint.Plug.CommandRouter](Counterpoint.Plug.CommandRouter.md)
- [Counterpoint.Plug.ViewRouter](Counterpoint.Plug.ViewRouter.md)
- [Counterpoint.Projection](Counterpoint.Projection.md): Simplified read-side projection without limit or reverse support.
- [Counterpoint.Query](Counterpoint.Query.md): Composable query builder for filtering events from the store.
- [Counterpoint.Queue](Counterpoint.Queue.md): Behaviour for enqueueing automation jobs triggered by events.
- [Counterpoint.Queue.Oban](Counterpoint.Queue.Oban.md)
- [Counterpoint.Queue.Oban.Worker](Counterpoint.Queue.Oban.Worker.md)
- [Counterpoint.Queue.Simple](Counterpoint.Queue.Simple.md)
- [Counterpoint.ReadAppender](Counterpoint.ReadAppender.md): Tracks event reads so appends can enforce optimistic concurrency.
- [Counterpoint.Store](Counterpoint.Store.md): ETS-backed registry of named DCB store references.
- [Counterpoint.Supervisor](Counterpoint.Supervisor.md): Top-level supervisor that wires up a Counterpoint instance.
- [Counterpoint.Testing.FDBContainer](Counterpoint.Testing.FDBContainer.md)

