# `Electric.CoreSupervisor`
[🔗](https://github.com/electric-sql/electric/tree/%40core/sync-service%401.6.2/packages/sync-service/lib/electric/core_supervisor.ex#L1)

A supervisor that starts the core components of the Electric system.
This is divided into two subsystems:
1. The connection subsystem (processes that may exit on a connection failure), started with Connection.Supervisor
2. The shape subsystem (processes that are resilient to connection failures), started with Shapes.Supervisor

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `name`

# `start_link`

# `start_shapes_supervisor`

This function is supposed to be called from Connection.Manager at the right point in its
initialization sequence.

# `stop_shapes_supervisor`

Stops the Shapes.Supervisor if it's currently running.

This is useful when you need to reset storage before starting a new supervisor.
Returns :ok if the supervisor was stopped or wasn't running.

---

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