Skip to content

Encore

Encore is a Coral ecosystem module built on TanStack Start, Tailwind v4, and the Jellyfin API. It serves as a template and foundation for building new Coral applications.

  • Node.js 18+
  • pnpm (or npm/yarn)
  1. Clone the repository:
Terminal window
git clone https://github.com/Get-Coral/encore.git
cd encore
  1. Install dependencies:
Terminal window
pnpm install
  1. Configure environment variables:
Terminal window
cp .env.example .env
JELLYFIN_URL=http://your-server:8096
JELLYFIN_API_KEY=your-api-key
JELLYFIN_USER_ID=your-user-id
  1. Start development server:
Terminal window
pnpm dev

Encore runs on http://localhost:3000

ToolPurpose
TanStack StartFull-stack React framework
TanStack RouterType-safe file-based routing
TanStack QueryServer state management
Tailwind v4Styling
BiomeLinting & formatting
@get-coral/jellyfinJellyfin API client
VitestTesting
Terminal window
pnpm dev # Start dev server on :3000
pnpm build # Production build
pnpm start # Run production server
pnpm typecheck # TypeScript check
pnpm check # Biome lint + format check
pnpm lint # Biome lint with auto-fix
pnpm test # Run tests
Terminal window
# Build
docker build -t encore .
# Run
docker run -p 3000:3000 \
-e JELLYFIN_URL=http://your-nas:8096 \
-e JELLYFIN_API_KEY=your-key \
-e JELLYFIN_USER_ID=your-user-id \
encore

Automated workflows handle:

  • ci.yml - Run on every PR and push (typecheck, lint, test, build)
  • docker-publish.yml - Publish to GHCR on release
  • release-please.yml - Automated versioning and releases

See Contributing to contribute to Encore.

Get-Coral/encore on GitHub