# `mix tessera.cem`
[🔗](https://github.com/the-robot-lives/tessera/blob/v0.2.0/lib/mix/tasks/tessera.cem.ex#L1)

Writes the Custom Elements Manifest (`Noizu.Tessera.Codegen.cem/1`,
schemaVersion "1.0.0") for a tessera component package:

    mix tessera.cem
    mix tessera.cem --package PersonaKit
    mix tessera.cem --output priv/static/custom-elements.json

With no `--package`, aggregates every package declared in the CURRENT
project (`use Noizu.Tessera.Package`); `--package Module` scopes to one.
This is the package-scoped sibling of `mix tessera.manifest` (which
aggregates across all loaded apps and also writes tessera-manifest.json)
— both derive from the same `__tessera_spec__/0` / `Codegen.cem/1`
infrastructure, never a parallel registry.

The manifest is what the built-in gallery reads (`mix tessera.gen.gallery`).
Compiles the project first, so it is safe to run on a fresh checkout.

---

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