create-tailyew-app

Crates.iocreate-tailyew-app
lib.rscreate-tailyew-app
version0.1.8
created_at2025-05-24 18:52:17.655195+00
updated_at2025-06-29 16:46:52.155601+00
descriptionCLI to scaffold a new Tailyew Yew+Tailwind project
homepagehttps://tailyew.com/
repositoryhttps://github.com/apjames93/tailyew
max_upload_size
id1687683
size1,615,432
Alex James (apjames93)

documentation

https://tailyew.com

README

create-tailyew-app

✨ TailYew

Docs.rs License CI WASM Ready Powered by Yew Components Demo

A zero-config CLI to scaffold and bootstrap a production-ready TailYew frontend SPA.

πŸš€ Instantly spin up a modern Yew + TailwindCSS app!

Pure Rust & WASM in production β€” no JS needed to run your UI.

Note: Tailwind’s CLI (via npm) is still required for development builds.

Dreaming of a totally Rust-native toolchain? Us too! We’re open to ideas and contributions.


✨ What is this?

create-tailyew-app is the official scaffolding tool for the TailYew component system. It sets up a best-practices Yew + Tailwind starter so you can focus on features, not configuration.

You get:

  • A ready-to-go Yew/WASM frontend with TailwindCSS (JIT mode)
  • Live-reload via cargo-watch
  • Dark mode + accessibility baked in
  • Examples of atomic, composable UI via TailYew
  • Smart Makefile for build, lint, and dev workflows
  • Small bundle sizes and no JS dependencies (besides Tailwind tooling)
  • See live TailYew demos Β»

πŸ› οΈ Installation

cargo install create-tailyew-app

Requires Rust 1.65+ and npm in your PATH.


πŸš€ Quick Start

create-tailyew-app <NAME> [--dest <BASE_DIR>]
  • NAME β€” Your new project folder (required)
  • --dest β€” (Optional) Output directory (default: .)

Example

create-tailyew-app my-app
cd my-app
make run-frontend

This launches your dev server at http://localhost:8080.


πŸ“ What’s Generated

<BASE_DIR>/<NAME>/
β”œβ”€ frontend/
β”‚  β”œβ”€ Cargo.toml           # Yew/WASM crate
β”‚  β”œβ”€ tailwind.config.js   # TailwindCSS setup (pre-configured for TailYew)
β”‚  β”œβ”€ src/                 # Rust app sources
β”‚  β”œβ”€ static/              # HTML, safelist, assets, WASM pkg
β”‚  └─ Makefile             # Frontend build & serve tasks
β”œβ”€ Makefile                # Root orchestrator (run-frontend, lint, format, etc)
└─ README.md               # This file
  • Tailwind Safelist: static/tailyew-safelist.html is included for correct dark-mode & dynamic class extraction.
  • Live Reload: Hot-reloading for rapid dev (edit, save, reload).

⚑ Powered by TailYew

  • πŸŒ— Dark mode ready with Tailwind’s dark: utilities
  • 🧹 50+ components: Buttons, Inputs, Tables, Modals, Charts, Accordions, and more
  • πŸ“™ Markdown auto-renders to beautiful, theme-aware TailYew elements
  • πŸ“Š Charts (Bar, Line, Bubble, Pie, Scatter) β€” no JS required
  • πŸ“ Composable Forms β€” with validation and accessibility
  • 🦠 Pure Rust β€” no JS/TS needed for your UI
  • πŸ“¦ Tiny WASM builds β€” thanks to Tailwind JIT and no-runtime bloat
  • πŸ“ A11y: ARIA, labeling, and more

Explore live components: tailyew.com/demo/getting_started


🎬 Dev server

cd <BASE_DIR>/<NAME>
make run-frontend
  • Watches Rust sources (frontend/src)
  • Rebuilds WASM + auto-reloads browser
  • Serves locally at localhost:8080

πŸ”§ Useful Makefile Targets

From your project root:

  • make format β€” Format Rust sources

  • make lint β€” Lint with Clippy

  • make pretty β€” Format + Lint

  • make fe-build β€” Build the Yew/WASM frontend

  • make fe-check β€” Check frontend with Cargo

  • make fe-run β€” Serve with hot-reload (used by run-frontend)

❀️ Contributing

We love contributions! Help grow the Rust UI ecosystem:

  1. Fork & clone this repo

  2. Edit starter/app/ to change the template

  3. Tweak CLI in src/

  4. Run make pretty to format & lint

  5. Open a PR β€” all feedback welcome!


πŸ“š Helpful Links


πŸ”— Related Projects


πŸ“œ License

MIT License β€” see LICENSE

Commit count: 91

cargo fmt