create-ezpplauncher-theme

A CLI tool to scaffold a new EZPPLauncher theme using a modern Svelte + Vite setup.

It generates a ready-to-use theme project with assets, build pipeline, and launcher integration support.


🚀 Usage

Run directly via Git using npx or bunx:

npx git+https://git.ez-pp.farm/EZPPFarm/create-ezpplauncher-theme.git <theme-name>
bunx --package=https://git.ez-pp.farm/EZPPFarm/create-ezpplauncher-theme/archive/master.tar.gz create-ezpplauncher-theme <theme-name>

Example

npx git+https://git.ez-pp.farm/EZPPFarm/create-ezpplauncher-theme.git my-theme
bunx --package=https://git.ez-pp.farm/EZPPFarm/create-ezpplauncher-theme/archive/master.tar.gz create-ezpplauncher-theme my-theme

This creates a new theme in:

./my-theme

✨ Features

  • ⚡ Svelte-based UI (App.svelte)
  • 🎨 Fully customizable layout & animations
  • 🎵 Built-in audio & media asset support
  • 🧱 Modular component structure
  • 🛠 Vite-powered build pipeline
  • 📦 Theme packaging via npm run build

📁 Project Structure

/
├── public/assets/       # Static assets (audio, images, gifs)
│   ├── audio.mp3
│   ├── dance.gif
│   └── preview.png      # Preview image displayed in the launcher
├── src/
│   ├── lib/             # Reusable utilities/components
│   ├── App.svelte       # Main UI entry
│   ├── main.ts
│   └── types.ts
├── index.html
├── theme.json           # Theme metadata/config
├── build-theme.ts       # Build & packaging script, ran via `npm run build`
├── vite.config.ts
├── tsconfig.json
└── package.json

🎨 Customization

App.svelte (Main UI)

This is the core of your theme. You can:

  • Use full Svelte syntax
  • Import custom components
  • Play audio and display media assets

Example

<script lang="ts">
  import { asset } from "./lib/assets";
  import type { EZPPLauncherThemeAPI } from "./types";

  const props: { api: EZPPLauncherThemeAPI } = $props();
</script>

<div class="w-full h-full flex flex-col items-center justify-center">
  <audio src={asset(props.api, "audio.mp3")} loop autoplay></audio>
  <img src={asset(props.api, "dance.gif")} alt="Dance" />
</div>


📦 Assets

Place all static files here:

public/assets/

⚙️ Theme Configuration

Edit theme.json to define:

  • Theme name
  • Author
  • Version

🛠 Development

Start development server

npm run dev

Build theme

npm run build

or manually:

node build-theme.ts

🎨 Testing your theme

Just extract the generated .ezpplauncher-theme file using any unzip tool and place the files into C:\Users\<your-username>\.ezpplauncher\themes\<your-theme>


💡 Tips

  • Optimize assets (especially audio/video)
  • Keep reusable logic inside src/lib
  • Prefer lightweight GIFs or compressed media for performance

⚠️ Notes

  • This package is not published on npm

  • Must be executed via:

    npx git+https://git.ez-pp.farm/EZPPFarm/create-ezpplauncher-theme.git <theme-name>
    

    or

    bunx --package=https://git.ez-pp.farm/EZPPFarm/create-ezpplauncher-theme/archive/master.tar.gz create-ezpplauncher-theme <theme-name>
    
  • Requires Node.js

  • Designed specifically for EZPPLauncher themes

S
Description
No description provided
Readme 6.6 MiB
Languages
TypeScript 47.4%
JavaScript 36.3%
Svelte 7.3%
HTML 6.4%
CSS 2.6%