runemarkv0.3.1

Showcase

Each example shows real output produced by runemark itself, from files in the project repository. Input on the left, output on the right.

Verdicts

site/src/showcase.tsDetail: Verdicts →
renderStatus('passed', 'Configuration validated cleanly')
renderStatus('warning', '3 non-critical findings detected')
renderStatus('failed', 'Build failed: 2 errors')
renderStatus('action-required', 'Sign in to continue the deployment')
renderStatus('skipped', 'Link check disabled for drafts')
renderStatus('info', 'Using cached results from 09:41')
✔ Configuration validated cleanly
⚠ 3 non-critical findings detected
✖ Build failed: 2 errors
➜ Sign in to continue the deployment
⊝ Link check disabled for drafts
ℹ Using cached results from 09:41
  • renderStatus
  • verdict

Compact report

site/src/showcase.tsDetail: Compact report →
renderReport({
  schemaVersion: 1,
  title: "Site audit v1.2.0",
  verdict: "warning",
  metrics: [
    {
      key: "Errors",
      value: "0"
    },
    {
      key: "Warnings",
      value: "4",
      trend: "negative",
      delta: "+2"
    },
    {
      key: "Score",
      value: "94/100",
      trend: "positive",
      delta: "+5%"
    }
  ],
  groups: [
    {
      title: "Accessibility violations",
      findings: [
        {
          message: "Image missing alt attribute",
          tone: "warning",
          ruleId: "a11y/img-alt",
          confidence: "high",
          badge: {
            label: "quick win",
            tone: "success"
          },
          location: {
            kind: "file",
            value: "src/pages/index.astro",
            line: 42,
            column: 10
          },
          remedy: "Add an alt=\"…\" description to the <img> tag."
        },
        {
          message: "Low contrast ratio on hero button",
          tone: "warning",
          ruleId: "a11y/contrast",
          location: {
            kind: "file",
            value: "src/components/Hero.astro",
            line: 18
          }
        }
      ]
    }
  ],
  nextSteps: [
    {
      text: "Run the auto-fixer for formatting issues",
      command: "audit --fix"
    }
  ]
}, { width: 80 })
⚠ Site audit v1.2.0

  Errors: 0   Warnings: 4 (+2)   Score: 94/100 (+5%)

● Accessibility violations (2)
  - [quick win] Image missing alt attribute [a11y/img-alt] (high confidence)
    at 
  - Low contrast ratio on hero button [a11y/contrast]
    at 

Next steps:
  • Run the auto-fixer for formatting issues
    $ audit --fix
  • renderReport
  • compact

Detailed report

site/src/showcase.tsDetail: Detailed report →
renderReport({ ...audit, detailLevel: 'detailed' }, { width: 80 })
⚠ Site audit v1.2.0

  Errors: 0   Warnings: 4 (+2)   Score: 94/100 (+5%)

● Accessibility violations (2)
  - [quick win] Image missing alt attribute [a11y/img-alt] (high confidence)
    at 
    Remedy: Add an alt="…" description to the <img> tag.
  - Low contrast ratio on hero button [a11y/contrast]
    at 

Next steps:
  • Run the auto-fixer for formatting issues
    $ audit --fix
  • renderReport
  • detailed

Narrow terminal

site/src/showcase.tsDetail: Narrow terminal →
renderReport({
  schemaVersion: 1,
  title: "Content audit",
  verdict: "warning",
  metrics: [
    {
      key: "Errors",
      value: "0"
    },
    {
      key: "Warnings",
      value: "4",
      trend: "negative",
      delta: "+2"
    },
    {
      key: "Score",
      value: "94/100",
      trend: "positive",
      delta: "+5%"
    }
  ],
  groups: [
    {
      title: "Navigation",
      findings: [
        {
          message: "The main navigation contains more links than can be reached comfortably with a keyboard",
          tone: "warning",
          ruleId: "ux/nav-size"
        },
        {
          message: "Two landmarks share the label \"Menu\", so screen reader users cannot tell them apart",
          tone: "warning",
          ruleId: "a11y/landmark-label"
        }
      ]
    }
  ]
}, { width: 44 })
⚠ Content audit

  Errors: 0
  Warnings: 4 (+2)
  Score: 94/100 (+5%)

● Navigation (2)
  - The main navigation contains more links
    than can be reached comfortably with a
    keyboard [ux/nav-size]
  - Two landmarks share the label "Menu", so
    screen reader users cannot tell them
    apart [a11y/landmark-label]
  • renderReport
  • width

Error block

site/src/showcase.tsDetail: Error block →
renderError({
  heading: "Required toolchain is unavailable",
  explanation: "The configured version is not installed.",
  remedy: "Install the required toolchain:",
  commands: [
    "toolchain install stable"
  ]
})
✖ Required toolchain is unavailable
  The configured version is not installed.

  Remedy: Install the required toolchain:

  $ toolchain install stable
  • renderError

File changes

site/src/showcase.tsDetail: File changes →
renderDiff({
  changes: [
    {
      action: "added",
      path: "src/components/Footer.astro",
      delta: "+1.2 kB"
    },
    {
      action: "modified",
      path: "src/layouts/Layout.astro"
    },
    {
      action: "renamed",
      path: "src/styles/site.css"
    },
    {
      action: "deleted",
      path: "src/legacy/Footer.jsx"
    }
  ]
})
  + CREATE src/components/Footer.astro (+1.2 kB)
  ~ UPDATE src/layouts/Layout.astro
  → RENAME src/styles/site.css
  - DELETE src/legacy/Footer.jsx
  • renderDiff