Multi-band HeadyVersion platform for all jam bands
Find a file
fullsizemalt 881f4990ee chore: add Claude Code configuration (Boris workflow)
- Add .claude/claude.md with project context
- Add .claude/settings.local.json with Python/npm/SSH permissions
- Add .claude/commands/ (migrate, deploy, import-data)
- Add .claude/agents/verify_fediversion.md

Full Boris-style workflow configuration for Fediversion repo.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 00:34:24 -08:00
.agent/workflows feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
.claude chore: add Claude Code configuration (Boris workflow) 2026-01-08 00:34:24 -08:00
.forgejo/workflows fix: Use fediversion.runfoo.run only (no .xyz domain yet) 2025-12-28 14:46:41 -08:00
.gemini/commands feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
.specify feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
backend feat: Add cross-band entity relationship models 2025-12-28 14:51:22 -08:00
docs feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
email feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
frontend feat: Add multi-vertical frontend infrastructure 2025-12-28 13:56:22 -08:00
.gitignore feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
DEPLOY.md feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
docker-compose.yml fix: Use fediversion.runfoo.run only (no .xyz domain yet) 2025-12-28 14:46:41 -08:00
LOCAL_DEV.md feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
README.md feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
traefik-routes.yml feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
VPS_HANDOFF.md feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00
youtube.md feat: Initialize Fediversion multi-band platform 2025-12-28 12:39:28 -08:00

Fediversion

The ultimate HeadyVersion platform for ALL jam bands.

Fediversion is a unified setlist tracking, rating, and community platform supporting multiple jam bands from a single account.

Supported Bands

Band Data Source Status
🦆 Goose El Goose API Active
🐟 Phish Phish.net API v5 🔄 Ready
💀 Grateful Dead Grateful Stats API 🔄 Ready
Dead & Company Setlist.fm 🔄 Ready
🎸 Billy Strings Setlist.fm 🔄 Ready

Quick Start

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • PostgreSQL (optional, SQLite works for dev)

1. Backend (Port 8000)

cd backend
pip install -r requirements.txt

# Set API keys for data import (optional)
export PHISHNET_API_KEY="your-key"
export SETLISTFM_API_KEY="your-key"

# Run migrations
alembic upgrade head

# Start server
uvicorn main:app --reload --port 8000

2. Frontend (Port 3000)

cd frontend
npm install
npm run dev

3. Import Band Data

cd backend

# Import Goose (existing)
python import_elgoose.py

# Import Phish
python -m importers.phish

# Import Grateful Dead
python -m importers.grateful_dead

# Import Dead & Company
python -m importers.setlistfm deadco

# Import Billy Strings
python -m importers.setlistfm bmfs

API Keys

Service Get Key At Required For
Phish.net https://phish.net/api Phish data
Setlist.fm https://api.setlist.fm D&C, Billy Strings
Grateful Stats https://gratefulstats.com Grateful Dead

Architecture

fediversion/
├── backend/
│   ├── importers/           # Band-specific data importers
│   │   ├── base.py          # Abstract base class
│   │   ├── phish.py         # Phish.net API
│   │   ├── grateful_dead.py # Grateful Stats API
│   │   └── setlistfm.py     # D&C, Billy Strings
│   ├── routers/             # API endpoints
│   ├── models.py            # SQLModel database models
│   └── main.py              # FastAPI app
├── frontend/
│   ├── app/                 # Next.js 14 app router
│   └── components/          # React components
└── docker-compose.yml

Core Concept: Verticals

Fediversion uses the "Vertical" model to support multiple bands:

class Vertical(SQLModel):
    name: str       # "Phish"
    slug: str       # "phish"
    description: str

class Show(SQLModel):
    vertical_id: int  # Links to band
    # ...

Routes support both single-band (/shows) and multi-band (/phish/shows) patterns.

Based On

Fediversion is forked from elmeg-demo (elmeg.xyz), the Goose setlist platform.

License

MIT