Pace is a cross-platform task runner designed to streamline development workflows by defining, managing, and executing tasks with dependencies, hooks, caching, and file watching. It supports multiple platforms, including Windows, Linux, and macOS, offering consistent functionality across environments.
Key Features:
Dependency Management: Organize tasks in sequences, ensuring they execute in the correct order.
Hooks & Caching: Integrate setup/cleanup commands and utilize caching to optimize repeated executions.
Cross-Platform Support: Functions seamlessly across Windows, Linux, and macOS.
Audience & Benefits:
Ideal for developers and teams seeking efficient task automation. Pace enhances workflow efficiency by reducing manual intervention and ensuring consistent builds across different platforms. Its intuitive configuration syntax simplifies setup and maintenance.
Pace can be installed on Windows via winget:
winget install Azuyamat.Pace
This tool is perfect for anyone looking to automate tasks in a development environment, offering a robust solution that adapts to various project needs.
README
Pace
A cross-platform task runner and build orchestration tool. Define tasks once, run them anywhere.
Why Pace?
If you've ever wanted npm run scripts but for Go, Rust, C++, or any other language—Pace is for you. Unlike Make (which has limited Windows support) or language-specific runners, Pace works the same on Windows, Linux, and macOS with an intuitive configuration syntax.
Features
Cross-platform - Works on Windows, Linux, and macOS
pace run [task] # Run a task (or default task)
pace watch [task] # Watch inputs and re-run on changes
pace list # List all tasks and hooks
pace list --tree # List with dependency tree
pace help [command] # Show help
Flags
--dry-run - Show what would run without executing
--force - Ignore cache and force execution
File Watching
Watch task inputs and automatically re-run:
pace watch build
This monitors all files matching the task's inputs patterns and re-executes when changes are detected.
Caching
When cache true is set, Pace tracks:
Input file hashes
Output file hashes
Command string
Dependency results
If nothing has changed since the last run, the task is skipped. Cache data is stored in .pace-cache/.
VS Code Extension
Syntax highlighting for .pace files is available. Check the vscode-pace directory for the extension.