Contract-first
Route to the contract-first path and execute the sequence.
Use this page to make one decision: which onboarding path to start first.
Before choosing, review Compatibility and Support Matrix to confirm supported lines and peer ranges.
Pick the first path based on where your integration risk lives:
@ddgutierrezc/legato-contract.@ddgutierrezc/legato-capacitor and keep @ddgutierrezc/legato-contract as the shared model.Legato is intentionally layered: legato-contract defines shared semantics, and legato-capacitor integrates those semantics with Capacitor runtime behavior.
| If you need… | Install | Why this is the fit |
|---|---|---|
| Shared playback events, snapshots, and invariants across multiple runtimes or app layers | @ddgutierrezc/legato-contract | You can stabilize app logic first without coupling it to Capacitor runtime APIs. |
Hybrid app playback with Capacitor runtime integration (audioPlayer, mediaSession) | @ddgutierrezc/legato-capacitor + @ddgutierrezc/legato-contract | You need runtime commands/listeners, while still reusing the same shared contract semantics. |
| Rollout safety and upgrade confidence for existing integrations | Usually both packages + your app validation layer | Your main risk is release behavior drift, capability assumptions, and non-explicit compatibility decisions. |
Choose the first statement that is true:
@ddgutierrezc/legato-contract.@ddgutierrezc/legato-capacitor and @ddgutierrezc/legato-contract.Contract-first
Route to the contract-first path and execute the sequence.
Capacitor runtime-first
Route to the runtime-first path and validate device playback flow.
Production confidence
Route to hardening checks before rollout or upgrade.
Then continue with Golden Paths for the prescriptive sequence.
You are aligning state, events, and queue semantics across teams before deciding runtime details.
@ddgutierrezc/legato-contractYou already need native playback control, media-session events, and runtime capability checks.
@ddgutierrezc/legato-capacitor + @ddgutierrezc/legato-contractYou can start by making your app logic consume contract snapshots/events, then plug in Capacitor without rewriting that logic.
@ddgutierrezc/legato-capacitor only because “we might need native later” while no runtime integration exists yet.@ddgutierrezc/legato-contract as a full runtime solution; it does not provide playback execution APIs.duration as seek support; seek is capability-projected at runtime.error.code, capability literals, and setup lifecycle assumptions.Golden Paths
Contract-first rationale
Capability projection
Production quickstart