Encore
Encore
Section titled “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.
Version
Section titled “Version”- Current version: 0.1.0
- GHCR image:
ghcr.io/get-coral/encore
Getting Started
Section titled “Getting Started”Prerequisites
Section titled “Prerequisites”- Node.js 18+
- pnpm (or npm/yarn)
Installation
Section titled “Installation”- Clone the repository:
git clone https://github.com/Get-Coral/encore.gitcd encore- Install dependencies:
pnpm install- Configure environment variables:
cp .env.example .envJELLYFIN_URL=http://your-server:8096JELLYFIN_API_KEY=your-api-keyJELLYFIN_USER_ID=your-user-id- Start development server:
pnpm devEncore runs on http://localhost:3000
| Tool | Purpose |
|---|---|
| TanStack Start | Full-stack React framework |
| TanStack Router | Type-safe file-based routing |
| TanStack Query | Server state management |
| Tailwind v4 | Styling |
| Biome | Linting & formatting |
| @get-coral/jellyfin | Jellyfin API client |
| Vitest | Testing |
Available Scripts
Section titled “Available Scripts”pnpm dev # Start dev server on :3000pnpm build # Production buildpnpm start # Run production serverpnpm typecheck # TypeScript checkpnpm check # Biome lint + format checkpnpm lint # Biome lint with auto-fixpnpm test # Run testsDeployment
Section titled “Deployment”Docker
Section titled “Docker”# Builddocker build -t encore .
# Rundocker run -p 3000:3000 \ -e JELLYFIN_URL=http://your-nas:8096 \ -e JELLYFIN_API_KEY=your-key \ -e JELLYFIN_USER_ID=your-user-id \ encoreAutomated 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
Contributing
Section titled “Contributing”See Contributing to contribute to Encore.