Skip to content

Getting started

Graph Scheduler ships as a set of layered import subpaths, so dependencies point down and you reach for the layer that matches your question.

ImportReach for it whenRuntime deps
graph-schedulerYou have a graph and a status map and want the next runnable work.none
graph-scheduler/graphYou want to build and query the immutable dependency graph directly.none
graph-scheduler/trackerYou want to track readiness across status updates over time.none
graph-scheduler/pullYou want to draw the next runnable node from a tracker.none

The whole library is zero-dependency: the graph core, the tracker, and the pull surface pull nothing at runtime. The engine reasons over the graph and status alone.

The engine is under construction — the package is a scaffold, and each layer lands as its own task. The API Reference in the sidebar tracks exactly what has shipped so far.

For the full intended surface — getReady, trigger rules, eligibility filters, priority sorters, goal-direction, and pull resolution — see the design decision D-BPD8-graph-scheduler-api and the product PR-DZTZ-graph-scheduler in the repository. Those documents pin the API this site will grow to describe.