CLI Task Runner and Build Tool
Build a lightweight task runner, similar to a mini npm-scripts replacement, that reads a config file defining tasks with dependencies and runs them in the correct order with colored terminal output. Learners practice building CLIs with typed configs, topological sorting for task dependencies, and child-process orchestration.
- Estimate
- ~10h
- Steps
- 6
- Completed by
- 0
- Proposed by
- codeseed.app
Node.js · Commander · chalk
Project roadmap
- 01
Design the typed config schema
~1.5hDefine the TypeScript types for a task config file including names, commands, and dependencies.
- 02
Implement the config loader
~1.5hLoad and validate the config file, reporting clear errors for malformed entries.
- 03
Implement topological sorting
~2hSort tasks by their dependencies so each runs only after its prerequisites complete.
- 04
Execute tasks as child processes
~2hRun each task as a child process, streaming its output to the terminal.
- 05
Support parallel execution
~2hRun independent tasks concurrently while respecting dependency ordering.
- 06
Add colored reporting
~1hPrint colored success/failure summaries for the overall run using chalk.
Resources
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack