rebebuca
v1.1.2
Published
Run Configuration Management Tool — launch via npx rebebuca
Downloads
508
Readme
Rebebuca
Official Website | 中文文档 | English
🚀 Quick Start
npx rebebucaThat'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 optionsBackground run (no visible cmd window on Windows)
npm install -g rebebuca
npm install -g runbg
runbg cmd /c rebebucaWith 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
🛠️ 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
- Install dependencies
npm install- Start development server (mock backend)
npm run dev:web- Start with Node.js backend (full server mode)
npm run dev:server- 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:serverProduction build (for npm / npx rebebuca)
pnpm run build:server-appThis 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, pushesCI runs build:server-app then pnpm publish. Ensure NPM_TOKEN is set in repo secrets.
🤝 Contributing
Contributions are welcome! Please follow these steps:
- Fork this repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - 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
