zagens-cli 0.8.0

Zagens headless CLI + HTTP/SSE runtime sidecar (`zagens`, `zagens-runtime` binaries)
Documentation
{
  "title": "{{REPORT_TITLE}}",
  "subtitle": "{{WEEK_LABEL}}  |  {{PROJECT_NAME}}  |  项目经理:{{PM_NAME}}  |  {{REPORT_DATE}}",
  "theme": {
    "bg": "#001833",
    "accent": "#0066CC",
    "title": "#FFFFFF",
    "body": "#D0D4DC",
    "muted": "#7A8498",
    "font": "Microsoft YaHei"
  },
  "slides": [
    {
      "title": "本周关键指标",
      "layout": {"kind": "grid", "cols": [0.5, 0.5], "gap": "0.25in", "padding": "0.1in"},
      "blocks": [
        {
          "type": "chart",
          "chart": {
            "type": "bar",
            "categories": ["需求", "设计", "开发", "测试", "部署"],
            "series": [
              {"name": "计划", "values": [24, 18, 42, 20, 8]},
              {"name": "实际", "values": [24, 16, 38, 15, 6]}
            ],
            "chart_title": "任务完成情况",
            "x_label": "阶段",
            "y_label": "任务数",
            "data_labels": true
          }
        },
        {
          "type": "chart",
          "chart": {
            "type": "line",
            "categories": ["{{QC_W1}}", "{{QC_W2}}", "{{QC_W3}}", "{{QC_W4}}", "本周"],
            "series": [
              {"name": "缺陷密度 (/KLOC)", "values": [4.2, 3.8, 3.1, 2.4, 1.8]},
              {"name": "目标线", "values": [2.5, 2.5, 2.5, 2.5, 2.5]}
            ],
            "chart_title": "代码质量趋势",
            "x_label": "周次",
            "y_label": "缺陷/KLOC",
            "data_labels": true
          }
        }
      ],
      "notes": "{{KPI_NOTES}}"
    },
    {
      "title": "风险与问题登记",
      "table": {
        "headers": ["ID", "风险/问题", "等级", "责任人", "状态", "应对措施"],
        "rows": [
          ["{{R1_ID}}", "{{R1_DESC}}", "{{R1_LEVEL}}", "{{R1_OWNER}}", "{{R1_STATUS}}", "{{R1_ACTION}}"],
          ["{{R2_ID}}", "{{R2_DESC}}", "{{R2_LEVEL}}", "{{R2_OWNER}}", "{{R2_STATUS}}", "{{R2_ACTION}}"],
          ["{{R3_ID}}", "{{R3_DESC}}", "{{R3_LEVEL}}", "{{R3_OWNER}}", "{{R3_STATUS}}", "{{R3_ACTION}}"],
          ["{{R4_ID}}", "{{R4_DESC}}", "{{R4_LEVEL}}", "{{R4_OWNER}}", "{{R4_STATUS}}", "{{R4_ACTION}}"],
          ["{{R5_ID}}", "{{R5_DESC}}", "{{R5_LEVEL}}", "{{R5_OWNER}}", "{{R5_STATUS}}", "{{R5_ACTION}}"]
        ]
      },
      "bullets": [
        "{{RISK_SUMMARY_1}}",
        "{{RISK_SUMMARY_2}}",
        "{{RISK_SUMMARY_3}}"
      ]
    },
    {
      "title": "里程碑与甘特图",
      "layout": {"kind": "grid", "cols": [1.0], "gap": "0in", "padding": "0.05in"},
      "blocks": [
        {
          "type": "mpl",
          "mpl": {
            "chart_type": "gantt",
            "title": "{{GANTT_TITLE}}",
            "width": 1400,
            "height": 450,
            "data": {
              "tasks": [
                {"name": "{{T1_NAME}}", "start": "{{T1_START}}", "end": "{{T1_END}}", "owner": "{{T1_OWNER}}", "status": "{{T1_STATUS}}"},
                {"name": "{{T2_NAME}}", "start": "{{T2_START}}", "end": "{{T2_END}}", "owner": "{{T2_OWNER}}", "status": "{{T2_STATUS}}"},
                {"name": "{{T3_NAME}}", "start": "{{T3_START}}", "end": "{{T3_END}}", "owner": "{{T3_OWNER}}", "status": "{{T3_STATUS}}"},
                {"name": "{{T4_NAME}}", "start": "{{T4_START}}", "end": "{{T4_END}}", "owner": "{{T4_OWNER}}", "status": "{{T4_STATUS}}"},
                {"name": "{{T5_NAME}}", "start": "{{T5_START}}", "end": "{{T5_END}}", "owner": "{{T5_OWNER}}", "status": "{{T5_STATUS}}"},
                {"name": "{{T6_NAME}}", "start": "{{T6_START}}", "end": "{{T6_END}}", "owner": "{{T6_OWNER}}", "status": "{{T6_STATUS}}"}
              ]
            }
          }
        }
      ]
    },
    {
      "title": "下周计划",
      "table": {
        "headers": ["优先级", "任务", "负责人", "预计工时", "备注"],
        "rows": [
          ["{{NP1_PRIO}}", "{{NP1_TASK}}", "{{NP1_OWNER}}", "{{NP1_HOURS}}", "{{NP1_NOTE}}"],
          ["{{NP2_PRIO}}", "{{NP2_TASK}}", "{{NP2_OWNER}}", "{{NP2_HOURS}}", "{{NP2_NOTE}}"],
          ["{{NP3_PRIO}}", "{{NP3_TASK}}", "{{NP3_OWNER}}", "{{NP3_HOURS}}", "{{NP3_NOTE}}"],
          ["{{NP4_PRIO}}", "{{NP4_TASK}}", "{{NP4_OWNER}}", "{{NP4_HOURS}}", "{{NP4_NOTE}}"],
          ["{{NP5_PRIO}}", "{{NP5_TASK}}", "{{NP5_OWNER}}", "{{NP5_HOURS}}", "{{NP5_NOTE}}"],
          ["{{NP6_PRIO}}", "{{NP6_TASK}}", "{{NP6_OWNER}}", "{{NP6_HOURS}}", "{{NP6_NOTE}}"]
        ]
      },
      "notes": "{{NEXT_WEEK_NOTES}}"
    },
    {
      "title": "团队与致谢",
      "layout": {"kind": "grid", "cols": [0.45, 0.55], "gap": "0.3in", "padding": "0.2in"},
      "blocks": [
        {
          "type": "table",
          "table": {
            "headers": ["角色", "姓名", "本周贡献"],
            "rows": [
              ["项目经理", "{{PM_NAME}}", "{{PM_CONTRIB}}"],
              ["技术负责人", "{{TECH_NAME}}", "{{TECH_CONTRIB}}"],
              ["前端开发", "{{FE_NAME}}", "{{FE_CONTRIB}}"],
              ["后端开发", "{{BE_NAME}}", "{{BE_CONTRIB}}"],
              ["测试", "{{QA_NAME}}", "{{QA_CONTRIB}}"]
            ]
          }
        },
        {
          "type": "richtext",
          "runs": [
            {"t": "本周亮点\n\n", "size": 20, "bold": true, "color": "#0066CC"},
            {"t": "{{HIGHLIGHT_1}}\n\n", "size": 13},
            {"t": "{{HIGHLIGHT_2}}\n\n", "size": 13},
            {"t": "下周重点\n\n", "size": 16, "bold": true, "color": "#FF6644"},
            {"t": "{{FOCUS_1}}\n", "size": 13},
            {"t": "{{FOCUS_2}}", "size": 13}
          ]
        }
      ]
    }
  ]
}