Skip to main content

A command-line scaffolder for General Web App (GWA) projects.

Project description

General Web App Icon
gwa-cli

Crates.io docs.rs Crates.io Downloads

PyPI version PyPi Downloads

GitHub: Repo License: MIT

A lightning-fast, interactive CLI for creating new GWA projects.

gwa-cli is the official command-line tool for scaffolding a new General Web App (GWA) project. It provides an interactive experience to configure your new project, allowing you to select components, define names, and set up database credentials before generating all the necessary files from the GWA template.

This tool handles all the heavy lifting, so you can go from an empty directory to a fully structured, ready-to-run, full-stack application in seconds.

✨ Features

  • Interactive Mode: A guided, user-friendly process to configure every aspect of your new project.
  • Modular Component Selection: Choose to include the Backend (FastAPI), Frontend (SvelteKit + Tauri), or both.
  • Intelligent Defaults: Sensible defaults are provided for all settings, speeding up creation.
  • Fast-Track Mode: Skip all prompts with a --yes flag for rapid, non-interactive project generation.
  • Powered by Rust: Fast, reliable, and packaged as a single native binary.

🚀 Getting Started

Prerequisites

You must have Rust and Cargo installed on your system to build and install gwa-cli.

Installation

You can install the gwa binary directly from this source repository using cargo.

This command will build the project in release mode and place the gwa executable in your Cargo binary path (~/.cargo/bin/), making it available system-wide.

cargo install gwa

Verify the installation:

gwa --version

🛠️ Usage

The primary command is gwa create.

Interactive Creation (Recommended)

To start the interactive setup wizard, simply run:

gwa create <your-project-name>

The CLI will guide you through a series of questions:

  • Project Name (if not provided)
  • Component Selection (Backend / Frontend)
  • Application Identifiers (for Tauri)
  • Database Configuration

After you confirm the summary, it will generate the project in a new directory named <your-project-name>.

Non-Interactive Creation

For automated scripts or quick tests, you can use the --yes (-y) flag. This will skip all interactive prompts and use the default configuration.

Note: In non-interactive mode, the project name is a required argument.

gwa create my-new-app --yes

This will instantly create a new project named my-new-app with both backend and frontend components included.

Command-Line Options

Here are the details for the create command:

gwa create [OPTIONS] [NAME]

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gwa-0.0.5.tar.gz (43.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gwa-0.0.5-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

File details

Details for the file gwa-0.0.5.tar.gz.

File metadata

  • Download URL: gwa-0.0.5.tar.gz
  • Upload date:
  • Size: 43.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.19

File hashes

Hashes for gwa-0.0.5.tar.gz
Algorithm Hash digest
SHA256 0d641acf21762773c878eaedecf37b64cb5ab6db305c16b0b5a7fb6e5c5ae6ba
MD5 d2b501744fb43c9a428922cd04f88f39
BLAKE2b-256 3dddd9930833580b6efed39a11bb76e6d59c337fa7df5f61215056ff171ea37a

See more details on using hashes here.

File details

Details for the file gwa-0.0.5-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gwa-0.0.5-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59eddd5fc2519fb8e207649cc1a68edf4cbe8d7bbbd421c1dcf8f62783eb5ae3
MD5 20c6b78a98cab7e77c500a6cdc17c68c
BLAKE2b-256 772801ae5a2b5a47e4b745db22be851cf2120d7d1361280879129d7871eec5ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page