Skip to content

NPM Packages

Coral publishes five packages to npm: one scaffolder, two runtime libraries, and two shared tooling presets. Everything else in the ecosystem is a Docker image, not a package.

Version badges are live, so this table cannot go stale.

PackageVersionPurpose
create-coralnpmCLI to scaffold a new Coral module from the official template
@get-coral/jellyfinnpmTyped Jellyfin API client for Node, browser and edge runtimes
@get-coral/uinpmShared React component library and design tokens
@get-coral/tsconfignpmShared TypeScript config presets
@get-coral/biome-confignpmShared Biome lint and format configuration

Building a Coral module? Run pnpm create coral@latest. The template already depends on all four of the others; you do not install them by hand.

Talking to Jellyfin from your own project? You only need @get-coral/jellyfin. It has zero runtime dependencies and no React, so it works in a script, a worker or a server as happily as in an app.

Matching Coral’s look? Add @get-coral/ui. It needs React 19.

Matching Coral’s tooling in an unrelated repo? @get-coral/tsconfig and @get-coral/biome-config are standalone and useful on their own.

Terminal window
pnpm create coral@latest
# or
npm create coral@latest
Terminal window
pnpm add @get-coral/jellyfin
Terminal window
pnpm add @get-coral/ui
Terminal window
pnpm add -D @get-coral/tsconfig @get-coral/biome-config

Then extend them. In tsconfig.json:

{ "extends": "@get-coral/tsconfig" }

And in biome.json:

{ "extends": ["@get-coral/biome-config"] }

Every package uses Release Please: conventional commits on main open a release PR, and merging it publishes. Publishing uses npm trusted publishing (OIDC) with provenance, so there is no long-lived NPM_TOKEN in any repository.

The two tooling presets live together in Get-Coral/dev-standards; the other three have their own repositories.