Files
WatchLink/.codex/project.md
MrSphay c1ac6e4142
Some checks failed
Template Compliance / compliance (push) Successful in 7s
Release Dry Run / release-dry-run (push) Failing after 1m8s
Build / build (push) Failing after 1m15s
Complete WatchLink V1 realtime features
2026-05-15 23:27:18 +02:00

1.6 KiB

Codex Project Notes

Project

WatchLink is a Dockerized Next.js + Postgres web app for persistent shared watch rooms with accounts, friends, roles, permissions, admin setup, persistent realtime playback sync, invites, room chat, and profile uploads.

Repository:

MrSphay/WatchLink

Commands

Install: npm install
Dev: npm run dev
Lint: npm run lint
Typecheck: npm run typecheck
Test: npm run test
Build: npm run build
Audit: npm run audit
Release check: npm run release:check
Docker: docker compose up --build
Database migrate: npm run db:migrate

Stack

Next.js App Router, React, TypeScript, Prisma, Postgres, Socket.IO, Docker

Database setup:

Prisma migrations live in prisma/migrations and are applied in Docker with prisma migrate deploy.

Runtime uploads:

Avatar uploads are stored in /app/public/uploads and mounted through the avatar-uploads Docker volume.

Package manager:

npm

Build Artifacts

Next.js standalone build output:

.next/standalone

Docker image:

git.wilkensxl.de/mrsphay/watchlink:latest

Security Rules

  • Do not commit secrets, .env files, tokens, private keys, or certificates.
  • Use .env.example for documentation only.
  • Review docs/security-review.md before release work.
  • Keep package publishing secrets in Gitea secrets as REGISTRY_TOKEN.

Release Rules

Before a release:

  1. run npm run release:check,
  2. verify Docker build,
  3. verify Gitea Actions are green,
  4. verify the pushed container image can be pulled,
  5. update README and changelog,
  6. create tags/releases only when explicitly requested.