report: storebound report writes one shareable, self-contained readiness page (.storebound/reports/readiness-<date>.html; --md, --json, --no-open, --offline, --out) from scan, check and validate: a verdict per store (Ready to submit / N blockers / Not checked with the reason), findings per store by severity with guideline, evidence, fix and console button, the owner's compliance questions as a checklist, secrets masked; storebound.dev look, light / dark, print; desktop Checks > Report (same code path, opens through project_reveal) and its Markdown export on the same renderer; read-only MCP tool report

This commit is contained in:
CRTkafa 2026-10-18 01:42:03 +08:00
parent 6d95ea00f5
commit af349b3db1
18 changed files with 792 additions and 12 deletions

View file

@ -422,6 +422,14 @@ export const en = {
'checks.problem': 'Problem',
'checks.warning': 'Warning',
'checks.validate': 'Store readiness',
'checks.report': 'Shareable report',
'checks.reportSub': 'One page for both stores with every finding, fix and console link, and the questions only you can answer. Opens in your browser; nothing is sent to a store.',
'checks.reportOpen': 'Report',
'checks.reportFailed': 'The report was not written',
'checks.reportBlockers': '{count} blocker(s)',
'checks.reportNotChecked': 'not checked (no store key)',
'checks.reportNotSetUp': 'not set up',
'checks.reportReady': 'ready to submit',
'checks.validateSub': 'Read-only report from both stores, blockers in order',
'checks.run': 'Run the report',
'checks.validateEmpty': 'Readiness not checked yet',

View file

@ -424,6 +424,14 @@ export const tr: Record<keyof typeof en, string> = {
'checks.problem': 'Sorun',
'checks.warning': 'Uyarı',
'checks.validate': 'Mağaza hazırlığı',
'checks.report': 'Paylaşılabilir rapor',
'checks.reportSub': 'İki mağaza için tek sayfa: her bulgu, düzeltme ve konsol bağlantısı, yalnızca senin yanıtlayabileceğin sorular. Tarayıcında açılır; mağazaya hiçbir şey gönderilmez.',
'checks.reportOpen': 'Rapor',
'checks.reportFailed': 'Rapor yazılamadı',
'checks.reportBlockers': '{count} engel',
'checks.reportNotChecked': 'kontrol edilmedi (mağaza anahtarı yok)',
'checks.reportNotSetUp': 'kurulmamış',
'checks.reportReady': 'gönderime hazır',
'checks.validateSub': 'İki mağazadan salt okunur rapor, engeller sırayla',
'checks.run': 'Raporu çalıştır',
'checks.validateEmpty': 'Hazırlık henüz kontrol edilmedi',