Build Your Automation Anywhere Scaffold - A desktop application for generating best-practice Automation Anywhere scaffold templates.
BYAAS Project is a cross-platform desktop application built with Tauri 2.0 and React 19. It automates the generation of best-practice scaffold templates for Automation Anywhere, producing .zip files ready to import into your Control Room.
- Template Generation: Create Automation Anywhere project templates with customizable phases
- Phase Management: Add multiple project phases with automatic folder structure
- Customer Profiles: Pre-configured templates for different customers (Keralty, General)
- Auto-Updater: Built-in update system with progress notifications
- Cross-platform: Windows, macOS, and Linux support
- Modern UI: Clean interface with Tailwind CSS and toast notifications
byaas-project/
├── src/ # React frontend
│ ├── components/ # Main components
│ │ ├── scaffoldForm.jsx # Template generation form
│ │ └── splashScreen.jsx # App splash screen
│ ├── shared/ # Shared components
│ │ ├── ui/ # UI components (input, buttons, etc.)
│ │ └── addPhase.jsx # Phase addition component
│ ├── services/ # Frontend services
│ │ └── updater.js # Auto-update logic
│ ├── main.jsx # React entry point
│ ├── App.jsx # Main application component
│ └── assets/images/ # Static assets
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands/ # Tauri command handlers
│ │ ├── domain/ # Domain types and constants
│ │ ├── infra/ # Infrastructure (filesystem, zip, etc.)
│ │ ├── services/ # Business logic
│ │ ├── main.rs # Application entry point
│ │ └── lib.rs # Core logic and command registration
│ ├── Cargo.toml # Rust dependencies
│ └── tauri.conf.json # Tauri configuration
├── public/ # Static public assets
├── package.json # Frontend dependencies
├── vite.config.js # Vite configuration
└── AGENTS.md # Development guidelines
- React 19.1.0 - Modern UI framework
- Vite 7.0.4 - Fast build tool and dev server
- Tailwind CSS 4.x - Utility-first CSS framework
- Sonner 2.x - Toast notification library
- @tauri-apps/api 2.x - Tauri frontend API
- Rust - Systems programming language
- Tauri 2.x - Desktop app framework
- reqwest - HTTP client for downloading templates
- zip - Archive handling
- walkdir - Directory traversal
- regex - Pattern matching for template replacement
- Bun - Fast package manager
- Cargo - Rust package manager
- VS Code - Recommended IDE with Tauri and Rust extensions
Before running this project, ensure you have the following installed:
-
Bun - Package manager
curl -fsSL https://bun.sh/install | bash -
Rust - Backend development
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
System Dependencies - Platform-specific build tools
- Ubuntu/Debian:
sudo apt install libwebkit2gtk-4.0-dev build-essential - macOS: Xcode Command Line Tools
- Windows: Microsoft Visual Studio C++ Build Tools
- Ubuntu/Debian:
git clone <repository-url>
cd byaas-project
bun installbun run tauri devThis starts the development server with hot reload for frontend and backend changes.
bun run tauri buildCreates optimized desktop binaries for all platforms.
bun run dev # Start Vite dev server (frontend only, port 1420)
bun run tauri dev # Full Tauri development with hot reload
bun run tauri dev --debug # Tauri dev with additional loggingbun run build # Build frontend for production
bun run tauri build # Build complete desktop application
bun run preview # Preview production build locally# Rust backend tests
cargo test # Run all Rust tests
cargo test test_name # Run single test by name
cargo test module_name:: # Run tests in specific module
# Formatting and linting
cargo fmt # Format Rust code
cargo clippy # Run Rust linterbun install # Install all dependencies
bun add <package> # Add new frontend dependency
bun add -d <package> # Add dev dependency- Enter Project Name: Specify the name for your Automation Anywhere project
- Select Customer: Choose between predefined customer profiles (Keralty, General Customer)
- Add Phases: Optionally add project phases (e.g., "Phase1", "Phase2")
- Generate: Creates a
.zipfile in your Downloads folder with:- Proper folder structure
- Main taskbot files
- Environment deployment templates
- User story templates
- Configuration files
- Function templates
The application automatically checks for updates on startup:
- Displays update notifications when available
- Downloads and installs updates with progress tracking
- Auto-restarts after installation
Generated template structure:
Automation Anywhere/Bots/
├── {ProjectName}/
│ ├── {Phase}/
│ │ ├── Main_{Phase}
│ │ ├── Historias/
│ │ │ ├── HU00_DespliegueAmbiente
│ │ │ └── HUXX_Plantilla
│ │ ├── Funciones/
│ │ │ └── 00_FuncionPlantilla
│ │ └── Parametros/
│ │ └── Configuracion.xlsx
- Window Size: Responsive design
- Development Port: 1420 (fixed)
- Bundle Targets: All platforms
- Updater: Enabled with GitHub releases integration
- Port: 1420 (strict, required by Tauri)
- HMR Port: 1421
- Asset Alias:
@images→src/assets/images - Ignored:
src-tauridirectory
- Frontend Changes: Auto-reload in
bun run tauri dev - Backend Changes: Restart dev server after Rust modifications
- Testing: Use browser dev tools for frontend, console for backend
- Frontend: Functional React components, Tailwind CSS, Sonner toasts
- Backend: Modular architecture with commands, domain, infra, and services layers
- See AGENTS.md for detailed coding guidelines
- Frontend: Browser developer tools, React DevTools
- Backend: Console output and
println!statements - Tauri:
bun run tauri dev --debugfor verbose logging
- Tauri Documentation - Framework guides and API reference
- React Documentation - React features and best practices
- Vite Documentation - Build tool configuration
- AGENTS.md - Development guidelines for coding agents
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using better-commits conventions
- Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: Report bugs via GitHub Issues
- Questions: Use GitHub Discussions
- Community: Join the Tauri Discord
Built with ❤️ using Tauri + React + Rust
