Expand description

Model project roadmaps and step dependencies

This crate models a roadmap as steps, which may depend on each other, and a directed acyclic graph (DAG) of said steps, which leads to the end goal. There is no support for due dates, estimates, or other such project management features. These roadmaps only care about what steps need to be take, in what order, to reach the goal.

Example

let mut r = roadmap::from_yaml("
endgoal:
  label: The end goal
  depends:
  - first
first:
  label: The first step
").unwrap();

let n: Vec<&str> = r.step_names().collect();
assert_eq!(n.len(), 2);
assert!(n.contains(&"first"));
assert!(n.contains(&"endgoal"));

r.set_missing_statuses();
println!("{}", r.format_as_dot(30).unwrap());

Structs

Represent a full project roadmap.

A roadmap step.

Enums

Errors that can be returned for roadmaps.

Represent the status of a step in a roadmap.

Functions

Create a new roadmap from a textual YAML representation.

Type Definitions

Error in Roadmap, from parsing or otherwise.