2026-05-14 18:13:12 +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 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 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: optional; defaults to the Gitea Actions actor
  • REGISTRY_IMAGE: optional; defaults to gitea.reversed.dev/space/evil-wordle

The workflow also accepts REGISTRY_TOKEN as a fallback for REGISTRY_PASSWORD.

The workflow uses catthehacker/ubuntu:act-latest, Docker Buildx, and links the published 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%