Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

225 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rebebuca

Rebebuca Logo

Run Configuration Management Tool

Launch instantly with a single command — no installation required, just Node.js 18+

npm Node.js Vue TypeScript License

Official Website | 中文文档 | English


🚀 Quick Start

npx rebebuca

That's it! Rebebuca starts a local web server and opens your browser automatically.

Options

npx rebebuca --port 8080          # Custom port (default: 3000)
npx rebebuca 8080                 # Shorthand for --port 8080
npx rebebuca --host 0.0.0.0       # Expose on all network interfaces
npx rebebuca --no-open            # Don't open browser automatically
npx rebebuca --no-mcp             # Disable MCP routes on the same port
npx rebebuca --help               # Show all options

Background run (no visible cmd window on Windows)

npm install -g rebebuca
npm install -g runbg
runbg cmd /c rebebuca

With the new Close Service button in the UI, you can stop the Rebebuca service process when needed.

Headless CLI (no web server)

Useful for scripts, terminals, and AI agents that prefer a plain CLI over MCP.

# List CLI flags / subcommands, saved user tasks, or both (--json for machine-readable)
npx rebebuca list options
npx rebebuca list tasks
npx rebebuca list all --json

# Run a saved user task by exact id or fuzzy match on name (see note below)
npx rebebuca run <id-or-name>

# Run an arbitrary shell command (login shell), without starting Rebebuca
npx rebebuca -- pnpm test

# Install tab completion (fuzzy task suggestions for: rebebuca run <tab>)
eval "$(npx rebebuca complete zsh)"
source <(npx rebebuca complete bash)

Task source for list / run: tasks are read from userGroups in ~/.rebebuca/store.json (user-defined groups in the app). Folder-scanned tasks (VS Code / npm scripts, etc.) are not included until they exist in that store.

Restrictions: run does not execute SSH-only tasks, “system terminal” tasks, or other modes that require the full UI.

Requirements: Node.js 18 or higher


✨ 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
  • 🌐 Web-based - Runs entirely in your browser via a local Node.js HTTP server
  • ⌨️ CLI - list, run, -- <cmd>, and shell completion for automation and AI workflows

📸 Preview

Application Screenshot - Light Theme

Application Screenshot - Dark Theme

🛠️ 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 (Node.js)

  • Node.js - HTTP + WebSocket server
  • node-pty - Native PTY terminal emulation
  • ws - High-performance WebSocket library

📦 Development Setup

Prerequisites

  • Node.js >= 18.0.0
  • npm or pnpm

Development Server

  1. Install dependencies
npm install
  1. Start development server (mock backend)
npm run dev:web
  1. Start with Node.js backend (full server mode)
npm run dev:server
  1. Build the npm-publishable bundle
npm run build:server-app

⌨️ Web UI

Running configurations

  • Click the play button ▶️ next to a configuration in the left sidebar
  • The command runs in a new tab with live output
  • Multiple configurations can run at once

Managing tabs

  • Restart — run the same configuration again
  • Stop — terminate the process
  • Clear — clear console output
  • Scroll to Bottom — jump to the latest output
  • Edit — change the configuration for the current tab

Run history

  • The side panel shows recent runs
  • Use rerun to execute a past command again
  • History can be cleared

📁 Project Structure

rebebuca/
├── app/                      # Nuxt 3 app (UI)
│   └── pages/
├── src/                      # Shared Vue/TS (used by app)
│   ├── components/          # Vue components
│   └── stores/              # Pinia state management
├── node-server/              # Node.js HTTP + WebSocket server
│   ├── server.js
│   ├── cli-subcommands.js    # Headless CLI (list / run / completion)
│   └── handlers/
├── bin/rebebuca.js          # CLI entry (npx rebebuca)
├── dist/server/             # Built static UI (from Nuxt generate)
├── public/                  # Static assets
└── package.json             # Project dependencies

🔨 Building

Development

# Frontend dev (Vite) + backend runs separately
pnpm dev:server

Production build (for npm / npx rebebuca)

pnpm run build:server-app

This runs Nuxt static build and outputs to dist/server. The Node server serves from that directory.

Release & publish to npm

Push a version tag to trigger GitHub Actions to build and publish:

./scripts/release.sh 0.5.6   # bumps version, commits, creates v0.5.6, pushes

CI runs build:server-app then pnpm publish. Ensure NPM_TOKEN is set in repo secrets.

🤝 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

📄 License

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

🙏 Acknowledgments

  • Vue.js - Progressive JavaScript framework
  • Nuxt - Vue-based static/build setup
  • Naive UI - Beautiful Vue 3 component library
  • Vite - Fast frontend build tool

Made with ❤️

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

About

A modern desktop application that helps developers quickly manage and execute various commands and scripts. Supports working directory, environment variables, and real-time output.

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages