When Should I Use builderman?
builderman is a good fit when:
- You have interdependent tasks that must run in a well-defined order
- You run long-lived processes that need readiness detection (not just exit codes)
- Cleanup and teardown matter (containers, databases, servers, watchers)
- You want deterministic execution with structured results instead of log-scraping
- You need observable pipelines that behave the same locally and in CI
- You want to compose and reuse workflows, not just run scripts
It may be overkill if:
- Your workflow is a handful of linear npm scripts
- Tasks are fire-and-forget and don't require cleanup
- You don't need dependency graphs, cancellation, or failure propagation
Use Cases
Monorepos
builderman excels in monorepo environments where you need to:
- Build packages in the correct dependency order
- Cache builds based on inputs and artifacts
- Compose complex build pipelines
- Run tests after builds complete
Development Workflows
For development, builderman helps with:
- Starting databases, servers, and watchers in the right order
- Waiting for services to be ready before starting dependents
- Ensuring proper cleanup when stopping development servers
- Handling cancellation gracefully (e.g., Ctrl+C)
CI/CD Pipelines
In CI/CD, builderman provides:
- Structured error reporting (no log-scraping needed)
- Execution statistics for monitoring and debugging
- Deterministic execution that works the same locally and in CI
- Concurrency control to manage resource usage
- Strict mode to catch missing commands early
Complex Orchestration
When you need to orchestrate complex workflows:
- Compose pipelines from smaller pipelines
- Handle conditional dependencies
- Manage long-running processes with readiness detection
- Ensure cleanup happens even on failure
Comparison with Alternatives
vs. npm scripts
builderman provides explicit dependency graphs, structured results, cancellation, and teardown. npm scripts are simpler but don't handle complex dependencies or cleanup.
vs. Task runners (Gulp, Grunt)
builderman focuses on process execution and orchestration rather than file transformations. It's better suited for running external commands, managing dependencies, and handling long-running processes.
vs. Make, Just, Task
builderman is JavaScript/TypeScript-native, provides structured results, handles cancellation and teardown automatically, and supports readiness detection for long-running processes.
Ready to get started? Check out the Quick Start guide or explore Core Concepts.