Skip to content

langhuihui/rebebuca

Repository files navigation

Rebebuca

Rebebuca Logo

Powerful Run Configuration Management Tool

A modern desktop application that helps developers quickly manage and execute various commands and scripts

Build Status Tauri Vue TypeScript License

中文文档 | English


✨ Features

  • 🚀 Quick Launch - Create and run configurations with one click, no need to memorize complex commands
  • Real-time Output - View command execution results in real-time with multi-tab support
  • 📝 Configuration Management - Support for advanced options like working directory and environment variables
  • 🕒 History Tracking - Automatically save run history for easy re-execution
  • 🎨 Modern UI - Beautiful dark theme interface built with Naive UI
  • 💾 Persistent Storage - Configurations and history data are automatically saved and persist across restarts
  • 🖥️ Cross-platform - Supports Windows, macOS, and Linux

📸 Preview

Application Screenshot

🛠️ Tech Stack

Frontend

  • Vue 3 - Progressive JavaScript framework
  • TypeScript - Type-safe JavaScript superset
  • Naive UI - Modern Vue 3 component library
  • Pinia - Lightweight state management library for Vue
  • Vite - Next generation frontend build tool

Backend

  • Tauri - Lightweight desktop application framework based on Rust
  • Rust - Systems programming language ensuring performance and safety

📦 Installation

Prerequisites

  • Node.js >= 18.0.0
  • pnpm >= 8.0.0
  • Rust >= 1.70.0 (for building Tauri applications)

Development Setup

  1. Clone the repository
git clone https://github.com/yourusername/rebebuca.git
cd rebebuca
  1. Install dependencies
pnpm install
  1. Start development server
pnpm tauri:dev

🚀 Usage Guide

Creating Run Configurations

  1. Click the "New" button in the left sidebar
  2. Fill in the configuration details:
    • Name: Display name for the configuration
    • Command: The command to execute
    • Working Directory: Directory where the command will run (optional)
    • Environment Variables: Additional environment variables (optional)
  3. Click "Save" to complete

Running Configurations

  • Click the play button ▶️ next to a configuration in the left sidebar
  • The command will execute in a new tab, showing real-time output
  • Multiple configurations can run simultaneously

Managing Tabs

  • Restart: Re-execute the current configuration
  • Stop: Terminate the running command
  • Clear: Clear console output
  • Scroll to Bottom: Jump to the latest output
  • Edit: Modify the configuration associated with the current tab

Run History

  • The right panel displays recent run history
  • Click the rerun button to quickly execute historical commands
  • Support for clearing history

📁 Project Structure

rebebuca/
├── src/                      # Vue frontend code
│   ├── App.vue              # Main application component
│   ├── main.ts              # Application entry point
│   ├── components/          # Vue components
│   │   └── RunConfigDialog.vue
│   └── stores/              # Pinia state management
│       └── runConfig.ts
├── src-tauri/               # Tauri backend code
│   ├── src/
│   │   ├── main.rs         # Rust main program
│   │   └── lib.rs          # Library code
│   ├── tauri.conf.json     # Tauri configuration
│   └── Cargo.toml          # Rust dependency configuration
├── public/                  # Static assets
├── index.html              # HTML template
├── vite.config.ts          # Vite configuration
├── tsconfig.json           # TypeScript configuration
└── package.json            # Project dependencies

🔨 Building

Development Mode

# Start development server (with hot reload)
pnpm tauri:dev

Local Production Build

# Build production version
pnpm tauri build

Build artifacts are located in the src-tauri/target/release/bundle/ directory.

GitHub Actions Automated Builds

The project is configured with GitHub Actions workflows that automatically build for the following platforms:

  • macOS: Universal Binary (supports both Intel and Apple Silicon)
    • Generates .app and .dmg files
  • Windows: x64 executables
    • Generates .exe (NSIS installer) and .msi installer

Triggering Builds

  1. Push to main branch: Automatically builds all platforms
  2. Create version tag: Creating a tag in v* format (e.g., v0.1.0) will automatically build and create a GitHub Release
# Release a new version
git tag v0.1.0
git push origin main
git push origin v0.1.0
  1. Manual trigger: Run builds manually from the GitHub Actions page

After the build completes, you can download artifacts from the Actions page or from the Releases page for published versions.

For detailed information, see .github/workflows/README.md.

Platform-specific Builds

  • macOS: Generates .app and .dmg files
  • Windows: Generates .exe and .msi installer
  • Linux: Generates .AppImage and .deb packages (requires local build)

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 Development Guidelines

Recommended IDE Setup

Code Standards

  • Use TypeScript strict mode
  • Follow Vue 3 Composition API best practices
  • Use <script setup> syntax sugar
  • Keep code clean and maintainable

🐛 Issue Reporting

If you find a bug or have a feature suggestion, please create an issue.

📄 License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

🙏 Acknowledgments

  • Tauri - Excellent desktop application framework
  • Vue.js - Progressive JavaScript framework
  • Naive UI - Beautiful Vue 3 component library
  • Vite - Fast frontend build tool

Made with ❤️

If this project helps you, please give it a ⭐️

About

run everything

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •