# malla v0.0.1-rc.1 - API Reference

## Modules

- Core
  - [Malla](Malla.md): `Malla` is a comprehensive framework that simplifies the development of distributed
services through a plugin-based architecture with compile-time callback chaining,
automatic service discovery across nodes, and minimal "magic" to keep systems
understandable.
  - [Malla.Plugin](Malla.Plugin.md): Defines the core behavior for a Malla plugins.
  - [Malla.Plugins.Base](Malla.Plugins.Base.md): The base plugin that all services include by default.
  - [Malla.Service](Malla.Service.md): Defines the core behavior for a Malla service.
  - [Malla.Service.Interface](Malla.Service.Interface.md): Behaviour defining the public interface for Malla services.

- Distributed
  - [Malla.Cluster](Malla.Cluster.md): Provides utilities to connect Erlang nodes in a cluster.
  - [Malla.Node](Malla.Node.md): Manages distributed Malla services across a cluster of nodes.

- Runtime
  - [Malla.Config](Malla.Config.md): A simple ETS-based key-value store for node-wide configuration.
  - [Malla.Registry](Malla.Registry.md): Provides process registration utilities.

- Plugins
  - [Malla.Plugins.Request](Malla.Plugins.Request.md): Server-side plugin for handling incoming requests via the Malla request protocol.
  - [Malla.Plugins.Status](Malla.Plugins.Status.md): Plugin that provides status and error response management with extensible callbacks.
  - [Malla.Plugins.Tracer](Malla.Plugins.Tracer.md): Plugin that provides observability callbacks for Malla services.
  - [Malla.Request](Malla.Request.md): Client-side API for making structured requests to remote services.
  - [Malla.Status](Malla.Status.md): Provides core utilities for standardizing status and error responses.
  - [Malla.Tracer](Malla.Tracer.md): Provides a zero-overhead observability API for Malla services.

- Exceptions
  - [Malla.Request.ReqError](Malla.Request.ReqError.md)
  - [Malla.ServiceIdMissing](Malla.ServiceIdMissing.md)

