@jakkrichm/create-nexus-devflow 2.2.2 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/bin/create-nexus-devflow.js +9 -1
  2. package/dist/bin/create-nexus-devflow.js.map +1 -1
  3. package/dist/lib/command-catalog.js +1 -1
  4. package/dist/lib/command-catalog.js.map +1 -1
  5. package/dist/lib/dashboard-page.d.ts +1 -1
  6. package/dist/lib/dashboard-page.js +42 -20
  7. package/dist/lib/dashboard-page.js.map +1 -1
  8. package/dist/lib/dashboard-snapshot.js +16 -12
  9. package/dist/lib/dashboard-snapshot.js.map +1 -1
  10. package/dist/lib/dashboard.js +10 -1
  11. package/dist/lib/dashboard.js.map +1 -1
  12. package/dist/lib/doctor.js +1 -1
  13. package/dist/lib/gatekeeper.d.ts +4 -0
  14. package/dist/lib/gatekeeper.js +2 -2
  15. package/dist/lib/gatekeeper.js.map +1 -1
  16. package/dist/lib/git-status.d.ts +10 -2
  17. package/dist/lib/git-status.js +57 -29
  18. package/dist/lib/git-status.js.map +1 -1
  19. package/dist/lib/swarm-orchestrator.d.ts +4 -1
  20. package/dist/lib/swarm-orchestrator.js +2 -2
  21. package/dist/lib/swarm-orchestrator.js.map +1 -1
  22. package/dist/lib/version-check.js +1 -1
  23. package/dist/lib/workflow-state.js +19 -32
  24. package/dist/lib/workflow-state.js.map +1 -1
  25. package/package.json +1 -1
  26. package/template/.agents/skills/complete/SKILL.md +47 -36
  27. package/template/.agents/skills/devflow/SKILL.md +51 -79
  28. package/template/.claude/skills/complete/SKILL.md +47 -36
  29. package/template/.claude/skills/devflow/SKILL.md +51 -79
  30. package/template/AGENTS.md +21 -30
  31. package/template/devflow/build-plan.md +9 -0
  32. package/template/devflow/context/ai-interaction.md +38 -39
  33. package/template/devflow/context/findings.md +8 -11
  34. package/template/devflow/context/glossary.md +31 -0
  35. package/template/devflow/reference/build-plan-template.md +65 -0
  36. package/template/devflow/reference/feature-spec-template.md +110 -0
  37. package/template/devflow/reference/project-plan-template.md +128 -0
  38. package/template/devflow/reference/running-id-contract.md +12 -11
  39. package/template/.agents/skills/10-define/SKILL.md +0 -54
  40. package/template/.agents/skills/20-spec/SKILL.md +0 -155
  41. package/template/.agents/skills/30-plan/SKILL.md +0 -226
  42. package/template/.agents/skills/40-execute/SKILL.md +0 -158
  43. package/template/.agents/skills/50-verify/SKILL.md +0 -62
  44. package/template/.agents/skills/60-report/SKILL.md +0 -57
  45. package/template/.agents/skills/70-deliver/SKILL.md +0 -72
  46. package/template/.claude/skills/10-define/SKILL.md +0 -54
  47. package/template/.claude/skills/20-spec/SKILL.md +0 -155
  48. package/template/.claude/skills/30-plan/SKILL.md +0 -226
  49. package/template/.claude/skills/40-execute/SKILL.md +0 -158
  50. package/template/.claude/skills/50-verify/SKILL.md +0 -62
  51. package/template/.claude/skills/60-report/SKILL.md +0 -57
  52. package/template/.claude/skills/70-deliver/SKILL.md +0 -72
@@ -341,7 +341,13 @@ async function main(args = process.argv.slice(2)) {
341
341
  return;
342
342
  }
