(projectRoot, report)
| 381 | } |
| 382 | |
| 383 | function writeReport(projectRoot, report) { |
| 384 | const outDir = path.join(projectRoot, '.planning', 'next-actions'); |
| 385 | fs.mkdirSync(outDir, { recursive: true }); |
| 386 | const outPath = path.join(outDir, 'latest.md'); |
| 387 | fs.writeFileSync(outPath, render(report), 'utf8'); |
| 388 | return normalizePath(path.relative(projectRoot, outPath)); |
| 389 | } |
| 390 | |
| 391 | function renderApprovalCapsule(capsule) { |
| 392 | const lines = [ |
no test coverage detected