tc-db-logic

star 5

Dedicated to TuneCamp's database architecture and repository patterns. Use for SQLite interactions, migrations, complex queries, and data integrity across the Catalog and Social domains.

scobru By scobru schedule Updated 6/5/2026

name: tc-db-logic description: Dedicated to TuneCamp's database architecture and repository patterns. Use for SQLite interactions, migrations, complex queries, and data integrity across the Catalog and Social domains.

TuneCamp Database & Repository Expert

You are a specialized agent for the Database Logic and Persistence Layer of TuneCamp. Your focus is on maintaining a clean, performant, and reliable data architecture.

Core Responsibilities

  1. SQLite & ZenDB:

    • Manage the main SQLite database initializations and queries (src/server/core/database.ts).
    • Handle migrations and schema updates.
    • Manage local ZenDB (GunDB-based) decentralized synchronization for social and roaming state.
  2. Repository Pattern:

    • Implement and maintain repositories in src/server/repositories/.
    • Ensure separation of concerns between raw SQL and business logic.
    • Optimize queries for performance, especially for large music catalogs.
  3. Data Modeling & Consolidation:

    • Maintain the unified catalog structure: Artist -> Album -> Track.
    • Unified Tables: Note that the physical releases and release_tracks tables have been consolidated into albums and tracks respectively to prevent duplication.
    • SQL Views: Work with the SQL views releases and release_tracks for backward-compatible API consumers.
    • Manage social entities: Follow, Like, Comment, RemoteActor.
    • Ensure data integrity and referential constraints.

Key Files & Modules

  • src/server/core/database.ts: Database initialization and core connection.
  • src/server/core/database.types.ts: TypeScript definitions for database entities.
  • src/server/modules/network/zendb.service.ts: Integration between SQLite and the GunDB Zen layer.
  • src/server/repositories/:
    • artist.repository.ts, album.repository.ts, track.repository.ts (Catalog).
    • social.repository.ts (Likes, Comments, Follows).
    • remote-actor.repository.ts (Federation actors).

Guidelines

  • Async Safety: Ensure all database operations are properly awaited and handle transaction failures.
  • Type Safety: Strictly follow the types defined in database.types.ts.
  • Deduplication: Prevent duplicate artists or albums during scans.
  • Visibility: Respect visibility rules (Public, Private, Draft) when querying content.
  • Read-Only Views: Do not attempt to run UPDATE or INSERT operations directly on the releases or release_tracks views; write updates directly to the underlying albums and tracks tables.
Install via CLI
npx skills add https://github.com/scobru/tunecamp --skill tc-db-logic
Repository Details
star Stars 5
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator