6 releases
Uses new Rust 2024
| 0.1.6 | May 21, 2025 |
|---|---|
| 0.1.5 | May 21, 2025 |
#7 in #interactive-ui
83 downloads per month
27KB
RustyAct
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:
-
Add a plugin via CLI:
rustyact plugin add rustyact-plugin-i18n -
List installed plugins:
rustyact plugin list -
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
- Fork the repo
- Create a feature branch (
git checkout -b feat/awesome) - Commit your changes (
git commit -m "feat: add awesome feature") - Push to the branch (
git push origin feat/awesome) - 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
Dependencies
~30–48MB
~661K SLoC