rustyact 0.1.6

Feature-rich react app creator
rustyact-0.1.6 is not a library.

RustyAct

Crates.io Docs.rs License: MIT

RustyAct is a fast, extensible project scaffolding tool inspired by Create React App, but built in Rust for maximum performance and safety. Generate modern web applications (JS & TS), PWAs, SSR projects, and more with zero-config or fully interactive setups.


🚀 Features

  • Blazing Fast: Written in Rust, leveraging async I/O and minimal filesystem syncs

  • Zero-Config Init: rustyact init <project-name> to scaffold with sensible defaults

  • Interactive Mode: Customize templates, styles, state management, testing frameworks

  • Multiple Templates:

    • JavaScript (ESM/CJS) & TypeScript
    • PWA, SSR, Mobile (React Native)
    • Custom community templates via plugin marketplace
  • Plugin System: Add or write plugins for i18n, GraphQL, CMS, UI kits

  • Dev Server: Hot reload, file watching, proxy support & custom middleware

  • Build & Publish: One command bundle & optimize your output

  • Config Migration: Upgrade templates and project configs seamlessly

  • Rich CLI UX: Colored output, progress bars, prompts, and error reporting

  • Cross-Platform: Windows, macOS, Linux support


🛠️ Installation

Ensure you have Rust & Cargo installed.

cargo install rustyact

Or add to your project:

[dependencies]
rustyact = "^0.1.0"

🎬 Quick Start

# Scaffold a new project
rustyact init my-app

# Change directory
cd my-app

# Start development server
rustyact serve

# Build for production
ttyrustyact build

⚙️ CLI Commands

Command Description
rustyact init <name> Scaffold a new project with default or interactive mode
rustyact serve [options] Run dev server with hot reload
rustyact build [options] Bundle and optimize for production
rustyact test Run unit & E2E tests
rustyact plugin add <name> Install community or custom plugin
rustyact config View or edit global/project configuration

Use rustyact <command> --help for detailed flags and options.


🔌 Plugin System

RustyAct supports dynamic plugins shipped as Cargo crates or binaries:

  1. Add a plugin via CLI:

    rustyact plugin add rustyact-plugin-i18n
    
  2. List installed plugins:

    rustyact plugin list
    
  3. Develop your own plugin:

    • Implement the RustyAct plugin trait
    • Publish to crates.io
    • Users can install via CLI

🗂️ Template Packs

Templates live in separate repos or archives. Use remote or local packs:

# Use an official remote pack
ttyrustyact init my-pwa --template https://github.com/rustyact/pwa-template

# Use a local folder
ttyrustyact init custom-app --template ./my-local-template

🛡️ Configuration

RustyAct reads from rustyact.config.toml in project root and $HOME/.config/rustyact/config.toml:

# Example project config
project_name = "my-app"
default_template = "typescript"

[features]
state = "zustand"
testing = "jest"

🛣️ Roadmap

  • Template Marketplace
  • Official CI/CD integrations
  • Dockerized builds
  • Improved plugin SDK & docs
  • UI for interactive templates

Contributions and feedback are welcome!


🙌 Contributing

  1. Fork the repo
  2. Create a feature branch (git checkout -b feat/awesome)
  3. Commit your changes (git commit -m "feat: add awesome feature")
  4. Push to the branch (git push origin feat/awesome)
  5. Open a Pull Request

Please read CONTRIBUTING.md for details.


📄 License

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


Made with ❤️ and 🚀 by the RustyAct team