Skip to main content

Introduction

Nadle is a modern, type-safe, Gradle-inspired task runner for Node.js. Built from the ground up with TypeScript, Nadle helps developers define and orchestrate project workflows with clarity, safety, and speed.

Why Nadle?

  • Type-Safe by Design Written in TypeScript with full type inference and compile-time validation for every task.

  • Smart Parallel Execution Automatically runs independent tasks in parallel using worker threads while respecting declared dependencies.

  • Modern Architecture Pure ESM, Node.js 22+ only. Zero legacy baggage.

  • Built-in Caching Declare inputs and outputs for any task. Unchanged tasks are skipped automatically for fast incremental builds.

  • Intuitive Task Management Simple and declarative nadle.config.ts. Group tasks, add descriptions, and define dependencies clearly.

  • Real-Time Feedback Interactive footer shows scheduled, running, and completed tasks. Live progress tracking makes builds transparent.

  • Abbreviation Matching Run tasks via short patterns (b for build) — fast and user-friendly CLI UX.


Try Nadle Now

Use StackBlitz to try Nadle instantly in your browser.

Ready to install locally? See the Installation Guide.


Requirements

  • Node.js 22+
  • ESM only

Feature Comparison

FeatureNadlenpm scriptsGulpMakeJust
Type SafetyYesNoNoNoNo
Modern DefaultsESM, Node 22+LimitedLegacyLegacyBasic
Parallel ExecutionBuilt-inNoManualManualManual
Built-in CachingYesNoNoPartialNo
Built-in TasksYesNoPlugin-basedNoNo
Abbreviation MatchingYesNoNoNoNo
Task Grouping/MetadataNativeNoManualNoNo
CLI UXCleanVerboseVerboseComplexSimple
Config Formatnadle.config.tspackage.jsongulpfile.jsMakefile.justfile

Real-World Use Cases

Nadle works seamlessly in:

  • Monorepo task orchestration
  • CI/CD pipelines
  • Frontend or full-stack builds
  • Local dev automation

Editor Support

TypeScript gives you IntelliSense and compile-time checks out of the box in any editor. Dedicated VS Code and IntelliJ plugins are available, and any LSP-capable editor can use the @nadle/language-server.


Contribute

Have ideas or feedback? Open an issue on GitHub — we welcome your input!


Roadmap

  • Guided tutorial and onboarding CLI
  • Showcase examples and templates