Full self-hosted click track generator for cover bands. Core technical pieces implemented: - CTP (Click Track Protocol) TypeScript schema, Zod validator, and WAV renderer (44.1 kHz, 16-bit PCM, accented downbeats, ramp sections) - MusicBrainz API client with 1 req/s rate limiting - PostgreSQL schema (songs, tempo_maps, registry_sync_log) with triggers - Git registry sync logic (clone/pull → validate CTP → upsert DB) - Next.js 14 App Router: search page, track page, API routes (/api/songs, /api/tracks, /api/generate) - UI components: SearchBar, SongResult, TempoMapEditor, ClickTrackPlayer (Web Audio API in-browser playback + WAV download) - Docker Compose stack: app + postgres + redis + nginx + registry-sync - Multi-stage Dockerfile with standalone Next.js output - .env.example documenting all configuration variables - README with setup instructions, CTP format spec, and API reference Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
394 B
Plaintext
36 lines
394 B
Plaintext
# Dependencies
|
|
node_modules/
|
|
.pnp
|
|
.pnp.js
|
|
|
|
# Next.js
|
|
.next/
|
|
out/
|
|
|
|
# Environment — NEVER commit .env
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
|
|
# Build outputs
|
|
dist/
|
|
build/
|
|
|
|
# Misc
|
|
.DS_Store
|
|
*.pem
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
|
|
# TypeScript
|
|
*.tsbuildinfo
|
|
next-env.d.ts
|
|
|
|
# Docker volumes (if mounted locally)
|
|
postgres_data/
|
|
redis_data/
|
|
|
|
# Temporary registry clone
|
|
/tmp/clicktrack-registry/
|