npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

create-gametau

v0.7.0

Published

Scaffold a Tauri game that deploys to web + desktop

Downloads

204

Readme

create-gametau

Scaffold a Rust game project for the stable Web (WASM) + Tauri desktop path from one codebase, with optional Electrobun shell support.

Use --desktop-shell electrobun to add Electrobun BrowserWindow/GPUWindow shell files and scripts to the generated project.

Electrobun is available as an explicit shell option — see active milestones.

Repository note: docs/ is intentionally local-only and not published in remote history.

Quick Start

bunx create-gametau my-game
bunx create-gametau my-game --desktop-shell electrobun
cd my-game
bun install
bun run dev

For project status and rollout context, see active milestones.

Templates

  • three (default) - Three.js rendering starter
  • pixi - PixiJS rendering starter
  • vanilla - Canvas 2D starter
bunx create-gametau my-game --template pixi
bunx create-gametau my-game --template vanilla

CLI Options

  • --template, -t - Choose scaffold template (three, pixi, vanilla)
  • --desktop-shell - Choose desktop shell (tauri, electrobun)
  • --electrobun-mode - Electrobun shell mode (hybrid, native, dual)
  • --help, -h - Show help output
  • --version, -v - Print CLI version

What gets scaffolded

  • src-tauri/core - pure Rust game logic
  • src-tauri/commands - shared command definitions for desktop + web
  • src-tauri/app - Tauri desktop shell (stable default desktop runtime)
  • src-tauri/wasm - WASM entry crate
  • src - frontend app wired to webtau and webtau-vite
  • src/services - production-ready service seams for backend invoke calls, persistence/settings, mission session snapshots, and event-driven comms

Service Layer Contract

The scaffolded base template now ships a small service architecture instead of a single command wrapper:

  • src/services/backend.ts - typed invoke() wrappers for gameplay commands plus long-running task lifecycle seams (startWorldProcessing, pollWorldTask, cancelWorldTask)
  • src/services/settings.ts - runtime settings persistence via webtau/path + webtau/fs
  • src/services/session.ts - mission/session snapshot persistence via webtau/path + webtau/fs
  • src/services/comms.ts - typed alert/comms channel over webtau/event
  • src/services/contracts.ts - interfaces/types for settings, session snapshots, and alerts

Runtime bootstrap is explicit in scaffolded src/index.ts:

  • Electrobun path: bootstrapElectrobunFromWindowBridge() from webtau/adapters/electrobun
  • Tauri path: bootstrapTauri() from webtau/adapters/tauri
  • Web path: configure({ loadWasm }) from webtau
  • Runtime/capability seam: getRuntimeInfo() from webtau

This keeps the generated project lightweight while giving contributors clear extension points for production features.

For full docs and package details, see the main repository: https://github.com/devallibus/gametau