WP Manifestindependent plugin directory
manifest / ecommerce / adkru-nft-generator

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

0stars
0forks

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.zip

Ships 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 von compositor.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, der window.AdkruNftGenerator liest, 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.