Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

sd dep

sd dep add sd-a3f sd-b7c              # sd-a3f is blocked by sd-b7c
sd dep add sd-a3f sd-epic -t parent-child
sd dep remove sd-a3f sd-b7c
sd dep list sd-a3f                    # what sd-a3f depends on
sd dep list sd-b7c --direction up     # what depends on sd-b7c

dep add <issue> <depends-on> records that issue depends on depends-on. Several targets are accepted: sd dep add sd-a3f sd-b7c sd-c8d adds both blockers in one transaction. All targets validate before anything is written. Use sd create --parent EPIC for epic children: parentage is different from waiting for a blocker. An item can have only one parent.

Types (-t, --type):

typemeaningblocks ready?
blocks (default)issue cannot proceed until depends-on closesyes
parent-childissue is a child of depends-on (one parent)no
relateda linkno
discovered-fromissue was found while working depends-onno
  • Both seeds must exist (exit 3). A seed cannot depend on itself, and a blocks edge that would close a cycle is refused with the cycle printed (exit 5).
  • Adding an edge that already exists is a no-op (action: unchanged).
  • dep remove of an edge that is not there is exit 3.

--json: dep add and dep remove print {status, issue_id, depends_on_id, type, action, tx} for one target, or an array of those objects for several targets; dep list prints an array of {issue_id, depends_on_id, type, title, status, priority}, where the title, status and priority are the other end’s.