Spaces:
Running
title: HiveTrace Leaderboard
emoji: 🛡️
colorFrom: green
colorTo: indigo
sdk: docker
app_port: 5173
pinned: true
short_description: HiveTrace leaderboard frontend
tags:
- leaderboard
- sveltekit
- docker
HiveTrace Leaderboard frontend
Overview
HiveTrace Leaderboard is a SvelteKit frontend for browsing guardrail benchmark results from a private Hugging Face bucket.
The app uses:
- SvelteKit
- pnpm
11.9.0 - shadcn-svelte and shadcn-svelte-extras
- Tailwind CSS
- Paraglide JS for localization
Requirements
- Node.js
20.19.5or newer - pnpm
11.9.0
Setup
From the project root:
pnpm install
Create a local .env file from the example:
cp .env.example .env
Then configure a read token with access to the private Hugging Face bucket.
Required server-only environment variables:
HF_TOKEN=hf_...
HF_BUCKET_ID=...
HF_BUCKET_PREFIX=latest
Do not rename HF_TOKEN to PUBLIC_HF_TOKEN. The token is used only on the SvelteKit server.
In production, pass it as a runtime secret, not as a Docker build argument.
Public exports
The Space exposes stable export URLs for automation and pipelines. These URLs are public and can
be fetched with curl without passing a token:
curl -L "https://<space-domain>/exports/ranking.csv"
curl -L "https://<space-domain>/exports/ranking.json"
curl -L "https://<space-domain>/exports/details-matrix.csv"
curl -L "https://<space-domain>/exports/details-matrix.json"
curl -L "https://<space-domain>/exports/tools.csv"
curl -L "https://<space-domain>/exports/tools.json"
The exports are generated by the SvelteKit server from the same server-side bucket access used by
the Ranking, Details, and Visualizations pages. The private Hugging Face bucket is not downloaded
directly by clients, and HF_TOKEN remains server-only.
The ranking export uses the default leaderboard view: all benchmarks, all models, and
integral descending sort. The details matrix export uses the default matrix view: score
metric, all groups, all models, and integral descending sort. The tools export uses all models
and all benchmark groups with data. Its CSV is built with the same formatter as the
Visualizations page Export CSV button when all models and groups are selected.
Development
pnpm dev
Validation
Before pushing, format the code, run linting, run Svelte/TypeScript checks, and verify the production build.
Format:
pnpm format
Lint:
pnpm lint
Check Tailwind utility classes:
pnpm tailwind:check
Check SvelteKit, TypeScript, and Svelte components:
pnpm check
Build:
pnpm build