Skip to content

An asynchronous CLI tool designed to manage complex development environments.

License

Notifications You must be signed in to change notification settings

dmx3377/turbostar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Turbostar is an asynchronous CLI tool designed to manage complex development environments where multiple languages (Python, JavaScript, Lua) must run in harmony. It handles process lifecycle, output aggregation, and dependency graphing.

Features

  • Polyglot Support: Run Python scripts, Node.js servers, and Lua logic simultaneously.
  • Dependency Graphing: Configure services to wait for "Ready" signals from other services before starting.
  • Unified Output: Aggregates stdout and stderr from all children into a single, color-coded terminal stream.

Quick Start

Prerequisites

  • Python 3.8+
  • Node.js (optional, for plugins)
  • Lua (optional, for plugins)

Installation

Clone the repository:

git clone https://github.com/dmx3377/turbostar.git
cd turbostar

Usage

  1. Define your processes in manifest.json:
{
  "services": [
    {
      "name": "BACKEND",
      "command": "python backend.py",
      "ready_signal": "Server Running"
    },
    {
      "name": "FRONTEND",
      "command": "npm start",
      "depends_on": "BACKEND"
    }
  ]
}
  1. Begin the script by running: python turbostar.py

Configuration

Field Description
name The display name in the logs.
command The shell command to execute.
color ANSI colour code for differentiating the logs.
ready_signal String to look for in stdout to mark service as READY.
depends_on Name of the service this process must wait for.

License

This project is licensed under the BSD 3-Clause License, see the LICENSE file for further details.

About

An asynchronous CLI tool designed to manage complex development environments.

Topics

Resources

License

Security policy

Stars

Watchers

Forks