Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
3506e40
feat: Introduce group phase page with tabbed ranking and graph views,…
PaulicStudios Feb 4, 2026
25e9dd5
feat: fixed the exposure of match data if match did not get revelead yet
PaulicStudios Feb 4, 2026
2737137
Merge pull request #517 from 42core-team/add-swiss-round-table
Peu77 Feb 6, 2026
ba49a62
Revert "feat: added swiss round table"
PaulicStudios Feb 6, 2026
ad6e370
Merge pull request #522 from 42core-team/revert-517-add-swiss-round-t…
PaulicStudios Feb 6, 2026
2297669
feat: added basic functioning event templates for defining multiple b…
PaulicStudios Feb 10, 2026
2c8f6fb
feat: team create design improvements
PaulicStudios Feb 10, 2026
f615372
feat: emitting right docker image to queue now
PaulicStudios Feb 10, 2026
92fe71d
feat: fix github token update and implemented coderabbit improvements
PaulicStudios Feb 10, 2026
66f8ffe
fix: now it does not try to format the game config and server config …
PaulicStudios Feb 10, 2026
5ec5e3b
feat: Add Suspense to the event dashboard page to display a loading f…
PaulicStudios Feb 10, 2026
eec5a4a
feat: added template repo version endpoint and replace url in script …
PaulicStudios Feb 11, 2026
dcbff86
chore: updated k8s-service dependencies
PaulicStudios Feb 10, 2026
db83576
feat: added more output to git clone container; fixes #529
PaulicStudios Feb 10, 2026
d5572c3
feat: added replacing of event url in image update script; fixes #539
PaulicStudios Feb 10, 2026
6dc7890
feat: added replacing of event url in image update script; fixes #539
PaulicStudios Feb 10, 2026
35dd1c7
feat: added template repo version endpoint and replace url in script …
PaulicStudios Feb 11, 2026
824e5a4
feat: added replacing of event url in image update script; fixes #539
PaulicStudios Feb 10, 2026
21fc295
chore(deps): bump golang
dependabot[bot] Feb 16, 2026
08533d0
chore(deps): bump the github-service-npm-dependencies group
dependabot[bot] Feb 16, 2026
270b8f6
chore(deps-dev): bump the api-npm-dependencies group
dependabot[bot] Feb 16, 2026
48a4d75
chore(deps): bump the frontend-npm-dependencies group
dependabot[bot] Feb 16, 2026
8979245
Merge pull request #542 from 42core-team/dependabot/docker/k8s-servic…
PaulicStudios Feb 17, 2026
516c244
Merge pull request #544 from 42core-team/dependabot/npm_and_yarn/gith…
PaulicStudios Feb 17, 2026
ab93e07
Merge pull request #546 from 42core-team/dependabot/npm_and_yarn/fron…
PaulicStudios Feb 17, 2026
abbee03
Merge pull request #545 from 42core-team/dependabot/npm_and_yarn/api/…
PaulicStudios Feb 17, 2026
e2566e2
chore: updated k8s-service deps
PaulicStudios Feb 17, 2026
a1a7967
Merge branch 'dev' into 537-ability-to-add-different-repo-templates
PaulicStudios Feb 17, 2026
6a4a30a
chore: pnpm i
PaulicStudios Feb 17, 2026
0585367
feat: changed git clone script
PaulicStudios Feb 17, 2026
eaa5999
feat: refactor config writing logic into a single utility function in…
PaulicStudios Feb 17, 2026
27a62be
fix: github-service replace right url in scripts
PaulicStudios Feb 17, 2026
35280d0
fix: added validation that template exists in event when creating team
PaulicStudios Feb 17, 2026
e5c5869
Merge branch 'dev' into group-phase-bracket-design-improvements
PaulicStudios Feb 17, 2026
d218e64
Merge branch '537-ability-to-add-different-repo-templates' into group…
PaulicStudios Feb 17, 2026
697ec55
Merge pull request #538 from 42core-team/537-ability-to-add-different…
Peu77 Feb 17, 2026
2c98e93
Reapply "feat: Refactor admin view toggle into a dedicated component …
PaulicStudios Feb 17, 2026
57115c6
Revert "Revert "feat: added swiss round table""
PaulicStudios Feb 17, 2026
d28a9e9
feat: again working tournament system
PaulicStudios Feb 17, 2026
99c78fe
fix: display of buchholz and byes
PaulicStudios Feb 17, 2026
203956f
feat: Utilize ParseBoolPipe for `adminRevealQuery` in match GET endpo…
PaulicStudios Feb 19, 2026
7e71a9b
refactor: ensure database connection is always closed and improve err…
PaulicStudios Feb 19, 2026
a66f1d3
feat: Add Buchholz points sorting for teams, make `adminRevealQuery` …
PaulicStudios Feb 19, 2026
08463d5
feat: added rewrite rule for plausbile analytics script
PaulicStudios Feb 19, 2026
a2b69dd
feat: Add dedicated Helm Service and Ingress for Plausible proxying, …
PaulicStudios Feb 19, 2026
8f2d84b
Change plausible-proxy pathType from Exact to ImplementationSpecific.
PaulicStudios Feb 19, 2026
05e7856
feat: enable regex for NGINX ingress and update Plausible proxy path …
PaulicStudios Feb 19, 2026
05e93a7
fix: Use winner ID for comparison in MatchNode and default optional a…
PaulicStudios Feb 20, 2026
50b98c7
feat: added eslint default config and fixed issues
PaulicStudios Feb 17, 2026
cb969aa
fix: all linter errors in frontend
PaulicStudios Feb 17, 2026
891e15d
fix: eslint github-service
PaulicStudios Feb 17, 2026
08af889
Refactor: Remove redundant `hadBye` hydration logic in team service a…
PaulicStudios Feb 20, 2026
81f563b
refactor: Rename `eventAdmin` prop to `isEventAdmin`, remove `isAdmin…
PaulicStudios Feb 20, 2026
c846664
chore: Update ESLint global environment from browser to node in api a…
PaulicStudios Feb 20, 2026
032d405
refactor: rename `isAdminView` prop to `isEventAdmin`.
PaulicStudios Feb 20, 2026
704e86c
ci: Introduce linting jobs and add workflow cancellation on failure t…
PaulicStudios Feb 20, 2026
faa9bd9
ci: Downgrade GitHub Actions runners from 4vcpu to 2vcpu across all b…
PaulicStudios Feb 20, 2026
f1c1dac
Merge pull request #523 from 42core-team/group-phase-bracket-design-i…
Peu77 Feb 20, 2026
ab33afc
chore(deps): bump qs from 6.14.1 to 6.15.0 in /api
dependabot[bot] Feb 20, 2026
316efdd
chore(deps): bump qs from 6.14.1 to 6.15.0 in /github-service
dependabot[bot] Feb 20, 2026
327742b
chore(deps): bump ajv from 6.12.6 to 6.14.0 in /api
dependabot[bot] Feb 20, 2026
2053431
chore(deps): bump ajv from 6.12.6 to 6.14.0 in /github-service
dependabot[bot] Feb 20, 2026
4a35942
feat: working tournament ranking table
PaulicStudios Feb 21, 2026
f8958ef
feat: display Swiss rank instead of Swiss score in the bracket rankin…
PaulicStudios Feb 21, 2026
4da69ae
feat: aligned design of teams and ranking tables
PaulicStudios Feb 21, 2026
0d5df16
feat: added match history to torunament ranking and fixed rank calcul…
PaulicStudios Feb 21, 2026
315ddeb
chore: pnpm lint
PaulicStudios Feb 21, 2026
4becc8f
feat: Make match history results clickable to navigate to individual …
PaulicStudios Feb 21, 2026
51fc899
feat: Add `hideScore` prop to `MatchNode` to optionally hide scores, …
PaulicStudios Feb 21, 2026
de18ccd
feat: Introduce `useTabParam` hook for URL-driven tab management and …
PaulicStudios Feb 21, 2026
a5e5456
chore: pnpm lint
PaulicStudios Feb 21, 2026
1a87682
Merge pull request #551 from 42core-team/dependabot/npm_and_yarn/api/…
PaulicStudios Feb 21, 2026
d6b7b01
Merge pull request #552 from 42core-team/dependabot/npm_and_yarn/gith…
PaulicStudios Feb 21, 2026
07c6ede
Merge pull request #553 from 42core-team/dependabot/npm_and_yarn/api/…
PaulicStudios Feb 21, 2026
c49bcdf
Merge pull request #554 from 42core-team/dependabot/npm_and_yarn/gith…
PaulicStudios Feb 21, 2026
026bbe4
refactor: Relocate `scrollbar-gutter` from `body` to `html` element.
PaulicStudios Feb 21, 2026
d8c3827
feat: Implement structured logging with NestJS Pino and a global exce…
PaulicStudios Feb 21, 2026
0e27284
refactor: enhance error logging and exception handling across control…
PaulicStudios Feb 21, 2026
17e4f05
refactor: update React.ElementRef to React.ComponentRef in UI compone…
PaulicStudios Feb 21, 2026
df4bf93
chore: pnpm lint
PaulicStudios Feb 21, 2026
7c0f734
feat: Improve `TabsList` responsiveness by allowing content wrapping …
PaulicStudios Feb 21, 2026
1f80524
fixes #540 removed link icon from linked and github about us icons
PaulicStudios Feb 21, 2026
a5984fa
fixes #526 having a too long name hid the replay button
PaulicStudios Feb 21, 2026
33bba2c
feat: Redesign the live event display card with animations, improved …
PaulicStudios Feb 21, 2026
c6b3744
fixed that profile dropdown gets closed after click on item; fixes #433
PaulicStudios Feb 21, 2026
6bf4ead
chore(deps): bump actions/setup-node in the all-actions group
dependabot[bot] Feb 23, 2026
19cb2af
chore(deps): bump the github-service-npm-dependencies group
dependabot[bot] Feb 23, 2026
642990f
chore(deps): bump the api-npm-dependencies group in /api with 9 updates
dependabot[bot] Feb 23, 2026
b0358a0
Merge pull request #564 from 42core-team/dependabot/npm_and_yarn/api/…
PaulicStudios Mar 1, 2026
51179b9
Merge pull request #563 from 42core-team/dependabot/npm_and_yarn/gith…
PaulicStudios Mar 1, 2026
d0d8be2
Merge pull request #562 from 42core-team/dependabot/github_actions/al…
PaulicStudios Mar 1, 2026
84e55e5
fix: light mode wiki highlighting fixes #475
PaulicStudios Mar 1, 2026
4eb5a6d
feat: Introduce a `PageLoader` component and standardize loading indi…
PaulicStudios Mar 1, 2026
49ac845
chore(deps): bump the github-service-npm-dependencies group
dependabot[bot] Mar 2, 2026
ba3d38e
chore(deps): bump the api-npm-dependencies group in /api with 8 updates
dependabot[bot] Mar 2, 2026
ede24dc
Merge pull request #570 from 42core-team/dependabot/npm_and_yarn/gith…
PaulicStudios Mar 3, 2026
b1e097d
Merge pull request #571 from 42core-team/dependabot/npm_and_yarn/api/…
PaulicStudios Mar 3, 2026
58c4f95
chore(deps): bump ajv from 6.12.6 to 6.14.0 in /frontend
dependabot[bot] Mar 3, 2026
d91224a
chore(deps): bump the all-actions group with 2 updates
dependabot[bot] Mar 9, 2026
8b7c3d9
chore(deps): bump the github-service-npm-dependencies group
dependabot[bot] Mar 9, 2026
60def4a
chore(deps): bump the api-npm-dependencies group in /api with 10 updates
dependabot[bot] Mar 9, 2026
a8e8085
Merge pull request #578 from 42core-team/dependabot/npm_and_yarn/api/…
PaulicStudios Mar 10, 2026
9a7cdfd
Merge pull request #577 from 42core-team/dependabot/npm_and_yarn/gith…
PaulicStudios Mar 10, 2026
7a02059
Merge pull request #574 from 42core-team/dependabot/npm_and_yarn/fron…
PaulicStudios Mar 10, 2026
26825ea
Merge pull request #576 from 42core-team/dependabot/github_actions/al…
PaulicStudios Mar 10, 2026
2134233
fix: nested tenary and changed string to enum
PaulicStudios Mar 12, 2026
d8dba6a
Merge pull request #555 from 42core-team/550-ranking-table-tournament…
PaulicStudios Mar 12, 2026
ea57855
Merge pull request #560 from 42core-team/508-make-the-live-event-popu…
PaulicStudios Mar 12, 2026
a73216f
Merge pull request #576 from 42core-team/dependabot/github_actions/al…
PaulicStudios Mar 12, 2026
73eb34c
fix: double error loggin
PaulicStudios Mar 12, 2026
e4399e8
Merge pull request #559 from 42core-team/548-add-logging-to-api
PaulicStudios Mar 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions .agent/rules/website.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
trigger: always_on
---

# Agent Guide - Website Relaunch

This repository is a monorepo containing multiple services. Please follow these guidelines when working on this codebase.

## Project Structure

- `api/` - NestJS API service (TypeScript)
- `frontend/` - Next.js frontend application (TypeScript)
- `github-service/` - NestJS service for GitHub integration (TypeScript)
- `k8s-service/` - Kubernetes management service (Go)

## 1. Build, Lint, and Test Commands

### General

- Package Manager: `pnpm` is used for JavaScript/TypeScript projects.
- Go: Standard Go toolchain (1.23+) and `make`.

### `api/` & `github-service/` (NestJS)

- **Build:** `pnpm build` (Runs `nest build`)
- **Format:** `pnpm format` (Runs `prettier`)
- **Run Dev:** `pnpm start:dev`

### `frontend/` (Next.js)

- **Build:** `pnpm build` (Runs `next build`)
- **Dev:** `pnpm dev`

### `k8s-service/` (Go)

- **Build:** `make build` (compiles to `bin/server`)
- **Run:** `make run`

## 2. Code Style & Conventions

### TypeScript (NestJS & Next.js)

- **Formatting:** Use Prettier. 2 spaces indentation. Double quotes for strings and imports. Semicolons required.
- **Naming:**
- Variables/Functions: `camelCase`
- Classes/Interfaces/Components: `PascalCase`
- Files: `kebab-case.ts` (NestJS conventions), `PascalCase.tsx` (React components) or `page.tsx`/`layout.tsx` (Next.js App Router).
- **Imports:** Clean and organized. Remove unused imports.
- **Typing:** Strict TypeScript. Avoid `any` where possible. Use interfaces/types for DTOs and props.
- **NestJS Specifics:**
- Use Dependency Injection via constructors.
- Use Decorators (`@Injectable()`, `@Controller()`, `@Get()`) appropriately.
- Follow `module` -> `controller` -> `service` architecture.
- **Next.js Specifics:**
- Use App Router structure (`app/`).
- Mark Client Components with `"use client"` at the top.
- Use Tailwind CSS for styling.
- **UI Components:** ONLY use `shadcn/ui` components for building UIs. Do not introduce other UI libraries or create custom components if a `shadcn` equivalent exists. Check `components/ui` or `components.json` for available components.

### Go (`k8s-service`)

- **Formatting:** Standard `gofmt`.
- **Project Layout:** Follows Standard Go Project Layout (`cmd/`, `internal/`, `pkg/`).
- **Error Handling:**
- Return errors as the last return value.
- Check errors immediately: `if err != nil { return err }`.
- Don't panic unless during startup.
- **Logging:** Use `zap.SugaredLogger`.
- **Web Framework:** Uses `echo`.
- **Configuration:** Uses `internal/config` and environment variables.

## 3. General Rules for Agents

1. **Context is King:** Always analyze the surrounding code before making changes to match the existing style.
2. **Verify Changes:** Run the lint and test commands for the specific service you are modifying before declaring the task complete.
3. **Monorepo Awareness:** Be aware of which directory you are in. Do not run `npm` commands in the root if you intend to affect a specific service; `cd` into the service directory or use `pnpm --filter`.
4. **No Blind Edits:** Use `read` to check file contents before `edit` or `write`.
5. **Paths:** Always use absolute paths for file operations.
64 changes: 57 additions & 7 deletions .github/workflows/api-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ name: Build API

on:
push:
branches: [ main, dev ]
branches: [main, dev]
paths:
- "api/**"
- ".github/workflows/api-build.yml"
- ".github/workflows/api-deploy.yml"
pull_request:
branches: [ main, dev ]
branches: [main, dev]
paths:
- "api/**"
- ".github/workflows/api-build.yml"
- ".github/workflows/api-deploy.yml"
types: [ opened, synchronize, reopened ]
types: [opened, synchronize, reopened]
workflow_dispatch:
inputs:
environment:
Expand All @@ -34,6 +34,49 @@ env:
IMAGE_NAME: ${{ github.repository }}-api

jobs:
lint:
if: |
github.event_name == 'workflow_dispatch' ||
github.event_name == 'push' ||
(github.event_name == 'pull_request' &&
github.head_ref != 'dev' &&
github.event.pull_request.base.ref != github.event.pull_request.head.ref)
runs-on: blacksmith-2vcpu-ubuntu-2404
permissions:
contents: read
actions: write
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 25
cache: "pnpm"
cache-dependency-path: api/pnpm-lock.yaml

- name: Install dependencies
working-directory: ./api
run: pnpm install --frozen-lockfile

- name: Lint code
working-directory: ./api
run: |
pnpm lint
git diff --exit-code ..

- name: Cancel workflow on failure
if: failure()
run: gh run cancel ${{ github.run_id }}
env:
GH_TOKEN: ${{ github.token }}

build:
# Only run on pull requests that are cross-branch or on direct pushes
if: |
Expand All @@ -45,10 +88,11 @@ jobs:
runs-on: blacksmith-4vcpu-ubuntu-2404
strategy:
matrix:
platform: [ linux/amd64 ]
platform: [linux/amd64]
permissions:
contents: read
packages: write
actions: write
outputs:
short_sha: ${{ steps.short-sha.outputs.short_sha }}

Expand All @@ -67,15 +111,15 @@ jobs:
echo "name=$SANITIZED" >> $GITHUB_OUTPUT

- name: Log in to Container Registry
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
Expand Down Expand Up @@ -135,9 +179,15 @@ jobs:
echo "ℹ️ **Note:** Image was built for testing but not pushed to registry (only pushes on direct commits to main/dev)" >> $GITHUB_STEP_SUMMARY
fi

- name: Cancel workflow on failure
if: failure()
run: gh run cancel ${{ github.run_id }}
env:
GH_TOKEN: ${{ github.token }}

# Deploy job - only runs on push events or manual dispatch
deploy:
needs: build
needs: [lint, build]
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
uses: ./.github/workflows/api-deploy.yml
with:
Expand Down
56 changes: 53 additions & 3 deletions .github/workflows/frontend-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,49 @@ env:
IMAGE_NAME: ${{ github.repository }}-frontend

jobs:
lint:
if: |
github.event_name == 'workflow_dispatch' ||
github.event_name == 'push' ||
(github.event_name == 'pull_request' &&
github.head_ref != 'dev' &&
github.event.pull_request.base.ref != github.event.pull_request.head.ref)
runs-on: blacksmith-2vcpu-ubuntu-2404
permissions:
contents: read
actions: write
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 25
cache: "pnpm"
cache-dependency-path: frontend/pnpm-lock.yaml

- name: Install dependencies
working-directory: ./frontend
run: pnpm install --frozen-lockfile

- name: Lint code
working-directory: ./frontend
run: |
pnpm lint
git diff --exit-code ..

- name: Cancel workflow on failure
if: failure()
run: gh run cancel ${{ github.run_id }}
env:
GH_TOKEN: ${{ github.token }}

build:
# Only run on pull requests that are cross-branch or on direct pushes
if: |
Expand All @@ -56,6 +99,7 @@ jobs:
permissions:
contents: read
packages: write
actions: write
outputs:
short_sha: ${{ steps.short-sha.outputs.short_sha }}

Expand All @@ -74,15 +118,15 @@ jobs:
echo "name=$SANITIZED" >> $GITHUB_OUTPUT

- name: Log in to Container Registry
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
Expand Down Expand Up @@ -151,9 +195,15 @@ jobs:
echo "ℹ️ **Note:** Image was built for testing but not pushed to registry (only pushes on direct commits to main/dev)" >> $GITHUB_STEP_SUMMARY
fi

- name: Cancel workflow on failure
if: failure()
run: gh run cancel ${{ github.run_id }}
env:
GH_TOKEN: ${{ github.token }}

# Deploy job - only runs on push events or manual dispatch
deploy:
needs: build
needs: [lint, build]
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
uses: ./.github/workflows/frontend-deploy.yml
with:
Expand Down
Loading
Loading