343
343
  if (options.command === "dashboard" || options.command === "ui") {
344
- const server = await startDashboardServer(targetDir);
344
+ let server;
345
+ try {
346
+ server = await startDashboardServer(targetDir, { port: 4318 });
347
+ }
348
+ catch {
349
+ server = await startDashboardServer(targetDir, { port: 0 });
350
+ }
345
351
  const style = createStyle();
346
352
  console.log(style.bold(style.cyan(`Nexus-DevFlow Dashboard live at ${server.url}`)));
347
353
  if (options.open) {
@@ -898,7 +904,9 @@ function parseArgs(args) {
898
904
  }
899
905
  async function waitForShutdown() {
900
906
  await new Promise((resolve) => {
907
+ const keepAliveTimer = setInterval(() => { }, 10_000);
901
908
  const stop = () => {
909
+ clearInterval(keepAliveTimer);
902
910
  process.off("SIGINT", stop);
903
911
  process.off("SIGTERM", stop);
904
912
  resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"create-nexus-devflow.js","sourceRoot":"","sources":["../../bin/create-nexus-devflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-nexus-devflow.js","sourceRoot":"","sources":["../../bin/create-nexus-devflow.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ const FALLBACK_DESCRIPTIONS = {
24
24
  async function readCommandCatalog(projectRoot) {
25
25
  const manifest = await readManifest(projectRoot);
26
26
  const fast = manifest?.lifecycle.fastTrackStages || ["feature", "fix", "implement", "check", "complete"];
27
- const deep = manifest?.lifecycle.mainlineStages || ["discovery", "10-define", "20-spec", "30-plan", "40-execute", "50-verify", "60-report", "70-deliver"];
27
+ const deep = manifest?.lifecycle.mainlineStages || ["idea", "grill", "brainstorm", "discovery"];
28
28
  const companion = manifest?.lifecycle.companionCommands || Object.keys(FALLBACK_DESCRIPTIONS);
29
29
  const families = [["fast", fast], ["deep", deep], ["companion", companion]];
30
30
  const seen = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"command-catalog.js","sourceRoot":"","sources":["../../lib/command-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-catalog.js","sourceRoot":"","sources":["../../lib/command-catalog.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- declare const DASHBOARD_PAGE_HTML = "<!doctype html>\n<html lang=\"th\">\n<head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <title>Nexus-DevFlow Enterprise Dashboard</title>\n <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n <link href=\"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Noto+Sans+Thai:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap\" rel=\"stylesheet\">\n <style>\n :root{\n --font-display:\"Google Sans Thai\",\"Google Sans\",\"Noto Sans Thai\",\"Space Grotesk\",sans-serif;\n --font-sans:\"Google Sans Thai\",\"Google Sans\",\"Noto Sans Thai\",sans-serif;\n --font-mono:\"IBM Plex Mono\",monospace;\n --bg:#0a2540;--bg-deep:#061a2e;--panel:rgba(255,255,255,.04);--panel-strong:#0c2b49;\n --ink:#edf6ff;--soft:#b7d3ef;--muted:#7598ba;--line:rgba(191,224,255,.17);--line-strong:rgba(191,224,255,.36);\n --cyan:#7dd8ff;--mint:#6fe3b4;--gold:#f2c14e;--red:#ff7061;--violet:#b8a4ff;\n --mint-soft:rgba(111,227,180,.14);--gold-soft:rgba(242,193,78,.14);--red-soft:rgba(255,112,97,.14);--violet-soft:rgba(184,164,255,.14);\n }\n *{box-sizing:border-box}\n html{color-scheme:dark}\n body{margin:0;min-height:100vh;background-color:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-image:linear-gradient(rgba(125,216,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(125,216,255,.065) 1px,transparent 1px),radial-gradient(circle at 8% -5%,rgba(125,216,255,.16),transparent 42rem);background-size:34px 34px,34px 34px,auto}\n button,input{font:inherit}\n code{font-family:var(--font-mono);color:var(--cyan)}\n .sheet{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:34px 0 64px}\n .titleblock{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;padding-bottom:20px;border-bottom:1px solid var(--line-strong);flex-wrap:wrap}\n .eyebrow,.label{font:600 10px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--cyan)}\n .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:12px}.eyebrow:before{content:\"\";width:20px;height:1px;background:var(--cyan)}\n h1{margin:0 0 6px;font:700 clamp(32px,4vw,48px)/1.05 var(--font-display);letter-spacing:-.03em}\n .path,.muted{color:var(--muted);font-size:12px;line-height:1.65}.path{font-family:var(--font-mono)}\n .badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.badge,.pill{padding:4px 9px;border:1px solid var(--line-strong);border-radius:3px;background:rgba(255,255,255,.025);color:var(--muted);font:600 10px/1.5 var(--font-mono);text-transform:uppercase}\n .ok,.healthy,.current,.ready,.idle{border-color:rgba(111,227,180,.42)!important;color:var(--mint)!important;background:var(--mint-soft)!important}\n .warning,.available,.offline,.blocked,.fail{border-color:rgba(255,112,97,.42)!important;color:var(--red)!important;background:var(--red-soft)!important}\n .active,.deep,.fast,.configured{border-color:rgba(184,164,255,.42)!important;color:var(--violet)!important;background:var(--violet-soft)!important}\n .meta{display:grid;grid-template-columns:auto auto;gap:4px 20px;margin:0;font:11px/1.55 var(--font-mono)}.meta dt{color:var(--muted);text-transform:uppercase}.meta dd{margin:0;color:var(--soft);text-align:right}\n .live{display:flex;align-items:center;gap:8px;margin:14px 0 24px;font:11px var(--font-mono);color:var(--muted)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}.live-dot.on{background:var(--mint);box-shadow:0 0 0 4px rgba(111,227,180,.12)}\n .panel,.card{position:relative;min-width:0;border:1px solid var(--line);border-radius:4px;background:var(--panel)}\n #dual-track{overflow:hidden}\n .stepper{justify-content:center}.step{display:flex;flex-direction:column;align-items:center;text-align:center}.step-icon{display:grid;place-items:center;width:30px;height:30px;margin:10px auto 8px;border:1px solid currentColor;border-radius:8px;background:rgba(255,255,255,.035)}.icon-glyph{display:block;font-size:17px;line-height:1}.step.flow-0,.step.flow-4{color:var(--cyan)}.step.flow-1,.step.flow-5{color:var(--violet)}.step.flow-2,.step.flow-6{color:var(--gold)}.step.flow-3,.step.flow-7{color:var(--mint)}.step .step-name{color:currentColor}.step .step-cmd{color:var(--muted)}\n .panel{padding:24px 26px;margin-bottom:20px}.panel-head,.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.panel-head{margin-bottom:20px}.card-head{margin-bottom:17px}\n .track-tabs{display:flex;gap:7px;flex-wrap:wrap}.tab{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--line-strong);border-radius:99px;background:transparent;color:var(--muted);font:600 10px var(--font-mono);cursor:pointer}.tab:hover,.tab:focus-visible{border-color:var(--cyan);color:var(--cyan);outline:none}.tab.on{background:var(--cyan);border-color:var(--cyan);color:var(--bg-deep)}.tab-active-dot{display:none;padding:2px 6px;border-radius:99px;font:700 8px/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--mint);color:var(--bg-deep)}.tab.is-active-track .tab-active-dot{display:inline-flex;align-items:center;gap:3px;box-shadow:0 0 0 2px rgba(111,227,180,.25)}.tab.on.is-active-track .tab-active-dot{background:var(--bg-deep);color:var(--mint)}\n .track-view{display:none;min-width:0}.track-view.on{display:block}.stepper{display:flex;width:100%;max-width:100%;overflow-x:auto;padding:4px 0 7px}.step{flex:1 1 0;min-width:104px;position:relative;padding-right:12px}.step-line{position:absolute;top:10px;left:21px;right:0;height:1px;background:var(--line-strong)}.step:last-child .step-line{display:none}.step.done .step-line{background:var(--mint)}\n .step-dot{position:relative;z-index:1;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line-strong);background:var(--bg-deep);color:var(--muted);font:700 8px var(--font-mono)}.step.done .step-dot{border-color:var(--mint);color:var(--mint)}.step.active .step-dot{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 4px rgba(242,193,78,.16)}\n .step-name{margin-top:9px;color:var(--soft);font:600 10px/1.35 var(--font-mono)}.step.active .step-name{color:var(--gold)}.step.done .step-name{color:var(--mint)}.step-cmd{margin-top:3px;color:var(--muted);font:9px/1.4 var(--font-mono)}.track-note{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);color:var(--muted);font:11px/1.65 var(--font-mono)}\n .next-action{background:var(--bg-deep);border-color:var(--line-strong)}.next-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.command{margin:8px 0 6px;color:var(--gold);font:700 clamp(22px,3vw,30px)/1.3 var(--font-mono)}.copy{padding:7px 12px;border:1px solid var(--cyan);border-radius:3px;background:transparent;color:var(--cyan);font:600 10px var(--font-mono);cursor:pointer}.copy:hover,.copy:focus-visible{background:var(--cyan);color:var(--bg-deep);outline:none}\n .stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:0 0 20px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--line)}.stat{padding:16px 18px;background:var(--bg-deep)}.stat-value{font:700 25px/1 var(--font-display)}.stat-label{margin-top:6px;color:var(--muted);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}\n .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-bottom:20px}.card{grid-column:span 4;min-width:0;padding:clamp(20px,2.4vw,28px)}.card.wide{grid-column:span 8}.card.full{grid-column:1/-1}.value{font:700 18px/1.4 var(--font-display)}\n .facts{display:grid;gap:10px}.fact{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.fact:last-child{padding-bottom:0;border:0}.fact span:first-child{color:var(--muted);font-size:11px}.fact span:last-child{color:var(--soft);font:11px var(--font-mono);text-align:right;overflow-wrap:anywhere}\n .progress{height:6px;margin:14px 0 9px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.progress span{display:block;height:100%;width:0;background:var(--gold);transition:width .35s ease}\n ul{list-style:none;margin:0;padding:0}li{padding:10px 0;border-bottom:1px dashed var(--line);color:var(--soft);font-size:12px;line-height:1.55}li:last-child{border:0}.empty{color:var(--muted)}\n .severity{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sev{padding:9px 6px;border:1px solid var(--line);border-radius:3px;text-align:center}.sev b{display:block;font:700 17px var(--font-display)}.sev small{color:var(--muted);font:9px var(--font-mono)}\n .commands{display:flex;flex-wrap:wrap;gap:10px}.cmd{position:relative;padding:8px 13px;border:1px solid var(--line-strong);border-radius:3px;background:rgba(255,255,255,.025);color:var(--soft);font:11px var(--font-mono);cursor:pointer}.cmd:hover,.cmd:focus-visible,.cmd:focus{border-color:var(--cyan);color:var(--cyan);outline:2px solid rgba(125,216,255,.2);outline-offset:2px}.cmd:after{content:attr(data-tip);position:absolute;z-index:30;left:50%;bottom:calc(100% + 10px);width:max-content;max-width:min(300px,80vw);padding:9px 11px;border:1px solid var(--line-strong);border-radius:3px;background:#031421;color:var(--soft);font:10px/1.5 var(--font-mono);white-space:normal;text-align:left;opacity:0;visibility:hidden;transform:translate(-50%,5px);box-shadow:0 12px 30px rgba(0,0,0,.4);transition:.15s;pointer-events:none}.cmd:hover:after,.cmd:focus-visible:after,.cmd:focus:after{opacity:1;visibility:visible;transform:translate(-50%,0)}\n .adapters,.roster-grid,.mcp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.adapter,.roster-card,.mcp-card{padding:15px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,.02)}.adapter strong,.roster-card strong,.mcp-card strong{display:block;margin-bottom:6px;text-transform:capitalize}.adapter-path,.roster-desc,.mcp-desc{color:var(--muted);font:10px var(--font-mono);line-height:1.4}.adapter-state{margin-top:9px;font:10px var(--font-mono)}\n .mcp-grid{grid-template-columns:repeat(3,1fr)}\n .search-row{display:flex;gap:10px;margin-bottom:16px}.search-input{flex:1;padding:10px 14px;background:var(--bg-deep);border:1px solid var(--line-strong);border-radius:4px;color:var(--ink);font-family:var(--font-mono);font-size:12px}.search-btn{padding:10px 18px;border:1px solid var(--cyan);border-radius:4px;background:var(--cyan);color:var(--bg-deep);font-weight:700;cursor:pointer}\n .blast-result{padding:16px;border:1px solid var(--line-strong);border-radius:4px;background:var(--bg-deep);margin-top:12px;display:none}\n .section-note{margin:-2px 0 14px;color:var(--muted);font:10px/1.5 var(--font-mono)}.record-list{display:grid;gap:8px}.record-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-left:3px solid var(--record-color,var(--cyan));border-radius:3px;background:rgba(255,255,255,.02)}.record-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:color-mix(in srgb,var(--record-color,var(--cyan)) 14%,transparent)}.record-body{min-width:0}.record-meta{color:var(--record-color,var(--cyan));font:700 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.record-title{margin-top:3px;color:var(--ink);font-weight:650}.record-desc{margin-top:3px;color:var(--soft);font-size:12px}.record-desc:empty{display:none}.record-title strong,.record-desc strong{color:var(--record-color,var(--cyan));font-weight:750}.record-title em,.record-desc em{color:var(--gold)}.record-title code,.record-desc code{padding:1px 4px;border:1px solid var(--line);border-radius:3px;color:var(--cyan);font:10px var(--font-mono)}.record-title a,.record-desc a{color:var(--cyan);text-decoration:underline}.record-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.record-action{border:1px solid var(--record-color,var(--cyan));border-radius:3px;padding:8px 11px;background:transparent;color:var(--record-color,var(--cyan));font:700 10px var(--font-mono);cursor:pointer}.record-action:hover,.record-action:focus-visible{background:var(--record-color,var(--cyan));color:var(--bg)}.record-badge{align-self:start;border:1px solid rgba(111,227,180,.36);border-radius:99px;padding:4px 8px;background:var(--mint-soft);color:var(--mint);font:700 9px var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.record-item.tone-cyan{--record-color:var(--cyan)}.record-item.tone-mint{--record-color:var(--mint)}.record-item.tone-gold{--record-color:var(--gold)}.record-item.tone-red{--record-color:var(--red)}.record-item.tone-violet{--record-color:var(--violet)}.stepper{gap:0;justify-content:center}.step{padding-right:0;overflow:visible}.step-line{left:calc(50% + 10px);right:calc(-50% + 10px);width:auto}#sev-p0{color:var(--red)}#sev-p1{color:var(--gold)}#sev-p2{color:var(--violet)}#sev-p3{color:var(--cyan)}#stat-runs.tone{color:var(--mint)}#stat-findings.tone-ok{color:var(--mint)}#stat-findings.tone-alert{color:var(--red)}#stat-ideas.tone-ok{color:var(--mint)}#stat-ideas.tone-pending{color:var(--gold)}#stat-adapters.tone-ok{color:var(--mint)}#stat-adapters.tone-partial{color:var(--gold)}#stat-state.tone-idle{color:var(--cyan)}#stat-state.tone-active{color:var(--violet)}#stat-state.tone-blocked{color:var(--red)}\n footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:26px;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font:10px var(--font-mono)}\n @media(max-width:920px){.grid .card,.grid .card.wide{grid-column:1/-1}.stats{grid-template-columns:repeat(2,1fr)}.adapters,.roster-grid,.mcp-grid{grid-template-columns:repeat(2,1fr)}.titleblock{align-items:flex-start;flex-direction:column}.meta dd{text-align:left}.stepper{gap:0}.cmd:after{position:fixed;left:12px;right:12px;bottom:16px;width:auto;max-width:none;transform:translateY(5px)}.cmd:hover:after,.cmd:focus-visible:after,.cmd:focus:after{transform:none}}\n @media(max-width:560px){.sheet{width:calc(100% - 24px);padding-top:22px}.panel,.card{padding:18px}.grid{gap:14px;margin-bottom:14px}.stats{margin-bottom:14px}.adapters,.roster-grid,.mcp-grid{grid-template-columns:1fr}.cmd:after{position:fixed;left:12px;right:12px;bottom:16px;width:auto;max-width:none;transform:translateY(5px)}.cmd:hover:after,.cmd:focus-visible:after,.cmd:focus:after{transform:none}.meta{grid-template-columns:1fr}.track-tabs{width:100%}.tab{flex:1}.fact{align-items:flex-start}.record-item{grid-template-columns:34px minmax(0,1fr)}.record-action{grid-column:2;justify-self:start}}\n @media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}\n </style>\n</head>\n<body>\n <main class=\"sheet\">\n <header class=\"titleblock\">\n <div>\n <div class=\"eyebrow\">Nexus-DevFlow \u00B7 Enterprise Workspace Status</div>\n <h1 id=\"project-name\">Nexus-DevFlow</h1>\n <div class=\"path\" id=\"project-path\">Connecting...</div>\n <div class=\"badges\">\n <span class=\"badge\" id=\"version-badge\">v2.1.0</span>\n <span class=\"badge\" id=\"health-badge\">health</span>\n <span class=\"badge\" id=\"gate-badge\">Gate: checking</span>\n <span class=\"badge\" id=\"drift-badge\">Drift: checking</span>\n <span class=\"badge\" id=\"track-badge\">track</span>\n </div>\n </div>\n <dl class=\"meta\">\n <dt>Package</dt><dd id=\"package-name\">@jakkrichm/create-nexus-devflow</dd>\n <dt>Adapters</dt><dd id=\"adapter-count\">-</dd>\n <dt>Branch</dt><dd id=\"header-branch\">-</dd>\n <dt>Snapshot</dt><dd id=\"generated-at\">-</dd>\n </dl>\n </header>\n <div class=\"live\"><span class=\"live-dot\" id=\"live-dot\"></span><span id=\"live-label\">Connecting to local dashboard...</span></div>\n\n <section class=\"panel\" id=\"dual-track\">\n <div class=\"panel-head\">\n <span class=\"label\">Dual-Track Delivery Model</span>\n <div class=\"track-tabs\" role=\"tablist\" aria-label=\"Delivery tracks\">\n <button class=\"tab on\" id=\"tab-fast\" role=\"tab\" aria-selected=\"true\" aria-controls=\"view-fast\" data-track=\"fast\"><span>\uD83D\uDE80 Fast-Track \u00B7 4 steps</span><span class=\"tab-active-dot\">\u25CF ACTIVE</span></button>\n <button class=\"tab\" id=\"tab-deep\" role=\"tab\" aria-selected=\"false\" aria-controls=\"view-deep\" data-track=\"deep\"><span>\u265F\uFE0F Deep-Track \u00B7 8 stages</span><span class=\"tab-active-dot\">\u25CF ACTIVE</span></button>\n <button class=\"tab\" id=\"tab-swarm\" role=\"tab\" aria-selected=\"false\" aria-controls=\"view-swarm\" data-track=\"swarm\"><span>\uD83E\uDD16 Multi-Agent Swarm</span></button>\n <button class=\"tab\" id=\"tab-graph\" role=\"tab\" aria-selected=\"false\" aria-controls=\"view-graph\" data-track=\"graph\"><span>\uD83D\uDDFA\uFE0F Code Graph</span></button>\n </div>\n </div>\n <div class=\"track-view on\" id=\"view-fast\" role=\"tabpanel\" aria-labelledby=\"tab-fast\">\n <div class=\"stepper\" id=\"pipeline-fast\"></div>\n <div class=\"track-note\" id=\"note-fast\">Fast-Track for daily features, fixes, UI work and iterative refactoring.</div>\n </div>\n <div class=\"track-view\" id=\"view-deep\" role=\"tabpanel\" aria-labelledby=\"tab-deep\">\n <div class=\"stepper\" id=\"pipeline-deep\"></div>\n <div class=\"track-note\" id=\"note-deep\">Deep-Track for architecture, migrations, security audits and coordinated delivery.</div>\n </div>\n <div class=\"track-view\" id=\"view-swarm\" role=\"tabpanel\" aria-labelledby=\"tab-swarm\">\n <div class=\"section-note\">Role-based specialized AI Subagents roster & execution matrix</div>\n <div class=\"roster-grid\" id=\"swarm-roster\"></div>\n </div>\n <div class=\"track-view\" id=\"view-graph\" role=\"tabpanel\" aria-labelledby=\"tab-graph\">\n <div class=\"section-note\">Semantic dependency graph & instant Blast Radius analyzer</div>\n <div class=\"search-row\">\n <input class=\"search-input\" id=\"graph-file-input\" placeholder=\"Type file path (e.g. packages/create-nexus-devflow/lib/code-graph.ts)...\" />\n <button class=\"search-btn\" id=\"graph-search-btn\" type=\"button\">Analyze Impact</button>\n </div>\n <div class=\"blast-result\" id=\"blast-result\"></div>\n </div>\n </section>\n\n <section class=\"panel next-action\" id=\"next-panel\">\n <div class=\"next-head\"><span class=\"label\">Next Action</span><button class=\"copy\" id=\"next-copy\" type=\"button\">Copy command</button></div>\n <div class=\"command\" id=\"next-command\" aria-live=\"polite\">Loading...</div>\n <div class=\"muted\" id=\"next-reason\"></div>\n </section>\n\n <section class=\"stats\" aria-label=\"Workspace summary\">\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-runs\">-</div><div class=\"stat-label\">Runs released</div></div>\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-findings\">-</div><div class=\"stat-label\">Active findings</div></div>\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-ideas\">-</div><div class=\"stat-label\">Pending ideas</div></div>\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-mcp\">-</div><div class=\"stat-label\">MCP Tools Ready</div></div>\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-state\">-</div><div class=\"stat-label\">Current state</div></div>\n </section>\n\n <section class=\"grid\">\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Nexus-DevFlow</span><span class=\"pill\" id=\"update-pill\">checking</span></div><div class=\"facts\"><div class=\"fact\"><span>Installed / latest</span><span id=\"installed-latest\">-</span></div><div class=\"fact\"><span>Health</span><span id=\"system-health\">-</span></div><div class=\"fact\"><span>Architecture</span><span>3-Pillars + Swarm RAG</span></div></div></article>\n <article class=\"card wide\"><div class=\"card-head\"><span class=\"label\">Current Work</span><span class=\"pill\" id=\"work-pill\">loading</span></div><div class=\"value\" id=\"work-title\">Loading...</div><div class=\"progress\"><span id=\"work-progress\"></span></div><div class=\"muted\" id=\"work-meta\"></div></article>\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Git & Drift</span><span class=\"pill\" id=\"git-pill\">loading</span></div><div class=\"facts\"><div class=\"fact\"><span>Branch</span><span id=\"git-branch\">-</span></div><div class=\"fact\"><span>Working tree</span><span id=\"git-changed\">-</span></div><div class=\"fact\"><span>Drift Status</span><span id=\"git-drift\">-</span></div><div class=\"fact\"><span>Last commit</span><span id=\"git-commit\">-</span></div></div></article>\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Findings Ledger</span><span class=\"value\" id=\"findings-count\">-</span></div><div class=\"severity\"><div class=\"sev\"><b id=\"sev-p0\">0</b><small>P0</small></div><div class=\"sev\"><b id=\"sev-p1\">0</b><small>P1</small></div><div class=\"sev\"><b id=\"sev-p2\">0</b><small>P2</small></div><div class=\"sev\"><b id=\"sev-p3\">0</b><small>P3</small></div></div><ul id=\"findings-list\"></ul></article>\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Completion & Gate</span><span class=\"pill\" id=\"completion-pill\">-</span></div><ul id=\"completion-list\"></ul></article>\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Warnings</span><span class=\"value\" id=\"warnings-count\">-</span></div><ul id=\"warnings-list\"></ul></article>\n </section>\n\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Model Context Protocol (MCP) Tools Hub</span><span class=\"value\" id=\"mcp-count\">12 Tools</span></div><div class=\"section-note\">Typed JSON-RPC tools exposed to AI Coding Assistants</div><div class=\"mcp-grid\" id=\"mcp-list\"></div></section>\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Quick Commands</span><span class=\"muted\">hover or focus for help \u00B7 click to copy</span></div><div class=\"commands\" id=\"command-list\"></div></section>\n <section class=\"grid\"><article class=\"card full\"><div class=\"card-head\"><span class=\"label\">Doctor \u00B7 Health Check</span><span class=\"pill\" id=\"doctor-pill\">-</span></div><div class=\"record-list\" id=\"doctor-list\"></div></article></section>\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Discoveries</span><span class=\"value\" id=\"discovery-count\">-</span></div><div class=\"record-list\" id=\"discovery-list\"></div></section>\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Idea Inbox & Backlog</span><span class=\"value\" id=\"ideas-count\">-</span></div><div class=\"section-note\">From devflow/ideas.md \u00B7 start a selected item with /feature IDEA-xxx</div><div class=\"record-list\" id=\"ideas-list\"></div></section>\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Completed Work Archive</span><span class=\"value\" id=\"history-count\">-</span></div><div class=\"section-note\">Categorized delivery history \u00B7 features, fixes and rollbacks</div><div class=\"record-list\" id=\"history-list\"></div></section>\n <footer><span>Nexus-DevFlow 2.0 Enterprise Dashboard \u00B7 refreshes every 2 seconds</span><span id=\"footer-revision\">snapshot pending</span></footer>\n </main>\n <script>\n const byId = (id) => document.getElementById(id);\n const text = (id, value) => { const node = byId(id); if (node) node.textContent = value == null ? '-' : String(value); };\n const pill = (id, state, label) => { const node = byId(id); if (!node) return; node.className = 'pill ' + (state || 'configured'); node.textContent = label || state || '-'; };\n const list = (id, values, empty) => { const node = byId(id); if (!node) return; node.replaceChildren(); const rows = values.length ? values : [empty]; rows.forEach((value) => { const li = document.createElement('li'); li.textContent = value; if (!values.length) li.className = 'empty'; node.append(li); }); };\n const titleCase = (value) => String(value || '').replaceAll('_',' ').replace(/\\b\\w/g, (c) => c.toUpperCase());\n const FLOW_ICON_NAMES = ['compass','target','document','list','code','shield','report','package'];\n const EMOJI_ICONS = { compass:'\uD83D\uDD0E',target:'\uD83C\uDFAF',document:'\uD83D\uDCC4',list:'\uD83E\uDDE9',code:'\u2699\uFE0F',shield:'\uD83D\uDEE1\uFE0F',report:'\uD83D\uDCCA',package:'\uD83D\uDCE6',bulb:'\u26A1',check:'\u2705',wrench:'\uD83D\uDEE0\uFE0F',rollback:'\u21A9\uFE0F',search:'\uD83D\uDD0D',alert:'\u26A0\uFE0F' };\n function iconImage(name) { const icon = document.createElement('span'); icon.className = 'icon-glyph'; icon.setAttribute('aria-hidden','true'); icon.textContent = EMOJI_ICONS[name] || '\uD83D\uDCC4'; return icon; }\n function decoratePipeline(id) { byId(id)?.querySelectorAll('.step').forEach((step,index) => { step.classList.add('flow-' + index); const icon = document.createElement('span'); icon.className = 'step-icon'; icon.setAttribute('aria-hidden','true'); icon.append(iconImage(FLOW_ICON_NAMES[index] || 'document')); const name = step.querySelector('.step-name'); step.insertBefore(icon,name || null); }); }\n function richText(root,value) { const source = String(value || ''); let cursor = 0; const plain = (end) => { if (end > cursor) root.append(document.createTextNode(source.slice(cursor,end))); cursor = end; }; while (cursor < source.length) { if (source.startsWith('**',cursor)) { const end = source.indexOf('**',cursor + 2); if (end > cursor + 2) { const node = document.createElement('strong'); node.textContent = source.slice(cursor + 2,end); root.append(node); cursor = end + 2; continue; } } if (source[cursor] === '*') { const end = source.indexOf('*',cursor + 1); if (end > cursor + 1) { const node = document.createElement('em'); node.textContent = source.slice(cursor + 1,end); root.append(node); cursor = end + 1; continue; } } if (source.charCodeAt(cursor) === 96) { const end = source.indexOf(String.fromCharCode(96),cursor + 1); if (end > cursor + 1) { const node = document.createElement('code'); node.textContent = source.slice(cursor + 1,end); root.append(node); cursor = end + 1; continue; } } const next = [source.indexOf('**',cursor + 1),source.indexOf('*',cursor + 1),source.indexOf(String.fromCharCode(96),cursor + 1)].filter((index) => index >= 0).sort((a,b) => a-b)[0] ?? source.length; plain(next > cursor ? next : cursor + 1); } }\n function recordCard(options) { const card = document.createElement('article'); card.className = 'record-item tone-' + (options.tone || 'cyan'); const icon = document.createElement('span'); icon.className = 'record-icon'; icon.append(iconImage(options.icon || 'document')); const body = document.createElement('div'); body.className = 'record-body'; const meta = document.createElement('div'); meta.className = 'record-meta'; richText(meta,options.meta); const title = document.createElement('div'); title.className = 'record-title'; richText(title,options.title); const desc = document.createElement('div'); desc.className = 'record-desc'; richText(desc,options.description); body.append(meta,title,desc); card.append(icon,body); if (options.badge) { const badge = document.createElement('span'); badge.className = 'record-badge'; badge.textContent = options.badge; card.append(badge); } return card; }\n function renderRecords(id,items,empty,mapper) { const root = byId(id); root.replaceChildren(); if (!items?.length) { const node = document.createElement('div'); node.className = 'empty'; node.textContent = empty; root.append(node); return; } items.forEach((item,index) => root.append(recordCard(mapper(item,index)))); }\n function renderIdeas(items) { renderRecords('ideas-list',items,'No pending ideas',(item) => ({ icon:'bulb',tone:'gold',meta:item.id,title:item.title,description:(item.description || '\u26A1') + ' \u00B7 ' + (item.feasibility || 'Not scored') })); }\n function renderHistory(items) { const map = { feature:{icon:'package',tone:'cyan'},fix:{icon:'wrench',tone:'gold'},rollback:{icon:'rollback',tone:'red'} }; renderRecords('history-list',(items || []).slice(0,10),'No completed work in history archive',(item) => { const type = String(item.type || 'other').toLowerCase(); const style = map[type] || {icon:'report',tone:'violet'}; return { ...style,meta:type + ' ' + (item.buildPlanItem || ''),title:item.title,description:'',badge:'Released' }; }); }\n function renderDoctor(items) { renderRecords('doctor-list',items,'No doctor checks available',(item) => ({ icon:item.status === 'pass' ? 'check' : 'alert',tone:item.status === 'pass' ? 'mint' : item.status === 'warn' ? 'gold' : 'red',meta:item.status,title:item.name,description:item.message })); }\n function renderDiscoveries(items) { renderRecords('discovery-list',items,'No discoveries recorded',(item) => ({ icon:'search',tone:'mint',meta:item.id,title:item.title,description:'',badge:'Decision: ' + (item.decision || 'Pending') })); }\n\n function renderPipeline(id, nodes) {\n const root = byId(id); root.replaceChildren();\n (nodes || []).forEach((node, index) => {\n const step = document.createElement('div'); step.className = 'step ' + node.state;\n const line = document.createElement('span'); line.className = 'step-line';\n const dot = document.createElement('span'); dot.className = 'step-dot'; dot.textContent = node.state === 'done' ? '\u2713' : String(index + 1).padStart(nodes.length > 4 ? 2 : 1, '0');\n const name = document.createElement('div'); name.className = 'step-name'; name.textContent = node.label;\n const command = document.createElement('div'); command.className = 'step-cmd'; command.textContent = node.command;\n step.append(line, dot, name, command); root.append(step);\n });\n }\n\n function selectTrack(track) {\n document.querySelectorAll('.tab').forEach((node) => { const on = node.dataset.track === track; node.classList.toggle('on', on); node.setAttribute('aria-selected', String(on)); });\n document.querySelectorAll('.track-view').forEach((node) => node.classList.toggle('on', node.id === 'view-' + track));\n }\n\n function wireCopy(button, getValue) {\n button.addEventListener('click', async () => {\n const original = button.textContent;\n button.textContent = 'Copied!';\n try { await navigator.clipboard.writeText(getValue()); }\n catch { button.textContent = 'Copy unavailable'; }\n setTimeout(() => { button.textContent = original; }, 1100);\n });\n }\n\n document.querySelectorAll('.tab').forEach((node) => node.addEventListener('click', () => selectTrack(node.dataset.track)));\n wireCopy(byId('next-copy'), () => byId('next-command').textContent.trim());\n\n function renderCommands(commands) {\n const root = byId('command-list'); root.replaceChildren();\n const allCommands = [...(commands || [])];\n ['nexus-devflow check-gate', 'nexus-devflow drift', 'nexus-devflow reconcile --fix', 'nexus-devflow slice --stage implement', 'nexus-devflow swarm', 'nexus-devflow studio'].forEach(c => {\n if (!allCommands.some(item => item.command === c)) {\n allCommands.push({ name: c.replace('nexus-devflow ', ''), command: c, family: 'companion', description: 'Run ' + c });\n }\n });\n allCommands.forEach((item) => {\n const button = document.createElement('button'); button.type = 'button'; button.className = 'cmd'; button.textContent = item.name; button.dataset.tip = item.description; wireCopy(button, () => item.command); root.append(button);\n });\n }\n\n function renderSwarm(swarm) {\n const root = byId('swarm-roster'); if (!root) return; root.replaceChildren();\n (swarm?.agentRoster || []).forEach(agent => {\n const card = document.createElement('div'); card.className = 'roster-card';\n card.innerHTML = '<strong>' + agent.avatar + ' ' + agent.name + '</strong><div class=\"roster-desc\">' + agent.responsibility + '</div>';\n root.append(card);\n });\n }\n\n function renderMcp(tools) {\n const root = byId('mcp-list'); if (!root) return; root.replaceChildren();\n (tools || []).forEach(t => {\n const card = document.createElement('div'); card.className = 'mcp-card';\n card.innerHTML = '<strong>\u2699\uFE0F ' + t.name + '</strong><div class=\"mcp-desc\">' + t.description + '</div>';\n root.append(card);\n });\n }\n\n byId('graph-search-btn')?.addEventListener('click', async () => {\n const input = byId('graph-file-input'); const res = byId('blast-result');\n if (!input || !res) return;\n const file = input.value.trim();\n if (!file) return;\n res.style.display = 'block'; res.innerHTML = 'Analyzing Blast Radius...';\n try {\n const resp = await fetch('/api/graph?file=' + encodeURIComponent(file));\n const data = await resp.json();\n if (data.error) { res.innerHTML = '<span style=\"color:var(--red)\">' + data.error + '</span>'; return; }\n let html = '<strong>Impact Score: <span style=\"color:var(--gold)\">' + data.impactScore + '</span> | Total Affected: ' + data.totalAffected + ' files</strong><br/><br/>';\n if (data.directDependents?.length) {\n html += '<strong>Direct Dependents:</strong><ul>' + data.directDependents.map(d => '<li>' + d + '</li>').join('') + '</ul>';\n }\n if (data.transitiveDependents?.length) {\n html += '<br/><strong>Transitive Dependents:</strong><ul>' + data.transitiveDependents.map(t => '<li>' + t + '</li>').join('') + '</ul>';\n }\n res.innerHTML = html;\n } catch (e) {\n res.innerHTML = '<span style=\"color:var(--red)\">Error: ' + e.message + '</span>';\n }\n });\n\n function renderSnapshot(data) {\n const status = data.status || {}; const project = status.project || {}; const devflow = status.devflow || {}; const work = status.currentWork || {}; const git = status.git || {}; const findings = status.findings || { active: [], blockers: [] }; const workflow = data.workflow || {}; const update = data.update || {}; const doctor = data.doctor || { checks: [] }; const discoveries = data.discoveries || { recent: [] }; const history = data.history || { items: [], total: 0 }; const ideas = status.ideas || { pending: [], totalPending: 0 }; const gate = data.gatekeeper || { passed: true }; const drift = data.drift || { hasDrift: false };\n\n text('project-name', project.name || 'Nexus-DevFlow'); text('project-path', project.root || ''); text('version-badge', 'v' + (devflow.version || '2.1.0'));\n pill('health-badge', status.health, status.health === 'ok' ? 'Health OK' : 'Health warning');\n pill('gate-badge', gate.passed ? 'ok' : 'blocked', gate.passed ? '\u2714 Gate Passed' : '\u2716 Gate Blocked');\n pill('drift-badge', !drift.hasDrift ? 'ok' : 'warning', !drift.hasDrift ? '\u2714 In Sync' : '\u26A0 Drift Detected');\n pill('track-badge', workflow.track, 'Track ' + titleCase(workflow.track || 'idle'));\n\n text('adapter-count', (devflow.adapters || []).length + ' configured'); text('header-branch', git.branch || 'unknown'); text('generated-at', new Date(data.generatedAt).toLocaleTimeString()); text('footer-revision', 'snapshot ' + data.generatedAt);\n renderPipeline('pipeline-fast', workflow.fast); renderPipeline('pipeline-deep', workflow.deep); decoratePipeline('pipeline-fast'); decoratePipeline('pipeline-deep');\n renderSwarm(data.swarm); renderMcp(data.mcpTools); text('stat-mcp', (data.mcpTools || []).length + ' Ready');\n\n const nextCommand = data.nextAction?.command || status.nextAction?.command || '/feature'; text('next-command', nextCommand); text('next-reason', data.nextAction?.reason || 'Ready for new work.');\n text('stat-runs', history.total || 0); text('stat-findings', (findings.active || []).length); text('stat-ideas', ideas.totalPending || 0); text('stat-state', titleCase(work.state || 'idle'));\n pill('update-pill', update.state, update.state === 'current' ? 'up to date' : update.state); text('installed-latest', (update.installedVersion || '2.1.0') + ' / ' + (update.latestVersion || '2.1.0')); text('system-health', status.health || 'ok');\n pill('work-pill', work.state, work.state || 'idle'); text('work-title', work.title || 'No active delivery run'); const pct = work.total > 0 ? Math.round((work.completed / work.total) * 100) : 0; byId('work-progress').style.width = pct + '%'; text('work-meta', work.state === 'active' ? work.completed + ' of ' + work.total + ' steps completed' : 'Ready');\n pill('git-pill', git.clean ? 'ok' : 'warning', git.clean ? 'clean' : (git.changedFiles || 0) + ' changed'); text('git-branch', git.branch || 'unknown'); text('git-changed', git.clean ? 'clean' : (git.changedFiles || 0) + ' changed files'); text('git-drift', drift.clean ? 'In Sync' : 'Drift detected'); text('git-commit', git.lastCommit || '-');\n text('findings-count', findings.total || 0); ['P0','P1','P2','P3'].forEach((severity) => text('sev-' + severity.toLowerCase(), (findings.active || []).filter((item) => item.severity === severity).length)); list('findings-list', (findings.active || []).map((item) => item.id + ' \u00B7 ' + item.title), 'No active findings');\n pill('completion-pill', status.completion?.state, status.completion?.state || 'unknown'); list('completion-list', status.completion?.blockers || [], work.state === 'idle' ? 'No active run to complete' : 'All readiness checks passed'); text('warnings-count', (status.warnings || []).length); list('warnings-list', (status.warnings || []).map((item) => item.message), 'No active warnings or drift');\n pill('doctor-pill', doctor.failCount ? 'fail' : doctor.warnCount ? 'warning' : 'ok', doctor.passCount + '/' + doctor.totalChecks + ' pass'); renderDoctor(doctor.checks || []);\n text('discovery-count', discoveries.total || 0); renderDiscoveries(discoveries.recent || []); renderCommands(data.commands);\n text('ideas-count', (ideas.totalPending || 0) + ' pending'); renderIdeas(ideas.pending || []); text('history-count', (history.total || 0) + ' released'); renderHistory(history.items || []);\n }\n\n let refreshing = false;\n async function refresh() { if (refreshing) return; refreshing = true; try { const response = await fetch('/api/dashboard'); if (!response.ok) throw new Error('HTTP ' + response.status); renderSnapshot(await response.json()); byId('live-dot').classList.add('on'); text('live-label','Connected \u00B7 live snapshot every 2 seconds'); } catch (error) { byId('live-dot').classList.remove('on'); text('live-label','Disconnected \u00B7 ' + error.message); } finally { refreshing = false; } }\n refresh(); setInterval(refresh, 2000);\n </script>\n</body>\n</html>";
1
+ declare const DASHBOARD_PAGE_HTML = "<!doctype html>\n<html lang=\"th\">\n<head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <title>Nexus-DevFlow Enterprise Dashboard</title>\n <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />\n <link href=\"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Noto+Sans+Thai:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap\" rel=\"stylesheet\">\n <style>\n :root{\n --font-display:\"Google Sans Thai\",\"Google Sans\",\"Noto Sans Thai\",\"Space Grotesk\",sans-serif;\n --font-sans:\"Google Sans Thai\",\"Google Sans\",\"Noto Sans Thai\",sans-serif;\n --font-mono:\"IBM Plex Mono\",monospace;\n --bg:#0a2540;--bg-deep:#061a2e;--panel:rgba(255,255,255,.04);--panel-strong:#0c2b49;\n --ink:#edf6ff;--soft:#b7d3ef;--muted:#7598ba;--line:rgba(191,224,255,.17);--line-strong:rgba(191,224,255,.36);\n --cyan:#7dd8ff;--mint:#6fe3b4;--gold:#f2c14e;--red:#ff7061;--violet:#b8a4ff;\n --mint-soft:rgba(111,227,180,.14);--gold-soft:rgba(242,193,78,.14);--red-soft:rgba(255,112,97,.14);--violet-soft:rgba(184,164,255,.14);\n }\n *{box-sizing:border-box}\n html{color-scheme:dark}\n body{margin:0;min-height:100vh;background-color:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-image:linear-gradient(rgba(125,216,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(125,216,255,.065) 1px,transparent 1px),radial-gradient(circle at 8% -5%,rgba(125,216,255,.16),transparent 42rem);background-size:34px 34px,34px 34px,auto}\n button,input{font:inherit}\n code{font-family:var(--font-mono);color:var(--cyan)}\n .sheet{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:34px 0 64px}\n .titleblock{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;padding-bottom:20px;border-bottom:1px solid var(--line-strong);flex-wrap:wrap}\n .eyebrow,.label{font:600 10px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--cyan)}\n .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:12px}.eyebrow:before{content:\"\";width:20px;height:1px;background:var(--cyan)}\n h1{margin:0 0 6px;font:700 clamp(32px,4vw,48px)/1.05 var(--font-display);letter-spacing:-.03em}\n .path,.muted{color:var(--muted);font-size:12px;line-height:1.65}.path{font-family:var(--font-mono)}\n .badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.badge,.pill{padding:4px 9px;border:1px solid var(--line-strong);border-radius:3px;background:rgba(255,255,255,.025);color:var(--muted);font:600 10px/1.5 var(--font-mono);text-transform:uppercase}\n .ok,.healthy,.current,.ready,.idle{border-color:rgba(111,227,180,.42)!important;color:var(--mint)!important;background:var(--mint-soft)!important}\n .warning,.available,.offline,.blocked,.fail{border-color:rgba(255,112,97,.42)!important;color:var(--red)!important;background:var(--red-soft)!important}\n .active,.deep,.fast,.configured{border-color:rgba(184,164,255,.42)!important;color:var(--violet)!important;background:var(--violet-soft)!important}\n .meta{display:grid;grid-template-columns:auto auto;gap:4px 20px;margin:0;font:11px/1.55 var(--font-mono)}.meta dt{color:var(--muted);text-transform:uppercase}.meta dd{margin:0;color:var(--soft);text-align:right}\n .live{display:flex;align-items:center;gap:8px;margin:14px 0 24px;font:11px var(--font-mono);color:var(--muted)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}.live-dot.on{background:var(--mint);box-shadow:0 0 0 4px rgba(111,227,180,.12)}\n .panel,.card{position:relative;min-width:0;border:1px solid var(--line);border-radius:4px;background:var(--panel)}\n #dual-track{overflow:hidden}\n .stepper{justify-content:center}.step{display:flex;flex-direction:column;align-items:center;text-align:center}.step-icon{display:grid;place-items:center;width:30px;height:30px;margin:10px auto 8px;border:1px solid currentColor;border-radius:8px;background:rgba(255,255,255,.035)}.icon-glyph{display:block;font-size:17px;line-height:1}.step.flow-0,.step.flow-4{color:var(--cyan)}.step.flow-1,.step.flow-5{color:var(--violet)}.step.flow-2,.step.flow-6{color:var(--gold)}.step.flow-3,.step.flow-7{color:var(--mint)}.step .step-name{color:currentColor}.step .step-cmd{color:var(--muted)}\n .panel{padding:24px 26px;margin-bottom:20px}.panel-head,.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.panel-head{margin-bottom:20px}.card-head{margin-bottom:17px}\n .track-tabs{display:flex;gap:7px;flex-wrap:wrap}.tab{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--line-strong);border-radius:99px;background:transparent;color:var(--muted);font:600 10px var(--font-mono);cursor:pointer}.tab:hover,.tab:focus-visible{border-color:var(--cyan);color:var(--cyan);outline:none}.tab.on{background:var(--cyan);border-color:var(--cyan);color:var(--bg-deep)}.tab-active-dot{display:none;padding:2px 6px;border-radius:99px;font:700 8px/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--mint);color:var(--bg-deep)}.tab.is-active-track .tab-active-dot{display:inline-flex;align-items:center;gap:3px;box-shadow:0 0 0 2px rgba(111,227,180,.25)}.tab.on.is-active-track .tab-active-dot{background:var(--bg-deep);color:var(--mint)}\n .track-view{display:none;min-width:0}.track-view.on{display:block}.stepper{display:flex;width:100%;max-width:100%;overflow-x:auto;padding:4px 0 7px}.step{flex:1 1 0;min-width:104px;position:relative;padding-right:12px}.step-line{position:absolute;top:10px;left:21px;right:0;height:1px;background:var(--line-strong)}.step:last-child .step-line{display:none}.step.done .step-line{background:var(--mint)}\n .step-dot{position:relative;z-index:1;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line-strong);background:var(--bg-deep);color:var(--muted);font:700 8px var(--font-mono)}.step.done .step-dot{border-color:var(--mint);color:var(--mint)}.step.active .step-dot{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 4px rgba(242,193,78,.16)}\n .step-name{margin-top:9px;color:var(--soft);font:600 10px/1.35 var(--font-mono)}.step.active .step-name{color:var(--gold)}.step.done .step-name{color:var(--mint)}.step-cmd{margin-top:3px;color:var(--muted);font:9px/1.4 var(--font-mono)}.track-note{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);color:var(--muted);font:11px/1.65 var(--font-mono)}\n .next-action{background:var(--bg-deep);border-color:var(--line-strong)}.next-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.command{margin:8px 0 6px;color:var(--gold);font:700 clamp(22px,3vw,30px)/1.3 var(--font-mono)}.copy{padding:7px 12px;border:1px solid var(--cyan);border-radius:3px;background:transparent;color:var(--cyan);font:600 10px var(--font-mono);cursor:pointer}.copy:hover,.copy:focus-visible{background:var(--cyan);color:var(--bg-deep);outline:none}\n .stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:0 0 20px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--line)}.stat{padding:16px 18px;background:var(--bg-deep)}.stat-value{font:700 25px/1 var(--font-display)}.stat-label{margin-top:6px;color:var(--muted);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}\n .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-bottom:20px}.card{grid-column:span 4;min-width:0;padding:clamp(20px,2.4vw,28px)}.card.wide{grid-column:span 8}.card.full{grid-column:1/-1}.value{font:700 18px/1.4 var(--font-display)}\n .facts{display:grid;gap:10px}.fact{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.fact:last-child{padding-bottom:0;border:0}.fact span:first-child{color:var(--muted);font-size:11px}.fact span:last-child{color:var(--soft);font:11px var(--font-mono);text-align:right;overflow-wrap:anywhere}\n .progress{height:6px;margin:14px 0 9px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.progress span{display:block;height:100%;width:0;background:var(--gold);transition:width .35s ease}\n ul{list-style:none;margin:0;padding:0}li{padding:10px 0;border-bottom:1px dashed var(--line);color:var(--soft);font-size:12px;line-height:1.55}li:last-child{border:0}.empty{color:var(--muted)}\n .severity{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sev{padding:9px 6px;border:1px solid var(--line);border-radius:3px;text-align:center}.sev b{display:block;font:700 17px var(--font-display)}.sev small{color:var(--muted);font:9px var(--font-mono)}\n .commands{display:flex;flex-wrap:wrap;gap:10px}.cmd{position:relative;padding:8px 13px;border:1px solid var(--line-strong);border-radius:3px;background:rgba(255,255,255,.025);color:var(--soft);font:11px var(--font-mono);cursor:pointer}.cmd:hover,.cmd:focus-visible,.cmd:focus{border-color:var(--cyan);color:var(--cyan);outline:2px solid rgba(125,216,255,.2);outline-offset:2px}.cmd:after{content:attr(data-tip);position:absolute;z-index:30;left:50%;bottom:calc(100% + 10px);width:max-content;max-width:min(300px,80vw);padding:9px 11px;border:1px solid var(--line-strong);border-radius:3px;background:#031421;color:var(--soft);font:10px/1.5 var(--font-mono);white-space:normal;text-align:left;opacity:0;visibility:hidden;transform:translate(-50%,5px);box-shadow:0 12px 30px rgba(0,0,0,.4);transition:.15s;pointer-events:none}.cmd:hover:after,.cmd:focus-visible:after,.cmd:focus:after{opacity:1;visibility:visible;transform:translate(-50%,0)}\n .adapters,.roster-grid,.mcp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.adapter,.roster-card,.mcp-card{padding:15px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,.02)}.adapter strong,.roster-card strong,.mcp-card strong{display:block;margin-bottom:6px;text-transform:capitalize}.adapter-path,.roster-desc,.mcp-desc{color:var(--muted);font:10px var(--font-mono);line-height:1.4}.adapter-state{margin-top:9px;font:10px var(--font-mono)}\n .mcp-grid{grid-template-columns:repeat(3,1fr)}\n .search-row{display:flex;gap:10px;margin-bottom:16px}.search-input{flex:1;padding:10px 14px;background:var(--bg-deep);border:1px solid var(--line-strong);border-radius:4px;color:var(--ink);font-family:var(--font-mono);font-size:12px}.search-btn{padding:10px 18px;border:1px solid var(--cyan);border-radius:4px;background:var(--cyan);color:var(--bg-deep);font-weight:700;cursor:pointer}\n .blast-result{padding:16px;border:1px solid var(--line-strong);border-radius:4px;background:var(--bg-deep);margin-top:12px;display:none}\n .section-note{margin:-2px 0 14px;color:var(--muted);font:10px/1.5 var(--font-mono)}.record-list{display:grid;gap:8px}.record-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-left:3px solid var(--record-color,var(--cyan));border-radius:3px;background:rgba(255,255,255,.02)}.record-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:color-mix(in srgb,var(--record-color,var(--cyan)) 14%,transparent)}.record-body{min-width:0}.record-meta{color:var(--record-color,var(--cyan));font:700 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.record-title{margin-top:3px;color:var(--ink);font-weight:650}.record-desc{margin-top:3px;color:var(--soft);font-size:12px}.record-desc:empty{display:none}.record-title strong,.record-desc strong{color:var(--record-color,var(--cyan));font-weight:750}.record-title em,.record-desc em{color:var(--gold)}.record-title code,.record-desc code{padding:1px 4px;border:1px solid var(--line);border-radius:3px;color:var(--cyan);font:10px var(--font-mono)}.record-title a,.record-desc a{color:var(--cyan);text-decoration:underline}.record-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.record-action{border:1px solid var(--record-color,var(--cyan));border-radius:3px;padding:8px 11px;background:transparent;color:var(--record-color,var(--cyan));font:700 10px var(--font-mono);cursor:pointer}.record-action:hover,.record-action:focus-visible{background:var(--record-color,var(--cyan));color:var(--bg)}.record-badge{align-self:start;border:1px solid rgba(111,227,180,.36);border-radius:99px;padding:4px 8px;background:var(--mint-soft);color:var(--mint);font:700 9px var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.record-item.tone-cyan{--record-color:var(--cyan)}.record-item.tone-mint{--record-color:var(--mint)}.record-item.tone-gold{--record-color:var(--gold)}.record-item.tone-red{--record-color:var(--red)}.record-item.tone-violet{--record-color:var(--violet)}.stepper{gap:0;justify-content:center}.step{padding-right:0;overflow:visible}.step-line{left:calc(50% + 10px);right:calc(-50% + 10px);width:auto}#sev-p0{color:var(--red)}#sev-p1{color:var(--gold)}#sev-p2{color:var(--violet)}#sev-p3{color:var(--cyan)}#stat-runs.tone{color:var(--mint)}#stat-findings.tone-ok{color:var(--mint)}#stat-findings.tone-alert{color:var(--red)}#stat-ideas.tone-ok{color:var(--mint)}#stat-ideas.tone-pending{color:var(--gold)}#stat-adapters.tone-ok{color:var(--mint)}#stat-adapters.tone-partial{color:var(--gold)}#stat-state.tone-idle{color:var(--cyan)}#stat-state.tone-active{color:var(--violet)}#stat-state.tone-blocked{color:var(--red)}\n footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:26px;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font:10px var(--font-mono)}\n @media(max-width:920px){.grid .card,.grid .card.wide{grid-column:1/-1}.stats{grid-template-columns:repeat(2,1fr)}.adapters,.roster-grid,.mcp-grid{grid-template-columns:repeat(2,1fr)}.titleblock{align-items:flex-start;flex-direction:column}.meta dd{text-align:left}.stepper{gap:0}.cmd:after{position:fixed;left:12px;right:12px;bottom:16px;width:auto;max-width:none;transform:translateY(5px)}.cmd:hover:after,.cmd:focus-visible:after,.cmd:focus:after{transform:none}}\n @media(max-width:560px){.sheet{width:calc(100% - 24px);padding-top:22px}.panel,.card{padding:18px}.grid{gap:14px;margin-bottom:14px}.stats{margin-bottom:14px}.adapters,.roster-grid,.mcp-grid{grid-template-columns:1fr}.cmd:after{position:fixed;left:12px;right:12px;bottom:16px;width:auto;max-width:none;transform:translateY(5px)}.cmd:hover:after,.cmd:focus-visible:after,.cmd:focus:after{transform:none}.meta{grid-template-columns:1fr}.track-tabs{width:100%}.tab{flex:1}.fact{align-items:flex-start}.record-item{grid-template-columns:34px minmax(0,1fr)}.record-action{grid-column:2;justify-self:start}}\n @media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}\n </style>\n</head>\n<body>\n <main class=\"sheet\">\n <header class=\"titleblock\">\n <div>\n <div class=\"eyebrow\">Nexus-DevFlow \u00B7 Enterprise Workspace Status</div>\n <h1 id=\"project-name\">Nexus-DevFlow</h1>\n <div class=\"path\" id=\"project-path\">Connecting...</div>\n <div class=\"badges\">\n <span class=\"badge\" id=\"version-badge\">v2.5.0</span>\n <span class=\"badge\" id=\"health-badge\">health</span>\n <span class=\"badge\" id=\"gate-badge\">Gate: checking</span>\n <span class=\"badge\" id=\"drift-badge\">Drift: checking</span>\n <span class=\"badge\" id=\"track-badge\">track</span>\n </div>\n </div>\n <dl class=\"meta\">\n <dt>Package</dt><dd id=\"package-name\">@jakkrichm/create-nexus-devflow</dd>\n <dt>Adapters</dt><dd id=\"adapter-count\">-</dd>\n <dt>Branch</dt><dd id=\"header-branch\">-</dd>\n <dt>Snapshot</dt><dd id=\"generated-at\">-</dd>\n </dl>\n </header>\n <div class=\"live\"><span class=\"live-dot\" id=\"live-dot\"></span><span id=\"live-label\">Connecting to local dashboard...</span></div>\n\n <section class=\"panel\" id=\"dual-track\">\n <div class=\"panel-head\">\n <span class=\"label\">Unified Living Spec Model (DevFlow 2.5.0)</span>\n <div class=\"track-tabs\" role=\"tablist\" aria-label=\"Delivery tracks\">\n <button class=\"tab on\" id=\"tab-preflight\" role=\"tab\" aria-selected=\"true\" aria-controls=\"view-preflight\" data-track=\"preflight\"><span>\uD83D\uDD2E Pre-Flight Discovery</span><span class=\"tab-active-dot\">\u25CF ACTIVE</span></button>\n <button class=\"tab\" id=\"tab-fast\" role=\"tab\" aria-selected=\"false\" aria-controls=\"view-fast\" data-track=\"fast\"><span>\u26A1 Living Spec \u00B7 4 steps</span><span class=\"tab-active-dot\">\u25CF ACTIVE</span></button>\n <button class=\"tab\" id=\"tab-swarm\" role=\"tab\" aria-selected=\"false\" aria-controls=\"view-swarm\" data-track=\"swarm\"><span>\uD83E\uDD16 Multi-Agent Swarm</span></button>\n <button class=\"tab\" id=\"tab-graph\" role=\"tab\" aria-selected=\"false\" aria-controls=\"view-graph\" data-track=\"graph\"><span>\uD83D\uDDFA\uFE0F Code Graph</span></button>\n </div>\n </div>\n <div class=\"track-view on\" id=\"view-preflight\" role=\"tabpanel\" aria-labelledby=\"tab-preflight\">\n <div class=\"stepper\" id=\"pipeline-preflight\"></div>\n <div class=\"track-note\" id=\"note-preflight\">Pre-Flight Discovery & Architectural Alignment (/idea, /grill, /brainstorm, /discovery).</div>\n </div>\n <div class=\"track-view\" id=\"view-fast\" role=\"tabpanel\" aria-labelledby=\"tab-fast\">\n <div class=\"stepper\" id=\"pipeline-fast\"></div>\n <div class=\"track-note\" id=\"note-fast\">Single Living Spec (/feature, /implement, /check, /complete) with TDD Discipline & QA Matrix.</div>\n </div>\n <div class=\"track-view\" id=\"view-swarm\" role=\"tabpanel\" aria-labelledby=\"tab-swarm\">\n <div class=\"section-note\">Role-based specialized AI Subagents roster & execution matrix</div>\n <div class=\"roster-grid\" id=\"swarm-roster\"></div>\n </div>\n <div class=\"track-view\" id=\"view-graph\" role=\"tabpanel\" aria-labelledby=\"tab-graph\">\n <div class=\"section-note\">Semantic dependency graph & instant Blast Radius analyzer</div>\n <div class=\"search-row\">\n <input class=\"search-input\" id=\"graph-file-input\" placeholder=\"Type file path (e.g. packages/create-nexus-devflow/lib/code-graph.ts)...\" />\n <button class=\"search-btn\" id=\"graph-search-btn\" type=\"button\">Analyze Impact</button>\n </div>\n <div class=\"blast-result\" id=\"blast-result\"></div>\n </div>\n </section>\n\n <section class=\"panel next-action\" id=\"next-panel\">\n <div class=\"next-head\"><span class=\"label\">Next Action</span><button class=\"copy\" id=\"next-copy\" type=\"button\">Copy command</button></div>\n <div class=\"command\" id=\"next-command\" aria-live=\"polite\">Loading...</div>\n <div class=\"muted\" id=\"next-reason\"></div>\n </section>\n\n <section class=\"stats\" aria-label=\"Workspace summary\">\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-runs\">-</div><div class=\"stat-label\">Runs released</div></div>\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-findings\">-</div><div class=\"stat-label\">Active findings</div></div>\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-ideas\">-</div><div class=\"stat-label\">Pending ideas</div></div>\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-mcp\">-</div><div class=\"stat-label\">MCP Tools Ready</div></div>\n <div class=\"stat\"><div class=\"stat-value\" id=\"stat-state\">-</div><div class=\"stat-label\">Current state</div></div>\n </section>\n\n <section class=\"grid\">\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Nexus-DevFlow</span><span class=\"pill\" id=\"update-pill\">checking</span></div><div class=\"facts\"><div class=\"fact\"><span>Installed / latest</span><span id=\"installed-latest\">-</span></div><div class=\"fact\"><span>Health</span><span id=\"system-health\">-</span></div><div class=\"fact\"><span>Architecture</span><span>3-Pillars + Swarm RAG</span></div></div></article>\n <article class=\"card wide\"><div class=\"card-head\"><span class=\"label\">Current Work</span><span class=\"pill\" id=\"work-pill\">loading</span></div><div class=\"value\" id=\"work-title\">Loading...</div><div class=\"progress\"><span id=\"work-progress\"></span></div><div class=\"muted\" id=\"work-meta\"></div></article>\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Git & Drift</span><span class=\"pill\" id=\"git-pill\">loading</span></div><div class=\"facts\"><div class=\"fact\"><span>Branch</span><span id=\"git-branch\">-</span></div><div class=\"fact\"><span>Working tree</span><span id=\"git-changed\">-</span></div><div class=\"fact\"><span>Drift Status</span><span id=\"git-drift\">-</span></div><div class=\"fact\"><span>Last commit</span><span id=\"git-commit\">-</span></div></div></article>\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Findings Ledger</span><span class=\"value\" id=\"findings-count\">-</span></div><div class=\"severity\"><div class=\"sev\"><b id=\"sev-p0\">0</b><small>P0</small></div><div class=\"sev\"><b id=\"sev-p1\">0</b><small>P1</small></div><div class=\"sev\"><b id=\"sev-p2\">0</b><small>P2</small></div><div class=\"sev\"><b id=\"sev-p3\">0</b><small>P3</small></div></div><ul id=\"findings-list\"></ul></article>\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Completion & Gate</span><span class=\"pill\" id=\"completion-pill\">-</span></div><ul id=\"completion-list\"></ul></article>\n <article class=\"card\"><div class=\"card-head\"><span class=\"label\">Warnings</span><span class=\"value\" id=\"warnings-count\">-</span></div><ul id=\"warnings-list\"></ul></article>\n </section>\n\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Model Context Protocol (MCP) Tools Hub</span><span class=\"value\" id=\"mcp-count\">12 Tools</span></div><div class=\"section-note\">Typed JSON-RPC tools exposed to AI Coding Assistants</div><div class=\"mcp-grid\" id=\"mcp-list\"></div></section>\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Quick Commands</span><span class=\"muted\">hover or focus for help \u00B7 click to copy</span></div><div class=\"commands\" id=\"command-list\"></div></section>\n <section class=\"grid\"><article class=\"card full\"><div class=\"card-head\"><span class=\"label\">Doctor \u00B7 Health Check</span><span class=\"pill\" id=\"doctor-pill\">-</span></div><div class=\"record-list\" id=\"doctor-list\"></div></article></section>\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Discoveries</span><span class=\"value\" id=\"discovery-count\">-</span></div><div class=\"record-list\" id=\"discovery-list\"></div></section>\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Idea Inbox & Backlog</span><span class=\"value\" id=\"ideas-count\">-</span></div><div class=\"section-note\">From devflow/ideas.md \u00B7 start a selected item with /feature IDEA-xxx</div><div class=\"record-list\" id=\"ideas-list\"></div></section>\n <section class=\"card full panel\"><div class=\"card-head\"><span class=\"label\">Completed Work Archive</span><span class=\"value\" id=\"history-count\">-</span></div><div class=\"section-note\">Categorized delivery history \u00B7 features, fixes and rollbacks</div><div class=\"record-list\" id=\"history-list\"></div></section>\n <footer><span>Nexus-DevFlow 2.5.0 Enterprise Dashboard \u00B7 refreshes every 2 seconds</span><span id=\"footer-revision\">snapshot pending</span></footer>\n </main>\n <script>\n const byId = (id) => document.getElementById(id);\n const text = (id, value) => { const node = byId(id); if (node) node.textContent = value == null ? '-' : String(value); };\n const pill = (id, state, label) => { const node = byId(id); if (!node) return; node.className = 'pill ' + (state || 'configured'); node.textContent = label || state || '-'; };\n const list = (id, values, empty) => { const node = byId(id); if (!node) return; node.replaceChildren(); const rows = values.length ? values : [empty]; rows.forEach((value) => { const li = document.createElement('li'); li.textContent = value; if (!values.length) li.className = 'empty'; node.append(li); }); };\n const titleCase = (value) => String(value || '').replaceAll('_',' ').replace(/\bw/g, (c) => c.toUpperCase());\n const FLOW_ICON_NAMES = ['target','code','shield','package'];\n const EMOJI_ICONS = { compass:'\uD83D\uDD0E',discovery:'\uD83D\uDD0E',target:'\uD83C\uDFAF',document:'\uD83D\uDCC4',list:'\uD83E\uDDE9',code:'\u2699\uFE0F',shield:'\uD83E\uDDEA',report:'\uD83D\uDCCA',package:'\uD83D\uDCE6',bulb:'\uD83D\uDCA1',check:'\u2705',wrench:'\uD83D\uDEE0\uFE0F',rollback:'\u21A9\uFE0F',search:'\uD83D\uDD0D',alert:'\u26A0\uFE0F',grill:'\uD83D\uDD25',brainstorm:'\uD83D\uDCAD',idea:'\uD83D\uDCA1' };\n function iconImage(name) { const icon = document.createElement('span'); icon.className = 'icon-glyph'; icon.setAttribute('aria-hidden','true'); icon.textContent = EMOJI_ICONS[name] || '\uD83D\uDCC4'; return icon; }\n function decoratePipeline(id) { byId(id)?.querySelectorAll('.step').forEach((step,index) => { step.classList.add('flow-' + index); const icon = document.createElement('span'); icon.className = 'step-icon'; icon.setAttribute('aria-hidden','true'); const cmd = step.querySelector('.step-cmd')?.textContent?.replace('/','').split(' ')[0] || ''; const iconKey = id.includes('preflight') ? (cmd || ['idea','grill','brainstorm','discovery'][index] || 'search') : (FLOW_ICON_NAMES[index] || 'document'); icon.append(iconImage(iconKey)); const name = step.querySelector('.step-name'); step.insertBefore(icon,name || null); }); }\n function richText(root,value) { const source = String(value || ''); let cursor = 0; const plain = (end) => { if (end > cursor) root.append(document.createTextNode(source.slice(cursor,end))); cursor = end; }; while (cursor < source.length) { if (source.startsWith('**',cursor)) { const end = source.indexOf('**',cursor + 2); if (end > cursor + 2) { const node = document.createElement('strong'); node.textContent = source.slice(cursor + 2,end); root.append(node); cursor = end + 2; continue; } } if (source[cursor] === '*') { const end = source.indexOf('*',cursor + 1); if (end > cursor + 1) { const node = document.createElement('em'); node.textContent = source.slice(cursor + 1,end); root.append(node); cursor = end + 1; continue; } } if (source.charCodeAt(cursor) === 96) { const end = source.indexOf(String.fromCharCode(96),cursor + 1); if (end > cursor + 1) { const node = document.createElement('code'); node.textContent = source.slice(cursor + 1,end); root.append(node); cursor = end + 1; continue; } } const next = [source.indexOf('**',cursor + 1),source.indexOf('*',cursor + 1),source.indexOf(String.fromCharCode(96),cursor + 1)].filter((index) => index >= 0).sort((a,b) => a-b)[0] ?? source.length; plain(next > cursor ? next : cursor + 1); } }\n function recordCard(options) { const card = document.createElement('article'); card.className = 'record-item tone-' + (options.tone || 'cyan'); const icon = document.createElement('span'); icon.className = 'record-icon'; icon.append(iconImage(options.icon || 'document')); const body = document.createElement('div'); body.className = 'record-body'; const meta = document.createElement('div'); meta.className = 'record-meta'; richText(meta,options.meta); const title = document.createElement('div'); title.className = 'record-title'; richText(title,options.title); const desc = document.createElement('div'); desc.className = 'record-desc'; richText(desc,options.description); body.append(meta,title,desc); card.append(icon,body); if (options.badge) { const badge = document.createElement('span'); badge.className = 'record-badge'; badge.textContent = options.badge; card.append(badge); } return card; }\n function renderRecords(id,items,empty,mapper) { const root = byId(id); root.replaceChildren(); if (!items?.length) { const node = document.createElement('div'); node.className = 'empty'; node.textContent = empty; root.append(node); return; } items.forEach((item,index) => root.append(recordCard(mapper(item,index)))); }\n function renderIdeas(items) { renderRecords('ideas-list',items,'No pending ideas',(item) => ({ icon:'bulb',tone:'gold',meta:item.id,title:item.title,description:(item.description || '\u26A1') + ' \u00B7 ' + (item.feasibility || 'Not scored') })); }\n function renderHistory(items) { const map = { feature:{icon:'package',tone:'cyan'},fix:{icon:'wrench',tone:'gold'},rollback:{icon:'rollback',tone:'red'} }; renderRecords('history-list',(items || []).slice(0,10),'No completed work in history archive',(item) => { const type = String(item.type || 'other').toLowerCase(); const style = map[type] || {icon:'report',tone:'violet'}; return { ...style,meta:type + ' ' + (item.buildPlanItem || ''),title:item.title,description:'',badge:'Released' }; }); }\n function renderDoctor(items) { renderRecords('doctor-list',items,'No doctor checks available',(item) => ({ icon:item.status === 'pass' ? 'check' : 'alert',tone:item.status === 'pass' ? 'mint' : item.status === 'warn' ? 'gold' : 'red',meta:item.status,title:item.name,description:item.message })); }\n function renderDiscoveries(items) { renderRecords('discovery-list',items,'No discoveries recorded',(item) => ({ icon:'search',tone:'mint',meta:item.id,title:item.title,description:'',badge:'Decision: ' + (item.decision || 'Pending') })); }\n\n function renderPipeline(id, nodes) {\n const root = byId(id); root.replaceChildren();\n (nodes || []).forEach((node, index) => {\n const step = document.createElement('div'); step.className = 'step ' + node.state;\n const line = document.createElement('span'); line.className = 'step-line';\n const dot = document.createElement('span'); dot.className = 'step-dot'; dot.textContent = node.state === 'done' ? '\u2713' : String(index + 1).padStart(nodes.length > 4 ? 2 : 1, '0');\n const name = document.createElement('div'); name.className = 'step-name'; name.textContent = node.label;\n const command = document.createElement('div'); command.className = 'step-cmd'; command.textContent = node.command;\n step.append(line, dot, name, command); root.append(step);\n });\n }\n\n let userHasSwitchedTab = false;\n function selectTrack(track) {\n document.querySelectorAll('.tab').forEach((node) => { const on = node.dataset.track === track; node.classList.toggle('on', on); node.setAttribute('aria-selected', String(on)); });\n document.querySelectorAll('.track-view').forEach((node) => node.classList.toggle('on', node.id === 'view-' + track));\n }\n\n function wireCopy(button, getValue) {\n button.addEventListener('click', async () => {\n const original = button.textContent;\n button.textContent = 'Copied!';\n try { await navigator.clipboard.writeText(getValue()); }\n catch { button.textContent = 'Copy unavailable'; }\n setTimeout(() => { button.textContent = original; }, 1100);\n });\n }\n\n document.querySelectorAll('.tab').forEach((node) => node.addEventListener('click', () => { userHasSwitchedTab = true; selectTrack(node.dataset.track); }));\n wireCopy(byId('next-copy'), () => byId('next-command').textContent.trim());\n\n function renderCommands(commands) {\n const root = byId('command-list'); root.replaceChildren();\n const allCommands = [...(commands || [])];\n ['nexus-devflow check-gate', 'nexus-devflow drift', 'nexus-devflow reconcile --fix', 'nexus-devflow slice --stage implement', 'nexus-devflow swarm', 'nexus-devflow studio'].forEach(c => {\n if (!allCommands.some(item => item.command === c)) {\n allCommands.push({ name: c.replace('nexus-devflow ', ''), command: c, family: 'companion', description: 'Run ' + c });\n }\n });\n allCommands.forEach((item) => {\n const button = document.createElement('button'); button.type = 'button'; button.className = 'cmd'; button.textContent = item.name; button.dataset.tip = item.description; wireCopy(button, () => item.command); root.append(button);\n });\n }\n\n function renderSwarm(swarm) {\n const root = byId('swarm-roster'); if (!root) return; root.replaceChildren();\n (swarm?.agentRoster || []).forEach(agent => {\n const card = document.createElement('div'); card.className = 'roster-card';\n card.innerHTML = '<strong>' + agent.avatar + ' ' + agent.name + '</strong><div class=\"roster-desc\">' + agent.responsibility + '</div>';\n root.append(card);\n });\n }\n\n function renderMcp(tools) {\n const root = byId('mcp-list'); if (!root) return; root.replaceChildren();\n (tools || []).forEach(t => {\n const card = document.createElement('div'); card.className = 'mcp-card';\n card.innerHTML = '<strong>\u2699\uFE0F ' + t.name + '</strong><div class=\"mcp-desc\">' + t.description + '</div>';\n root.append(card);\n });\n }\n\n byId('graph-search-btn')?.addEventListener('click', async () => {\n const input = byId('graph-file-input'); const res = byId('blast-result');\n if (!input || !res) return;\n const file = input.value.trim();\n if (!file) return;\n res.style.display = 'block'; res.innerHTML = 'Analyzing Blast Radius...';\n try {\n const resp = await fetch('/api/graph?file=' + encodeURIComponent(file));\n const data = await resp.json();\n if (data.error) { res.innerHTML = '<span style=\"color:var(--red)\">' + data.error + '</span>'; return; }\n let html = '<strong>Impact Score: <span style=\"color:var(--gold)\">' + data.impactScore + '</span> | Total Affected: ' + data.totalAffected + ' files</strong><br/><br/>';\n if (data.directDependents?.length) {\n html += '<strong>Direct Dependents:</strong><ul>' + data.directDependents.map(d => '<li>' + d + '</li>').join('') + '</ul>';\n }\n if (data.transitiveDependents?.length) {\n html += '<br/><strong>Transitive Dependents:</strong><ul>' + data.transitiveDependents.map(t => '<li>' + t + '</li>').join('') + '</ul>';\n }\n res.innerHTML = html;\n } catch (e) {\n res.innerHTML = '<span style=\"color:var(--red)\">Error: ' + e.message + '</span>';\n }\n });\n\n function renderSnapshot(data) {\n const status = data.status || {}; const project = status.project || {}; const devflow = status.devflow || {}; const work = status.currentWork || {}; const git = status.git || {}; const findings = status.findings || { active: [], blockers: [] }; const workflow = data.workflow || {}; const update = data.update || {}; const doctor = data.doctor || { checks: [] }; const discoveries = data.discoveries || { recent: [] }; const history = data.history || { items: [], total: 0 }; const ideas = status.ideas || { pending: [], totalPending: 0 }; const gate = data.gatekeeper || { passed: true }; const drift = data.drift || { hasDrift: false };\n\n text('project-name', project.name || 'Nexus-DevFlow'); text('project-path', project.root || ''); text('version-badge', 'v' + (devflow.version || '2.5.0'));\n pill('health-badge', status.health, status.health === 'ok' ? 'Health OK' : 'Health warning');\n pill('gate-badge', gate.passed ? 'ok' : 'blocked', gate.passed ? '\u2714 Gate Passed' : '\u2716 Gate Blocked');\n pill('drift-badge', !drift.hasDrift ? 'ok' : 'warning', !drift.hasDrift ? '\u2714 In Sync' : '\u26A0 Drift Detected');\n pill('track-badge', workflow.track, 'Track ' + titleCase(workflow.track || 'idle'));\n\n text('adapter-count', (devflow.adapters || []).length + ' configured'); text('header-branch', git.branch || 'unknown'); text('generated-at', new Date(data.generatedAt).toLocaleTimeString()); text('footer-revision', 'snapshot ' + data.generatedAt);\n renderPipeline('pipeline-preflight', workflow.deep || workflow.preflight); renderPipeline('pipeline-fast', workflow.fast); decoratePipeline('pipeline-preflight'); decoratePipeline('pipeline-fast');\n if (!userHasSwitchedTab) {\n if (work.state === 'active' || workflow.track === 'fast') {\n selectTrack('fast');\n } else {\n selectTrack('preflight');\n }\n }\n renderSwarm(data.swarm); renderMcp(data.mcpTools); text('stat-mcp', (data.mcpTools || []).length + ' Ready');\n\n const nextCommand = data.nextAction?.command || status.nextAction?.command || '/feature'; text('next-command', nextCommand); text('next-reason', data.nextAction?.reason || 'Ready for new work.');\n text('stat-runs', history.total || 0); text('stat-findings', (findings.active || []).length); text('stat-ideas', ideas.totalPending || 0); text('stat-state', titleCase(work.state || 'idle'));\n pill('update-pill', update.state, update.state === 'current' ? 'up to date' : update.state); text('installed-latest', (update.installedVersion || '2.5.0') + ' / ' + (update.latestVersion || '2.5.0')); text('system-health', status.health || 'ok');\n pill('work-pill', work.state, work.state || 'idle'); text('work-title', work.title || 'No active delivery run'); const pct = work.total > 0 ? Math.round((work.completed / work.total) * 100) : 0; byId('work-progress').style.width = pct + '%'; text('work-meta', work.state === 'active' ? work.completed + ' of ' + work.total + ' steps completed' : 'Ready');\n pill('git-pill', git.clean ? 'ok' : 'warning', git.clean ? 'clean' : (git.changedFiles || 0) + ' changed'); text('git-branch', git.branch || 'unknown'); text('git-changed', git.clean ? 'clean' : (git.changedFiles || 0) + ' changed files'); text('git-drift', drift.clean ? 'In Sync' : 'Drift detected'); text('git-commit', git.lastCommit || '-');\n text('findings-count', findings.total || 0); ['P0','P1','P2','P3'].forEach((severity) => text('sev-' + severity.toLowerCase(), (findings.active || []).filter((item) => item.severity === severity).length)); list('findings-list', (findings.active || []).map((item) => item.id + ' \u00B7 ' + item.title), 'No active findings');\n pill('completion-pill', status.completion?.state, status.completion?.state || 'unknown'); list('completion-list', status.completion?.blockers || [], work.state === 'idle' ? 'No active run to complete' : 'All readiness checks passed'); text('warnings-count', (status.warnings || []).length); list('warnings-list', (status.warnings || []).map((item) => item.message), 'No active warnings or drift');\n pill('doctor-pill', doctor.failCount ? 'fail' : doctor.warnCount ? 'warning' : 'ok', doctor.passCount + '/' + doctor.totalChecks + ' pass'); renderDoctor(doctor.checks || []);\n text('discovery-count', discoveries.total || 0); renderDiscoveries(discoveries.recent || []); renderCommands(data.commands);\n text('ideas-count', (ideas.totalPending || 0) + ' pending'); renderIdeas(ideas.pending || []); text('history-count', (history.total || 0) + ' released'); renderHistory(history.items || []);\n }\n\n window.__INITIAL_SNAPSHOT__ = null;\n if (window.__INITIAL_SNAPSHOT__) {\n try {\n renderSnapshot(window.__INITIAL_SNAPSHOT__);\n byId('live-dot').classList.add('on');\n text('live-label','Connected \u00B7 live snapshot every 2 seconds');\n } catch (e) {\n console.error('Initial hydration error:', e);\n }\n }\n\n let refreshing = false;\n async function refresh() { if (refreshing) return; refreshing = true; try { const response = await fetch('/api/dashboard'); if (!response.ok) throw new Error('HTTP ' + response.status); renderSnapshot(await response.json()); byId('live-dot').classList.add('on'); text('live-label','Connected \u00B7 live snapshot every 2 seconds'); } catch (error) { byId('live-dot').classList.remove('on'); text('live-label','Disconnected \u00B7 ' + error.message); } finally { refreshing = false; } }\n if (!window.__INITIAL_SNAPSHOT__) { refresh(); }\n setInterval(refresh, 2000);\n </script>\n</body>\n</html>";
2
2
  export { DASHBOARD_PAGE_HTML };