Packages

Milda is split into small packages by responsibility. Most users need the Studio, themilda CLI, or their generated design-system package - not these implementation libraries. This page is for contributors and teams embedding the engine.

Package names
All published engine packages use the @mildastudio scope. The language package is @mildastudio/milda; milda without a scope is the CLI command, not a JavaScript package documented here.

#The public engine

  • @mildastudio/milda - the canonical language types, prelude, parser, validation, token resolution, and conformance rules. It defines the document that every other engine package exchanges.
  • @mildastudio/core - operations over that document: component structure and containment, contracts, facets, foundations, behavior lowering, documentation, and editor-facing mutations.
  • @mildastudio/contract - stable contract digests, compatibility diffs, variance checks, and semver severity. It lets release tooling reason about consumer-visible change without generating framework code first.
  • @mildastudio/generate - target generation. It contains the target interface and current React and Figma-related emitters; target availability is described on Targets.
  • @mildastudio/release - pure release planning and artifact assembly on top of generation. Network publishing is intentionally outside this package.

#Command-line client

@mildastudio/cli builds the standalone milda executable. It can authenticate, inspect a hosted or local document, pull a snapshot, diff contracts, generate source, and configure consumers. Install and command details live in The CLI.

#Editor tooling

@mildastudio/milda-lsp is the language server for the .milda DSL: diagnostics, completion, hover, go-to-definition, document outline, folding, and semantic-token highlighting, reusing the @mildastudio/milda parser. It powers the VS Code / Open VSX and JetBrains extensions (which bundle it) and works with any LSP-capable editor. Install and per-editor setup live in Editor support.

#Product-internal packages

  • @mildastudio/editor - shared Studio UI and its local-first document runtime. It is reused by the hosted Studio and interactive examples in these docs.
  • @mildastudio/example - the internal example and dogfood design system used to exercise authoring, generation, and release paths.
  • @mildastudio/color-picker - the color editing control used by Studio foundation editors.

Packages such as @mildastudio/analytics, @mildastudio/emails, @mildastudio/landing, and @mildastudio/cdnsupport Milda's own applications. They are private workspace packages, not part of the engine API.

#How the packages compose

The dependency direction is intentional: the language defines the data; core operates on it; contract and generate interpret it for compatibility and output; release assembles generation results. The Studio and CLI sit above those layers as user-facing clients.

Which package should I use?
Consuming a Milda-made design system? Install that system's generated package. Automating normal workflows? Use the CLI. Import the engine packages only when you are building tooling that reads, validates, transforms, or generates from Milda documents.