Files
reactivity-repro/README.md
2026-01-28 12:54:02 +00:00

1.7 KiB

Kickback

Unified web application for music library management using SvelteKit and beets.

Development Setup

Prerequisites

  • Node.js 24+
  • Python 3.11+
  • pnpm
  • uv (Python package manager)

Installation

  1. Install dependencies:
pnpm install
uv pip install -r requirements.txt
  1. Start development server:
pnpm dev

The app will be available at http://localhost:5173

Beets Integration

The application uses beets for music library management. All beets commands are called via src/lib/beets.ts helper functions.

Local Development

Beets is installed locally via uv. The CLI is available for use in SvelteKit actions.

Production Build

# Build Docker image
pnpm docker:build

# Start container
pnpm docker:run

The unified container runs both SvelteKit and beets with data persisted to .data/ and .appdata/.

Project Structure

kickback/
├── src/               # SvelteKit application source
│   └── lib/
│       └── beets.ts  # Beets CLI helpers
├── config/
│   └── beets.yaml    # Beets configuration
├── .data/             # Music library (gitignored)
├── .appdata/          # Beets state (gitignored)
└── docker-compose.yml

Docker

The production Docker image packages:

  • Python 3.11 with beets installed via uv
  • Node 24 with SvelteKit application
  • Beets configuration and data volume mounts

Commands

  • pnpm dev - Start dev server
  • pnpm build - Build for production
  • pnpm test - Run tests
  • pnpm lint - Lint code
  • pnpm format - Format code
  • pnpm docker:build - Build Docker image
  • pnpm docker:run - Run Docker container via docker-compose