Space-Banane cb0d381eb0
All checks were successful
test-build-publish / docker (push) Successful in 2m20s
Run CI checks through Docker target
2026-05-14 18:45:41 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 18:45:41 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 18:45:41 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00
2026-05-14 14:37:17 +02:00

Evil Wordle

A dark Wordle-style browser game with daily, infinite, daily evil, custom length, and super evil modes.

Install

npm install

Run

npm run dev

Open the local URL printed by Vite.

Build

npm run build

Docker

docker compose up --build

The compose service publishes the app on 0.0.0.0:6666.

CI Image Publishing

Gitea Actions workflow: .gitea/workflows/ci.yml

Required repository or organization secrets:

  • REGISTRY_PASSWORD: Gitea personal access token with package read/write access
  • REGISTRY_USERNAME: Gitea username that owns the token
  • REGISTRY_IMAGE: optional; defaults to gitea.reversed.dev/space/evil-wordle

The workflow also accepts REGISTRY_TOKEN as a fallback for REGISTRY_PASSWORD.

For organization packages such as space/evil-wordle, the username is still the actual Gitea user account for the token, not the organization name. That user needs permission to publish packages under space.

The workflow uses catthehacker/ubuntu:act-latest, validates the app through the Dockerfile ci target, publishes with Docker Buildx, and links the package back to the space/evil-wordle repository through the Gitea API.

On pushes to main, CI publishes:

gitea.reversed.dev/space/evil-wordle:latest
gitea.reversed.dev/space/evil-wordle:<short-commit-sha>

Tags like v1.2.3 also publish gitea.reversed.dev/space/evil-wordle:1.2.3.

The app is built with React, Tailwind CSS, and Vite. Progress, settings, and stats are stored in localStorage. Guess validation uses word-list-json; curated local word buckets in src/data/words.ts control target selection and provide the fallback pool.

Description
Languages
TypeScript 88.8%
JavaScript 4.8%
HTML 4.1%
CSS 1.2%
Dockerfile 1.1%