Thanks for your interest in contributing! Here's how to get started.
- Bun (package manager & runtime)
- Docker (for PostgreSQL, or bring your own Postgres instance)
- Node.js 22+ (for Next.js runtime)
# Clone the repo
git clone https://github.com/NindroidA/respool.git
cd respool
# Install dependencies
bun install
# Set up environment
cp .env.example .env
# Edit .env — at minimum set DATABASE_URL and BETTER_AUTH_SECRET
# Start PostgreSQL (via Docker)
docker compose up db -d
# Run database migrations and seed data
bunx prisma migrate dev
bunx prisma db seed
# Start the dev server
bun devThe app will be available at http://localhost:3000.
feat/short-description— new featuresfix/short-description— bug fixessilly/short-description- silly fixesdocs/short-description— documentation changesrefactor/short-description— code refactoring
- TypeScript strict mode — no
any, no@ts-ignorewithout justification - Zod validation on all server action inputs
- Auth checks — every server action must call
requireUser()orrequireAdmin() - Owner checks — always verify
userIdmatches the authenticated user before returning/modifying data - Mobile responsive — every page must work on phone screens
- Use existing components from
src/components/ui/(shadcn/ui) - Follow the design system in
docs/DESIGN_SYSTEM.md
Use conventional commits:
feat: add spool duplication
fix: correct mass calculation on log delete
silly: misspelled word
docs: update architecture diagram
refactor: extract color matching logic
# Type check
npx tsc --noEmit
# Run the dev server and test manually
bun dev- Fork the repository and create your branch from
main - Make your changes following the code standards above
- Ensure
npx tsc --noEmitpasses with no errors - Test your changes locally with
bun dev - Write a clear PR description explaining what and why
- Submit the PR — a maintainer will review it
## What
Brief description of what this PR does.
## Why
Why is this change needed?
## How to Test
Steps to verify the change works correctly.See docs/ARCHITECTURE.md for the full system overview. Key directories:
src/
├── app/ # Next.js App Router pages and server actions
├── components/ # React components (ui/, layout/, spools/, etc.)
├── lib/ # Shared utilities (auth, prisma, validators, constants)
└── hooks/ # Custom React hooks
The app uses a jade green accent (#10b981) dark theme. See docs/DESIGN_SYSTEM.md for the full color palette, typography, and component styles.
Open an issue or start a discussion on the repository. Always happy to help!