# `Slap.Cluster.ShardChildren`
[🔗](https://github.com/mjrusso/slap/blob/slap_cluster-v0.4.0/slap_cluster/lib/slap/cluster/shard_children.ex#L1)

Starts application processes for a shard after its database opens.

A module used as `shard_children: {module, :child_specs, args}` can implement
`validate_child_options!/1`. The cluster calls it before starting, so a
configuration error does not leave shards retrying their startup.

# `child_specs`

```elixir
@callback child_specs(Slap.Cluster.Shard.t()) :: [
  Supervisor.child_spec() | {module(), term()}
]
```

# `validate_child_options!`
*optional* 

```elixir
@callback validate_child_options!(keyword()) :: :ok
```

Raises `ArgumentError` for invalid application settings.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
