# octa_star v0.2.0 - API Reference

## Modules

- Core
  - [OctaStar](OctaStar.md): Elixir SDK helpers for Datastar.
  - [OctaStar.Actions](OctaStar.Actions.md): Datastar action expression helpers.
  - [OctaStar.Elements](OctaStar.Elements.md): Datastar `datastar-patch-elements` helpers.

  - [OctaStar.JSON](OctaStar.JSON.md): Tiny wrapper around Erlang/OTP's native `:json` module.
  - [OctaStar.Scripts](OctaStar.Scripts.md): Script helpers implemented through Datastar element patches.

  - [OctaStar.ServerSentEventGenerator](OctaStar.ServerSentEventGenerator.md): Plug-based Datastar Server-Sent Event generator.
  - [OctaStar.Signals](OctaStar.Signals.md): Datastar signal reading and `datastar-patch-signals` helpers.

  - [OctaStar.Utility.StreamRegistry](OctaStar.Utility.StreamRegistry.md): Opt-in per-tab stream deduplication.

- Plugs
  - [OctaStar.Plug.Dispatch](OctaStar.Plug.Dispatch.md): Allowlisted Datastar event dispatch plug.
  - [OctaStar.Plug.RenameCsrfParam](OctaStar.Plug.RenameCsrfParam.md): Copies a Datastar CSRF signal into `_csrf_token` for `Plug.CSRFProtection`.

- Phoenix
  - [OctaStar.Phoenix.Controller](OctaStar.Phoenix.Controller.md): Phoenix controller helpers for OctaStar.
  - [OctaStar.Phoenix.Dispatch](OctaStar.Phoenix.Dispatch.md): Marker-based Datastar dispatch for Phoenix controllers.
  - [OctaStar.StarView](OctaStar.StarView.md): Behaviour for OctaStar-enabled Phoenix controllers.

- Exceptions
  - [OctaStar.Signals.ReadError](OctaStar.Signals.ReadError.md): Raised when Datastar signals cannot be decoded from the request body.

## Mix Tasks

- [mix octa_star.install](Mix.Tasks.OctaStar.Install.md): Installs OctaStar into your project
- [mix octa_star.setup.datastar](Mix.Tasks.OctaStar.Setup.Datastar.md): Configures Datastar dispatch routes and HTTPS for dev
- [mix octa_star.setup.demo_controller](Mix.Tasks.OctaStar.Setup.DemoController.md): Generates an example OctaStar demo controller with Datastar
- [mix octa_star.setup.streaming](Mix.Tasks.OctaStar.Setup.Streaming.md): Adds OctaStar stream registry to the supervision tree
- [mix octa_star.setup.web_module](Mix.Tasks.OctaStar.Setup.WebModule.md): Patches the Phoenix web module with OctaStar controller support

