ADKRU NFT Generator self-updates
Interaktiver NFT-Charakter-Generator als WordPress-Plugin mit Gutenberg-Block und WooCommerce-Integration
by Robin Herbeck · github.com/herbeckrobin/adkru-nft-generator · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/herbeckrobin/adkru-nft-generator/archive/refs/heads/main.zipShips its own WordPress updater (Plugin Update Checker), so new versions show up under Dashboard → Updates.
Layered Character/NFT Generator als WordPress-Plugin. Gutenberg-Block mit WooCommerce-Checkout — framework-unabhaengig, Standalone entwickelbar via bun run dev.
Architektur
src-js/engine/— Framework-unabhaengige Domain-Logik (Layer-Stack, Compositor, Cart, Randomizer). Keine DOM-Abhaengigkeiten ausserhalb voncompositor.ts(braucht Canvas).src-js/ui/— DOM-UI (Vanilla TS, kein React). Style-Picker, Generator, Cart-Sidebar.src-js/block/— Gutenberg-Block-Editor (React/TSX, nutzt@wordpress/*-Globals).src-js/client.ts— Entry-Point, derwindow.AdkruNftGeneratorliest, via Zod validiert und jede.wp-block-adkru-nft-generator-Instanz im DOM bootstrappt.src-php/— WordPress-Integration: Plugin-Boot, Block-Registrierung, REST-Upload, WooCommerce-Cart-Integration.
Dev-Workflow
Standalone (ohne WordPress)
bun install
node scripts/generate-sprite-manifest.mjs # einmalig und nach Asset-Aenderungen
bun run dev # http://localhost:5173
bun run test # Vitest
bun run typecheck
bun run lint
Mit WordPress (DDEV)
DDEV ist bereits im Projekt-Root konfiguriert (.ddev/config.yaml).
# Aus dem Projekt-Root (nicht aus Code/adkru-nft-generator/):
ddev start
ddev setup-wp # WP-Core + WooCommerce + Symlink + Aktivierung
Danach: https://adkru-nft-generator.ddev.site/wp-admin (admin/admin)
- Plugin "ADKRU NFT Generator" ist aktiv.
- WooCommerce-Produkt "Custom NFT Character" wird als Draft angelegt — im Admin auf "Veroeffentlichen" stellen.
- Block "ADKRU NFT Generator" in einer Seite einfuegen.
Build (Production)
bun run build # assets/generator/client.js + block.js
composer install --no-dev # vendor/ fuer Plugin-Update-Checker
bun run package-plugin -- --version=0.1.0 # release/adkru-nft-generator-0.1.0.zip
Release-Flow
GitHub-Tag v*.*.* → Actions-Workflow baut und veroeffentlicht ZIP als Release-Asset. Installierte Plugin-Instanzen erhalten das Update via YahnisElsts Plugin-Update-Checker ueber den WP-Admin.
git tag v0.1.0
git push origin v0.1.0
Sprite-Inventar
Sprites liegen in assets/sprites/<kategorie>/<datei>.png. Nach Aenderungen:
node scripts/generate-sprite-manifest.mjs
Das aktualisiert demo/src/sprite-manifest.generated.ts fuer den Standalone-Dev-Server. Im WordPress-Kontext scannt src-php/Assets/SpriteManifest.php zur Laufzeit.
Status
Phase 1 — Plugin-Skelett mit Engine, UI, Block, WooCommerce-Cart-Integration, Release-Setup. Stand: Pre-Release, noch nicht in Production getestet.