chartlet 0.18.0

Compile structured data into deterministic, accessible static charts
Documentation
{
  "schemaVersion": 1,
  "type": "flow",
  "title": "From commit to release",
  "source": "Team handbook, release process",
  "width": 1120,
  "height": 1020,
  "flow": {
    "lanes": [
      { "id": "dev", "label": "Development" },
      { "id": "ci", "label": "Continuous integration" },
      { "id": "ops", "label": "Operations" }
    ],
    "nodes": [
      { "id": "commit", "label": "Commit pushed", "kind": "start", "lane": "dev" },
      { "id": "review", "label": "Code review", "lane": "dev" },
      { "id": "build", "label": "Build", "sublabel": "locked inputs", "lane": "ci" },
      { "id": "tests", "label": "Run tests", "lane": "ci" },
      { "id": "green", "label": "All green?", "kind": "decision", "lane": "ci" },
      { "id": "fix", "label": "Fix failures", "lane": "dev" },
      { "id": "staging", "label": "Deploy to staging", "lane": "ops" },
      { "id": "approve", "label": "Approved?", "kind": "decision", "lane": "ops" },
      { "id": "prod", "label": "Deploy to production", "lane": "ops" },
      { "id": "done", "label": "Released", "kind": "end", "lane": "ops" }
    ],
    "edges": [
      { "from": "commit", "to": "review" },
      { "from": "review", "to": "build", "label": "merged" },
      { "from": "build", "to": "tests" },
      { "from": "tests", "to": "green" },
      { "from": "green", "to": "staging", "label": "yes" },
      { "from": "green", "to": "fix", "label": "no" },
      { "from": "fix", "to": "build", "label": "retry" },
      { "from": "staging", "to": "approve" },
      { "from": "approve", "to": "prod", "label": "yes" },
      { "from": "approve", "to": "review", "label": "changes requested", "dash": "dashed" },
      { "from": "prod", "to": "done" }
    ],
    "groups": [{ "label": "Quality gates", "nodes": ["build", "tests", "green"] }],
    "mainPath": ["commit", "review", "build", "tests", "green", "staging", "approve", "prod", "done"]
  }
}