Files
WatchLink/.codex/project.md
ToxicCrzay270 53e9660ce0
All checks were successful
Template Compliance / compliance (push) Successful in 6s
Template Compliance / compliance (pull_request) Successful in 5s
Document Gitea AGit PR workflow
2026-06-12 13:49:57 +02:00

108 lines
2.3 KiB
Markdown

# 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:
```text
MrSphay/WatchLink
```
Current organization remote:
```text
Code-Inc/WatchLink
```
## Commands
```text
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
```text
Next.js App Router, React, TypeScript, Prisma, Postgres, Socket.IO, Docker
```
Database setup:
```text
Prisma migrations live in prisma/migrations and are applied in Docker with prisma migrate deploy.
```
Runtime uploads:
```text
Avatar uploads are stored in /app/public/uploads and mounted through the avatar-uploads Docker volume.
```
Package manager:
```text
npm
```
## Pull Requests
This project uses the Gitea organization repository directly rather than a
personal fork workflow. If API-based PR creation is unavailable or
`GITEA_TOKEN` is not a valid API token, create PRs over SSH with Gitea AGit:
```text
git push -o topic=<branch-name> origin HEAD:refs/for/<base-branch>
```
Example:
```text
git push -o topic=codex/project-hygiene-followups origin HEAD:refs/for/feature/room-invites-chat-moderation
```
After creation, validate the PR with the public API or web UI and poll any
started Gitea checks until success or a concrete blocker is known.
## Build Artifacts
Next.js standalone build output:
```text
.next/standalone
```
Docker image:
```text
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.