Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ bab Public

Bab is a modern, dependency free task runner that simplifies development workflows. It replaces Makefiles and npm scripts with a universal solution that’s easy to use for small scripts but powerful enough to orchestrate hundreds of tasks, keeping your projects organized and maintainable.

License

bab-sh/bab

Repository files navigation

Bab Logo

Bab

Custom commands for every project

License: MIT Go Version Release Status

WebsiteDocumentationDiscord


Contents


Overview

Bab is a modern task runner built for seamless development workflows. It replaces the clunky syntax of Makefiles and the limitations of npm scripts with a universal, dependency-free solution that works across any language or project. Whether you're running small scripts or orchestrating hundreds of tasks, Bab scales effortlessly, keeping your workflow smooth, organized, and maintainable.


Quick Start

Install Bab

# macOS / Linux
curl -sSfL https://bab.sh/install.sh | sh

# Windows (PowerShell)
iwr -useb https://bab.sh/install.ps1 | iex

For more installation options, see the Installation Documentation.

Create a Babfile

Create a Babfile in your project root:

setup:
  desc: Install dependencies
  run: npm install

dev:
  desc: Start development server
  run: npm run dev

test:
  desc: Run test suite
  run: npm test

build:
  desc: Build for production
  run: npm run build

For complete Babfile syntax and advanced features, see the Babfile Documentation.

Run Your Tasks

bab list             # List all available tasks
bab setup            # Run the setup task
bab dev              # Start development server
bab build --dry-run  # Preview build task without executing

For more CLI commands and options, see the CLI Guide.


Roadmap

Bab is under active development. Some completed features may be refined or reimplemented as the project matures.

  • Basic Task Execution - Execute tasks defined in Babfile with shell commands
  • Nested Task Support - Organize tasks hierarchically with colon notation (e.g., dev:start)
  • Cross-Platform Execution - Native shell execution on Linux, macOS, and Windows
  • Flexible Babfile Formats - Support for Babfile, Babfile.yaml, and Babfile.yml
  • Dry-Run Mode - Preview commands without executing them (--dry-run)
  • Verbose Logging - Detailed execution logs for debugging (--verbose)
  • Task Listing - Display all available tasks in a colorized tree structure (bab list)
  • Graceful Shutdown - Proper handling of interrupts and termination signals
  • Multi-Command Tasks - Support for tasks with single or multiple commands
  • Task Dependencies - Automatic execution of prerequisite tasks before running a task
  • Interactive Mode - Fuzzy search interface for browsing and selecting tasks
  • Task History Tracking - Per-project execution history with status and duration
  • Custom File Paths - Specify alternative Babfile locations with --file flag
  • Babfile Schema Validation - Structured schema for validating Babfile syntax and configuration
  • Advanced Multi-Babfile Support - Import and compose multiple Babfiles for complex project structures
  • Platform-Specific Tasks - Define tasks that run only on specific operating systems (Windows, Linux, macOS)
  • Compiled Binary Execution - Support for executing compiled binaries beyond shell scripts
  • Environment Variable Management - Built-in handling, interpolation, and validation of environment variables
  • Module System - Share and reuse Babfiles across projects as importable modules
  • Performance Profiling - Built-in performance monitoring and profiling for task execution
  • Interactive Babfile Generator - Create and modify Babfiles through interactive command-line forms
  • Enhanced Output Formatting - Rich, context-aware colored output with better visual hierarchy

See our GitHub Issues for the complete list of planned features and to suggest new ideas.


Support


License

Bab is released under the MIT License. This means you're free to use, modify, and distribute this software for personal or commercial purposes.


Built with ❤️ by AIO

About

Bab is a modern, dependency free task runner that simplifies development workflows. It replaces Makefiles and npm scripts with a universal solution that’s easy to use for small scripts but powerful enough to orchestrate hundreds of tasks, keeping your projects organized and maintainable.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •