Scorecard: honojs/hono

Public GitHub Actions data, last 30 days. Updated 6/23/2026, 8:52:06 PM.

6
Workflows
268
Runs (30d)
152
Minutes (30d)
$0.91
Estimated cost (30d)
8.9
Runs / day
3h 0m
Mean recovery (MTTR)

Waste detected

Estimated $0.56/mo (93 min) recoverable across 15 patterns.

Workflow runs on both push and pull_request — ci

~$0.24/mo · ~40 min

Pushing to a branch and opening a PR triggers two runs. Pick one (usually `pull_request`) and exclude branch pushes for non-default branches.

on:
  push:
    branches: [main]
  pull_request:

Missing dependency cache — ci

~$0.17/mo · ~28 min

Set `cache: 'npm'` (or `'pip'`, `'yarn'`, etc.) on your setup-* action, or add `actions/cache@v4` for the install dir.

- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: 'npm'

Missing dependency cache — autofix.ci

~$0.06/mo · ~10 min

Set `cache: 'npm'` (or `'pip'`, `'yarn'`, etc.) on your setup-* action, or add `actions/cache@v4` for the install dir.

- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: 'npm'

No concurrency control — ci

~$0.05/mo · ~9 min

Add a `concurrency:` block keyed on branch to cancel superseded runs when devs push twice quickly.

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

Missing dependency cache — cr

~$0.03/mo · ~5 min

Set `cache: 'npm'` (or `'pip'`, `'yarn'`, etc.) on your setup-* action, or add `actions/cache@v4` for the install dir.

- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: 'npm'

Missing dependency cache — release

~$0.01/mo · ~1 min

Set `cache: 'npm'` (or `'pip'`, `'yarn'`, etc.) on your setup-* action, or add `actions/cache@v4` for the install dir.

- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: 'npm'

No job timeout — autofix.ci

~$0.00/mo · ~0 min

No job sets `timeout-minutes`, so a hung step can run to GitHub's 6-hour default. Add `timeout-minutes` to each job.

jobs:
  build:
    runs-on: ubuntu-latest
    timeout-minutes: 15

No path filters on triggers — autofix.ci

~$0.00/mo · ~0 min

Runs on every push/PR with no `paths:` filter, so docs-only changes still trigger full CI. Add a `paths:` filter if that's common.

on:
  pull_request:
    paths:
      - 'src/**'
      - 'package.json'

No job timeout — ci

~$0.00/mo · ~0 min

No job sets `timeout-minutes`, so a hung step can run to GitHub's 6-hour default. Add `timeout-minutes` to each job.

jobs:
  build:
    runs-on: ubuntu-latest
    timeout-minutes: 15

Artifacts at default retention — ci

~$0.00/mo · ~0 min

`upload-artifact` has no `retention-days`, so artifacts keep up to 90 days (storage cost). Set e.g. `retention-days: 7`.

- uses: actions/upload-artifact@v4
  with:
    name: build
    path: dist/
    retention-days: 7

No job timeout — cr

~$0.00/mo · ~0 min

No job sets `timeout-minutes`, so a hung step can run to GitHub's 6-hour default. Add `timeout-minutes` to each job.

jobs:
  build:
    runs-on: ubuntu-latest
    timeout-minutes: 15

No path filters on triggers — cr

~$0.00/mo · ~0 min

Runs on every push/PR with no `paths:` filter, so docs-only changes still trigger full CI. Add a `paths:` filter if that's common.

on:
  pull_request:
    paths:
      - 'src/**'
      - 'package.json'

No concurrency control — Close stale issues with "not bug" label

~$0.00/mo · ~0 min

Add a `concurrency:` block keyed on branch to cancel superseded runs when devs push twice quickly.

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

No job timeout — Close stale issues with "not bug" label

~$0.00/mo · ~0 min

No job sets `timeout-minutes`, so a hung step can run to GitHub's 6-hour default. Add `timeout-minutes` to each job.

jobs:
  build:
    runs-on: ubuntu-latest
    timeout-minutes: 15

No job timeout — release

~$0.00/mo · ~0 min

No job sets `timeout-minutes`, so a hung step can run to GitHub's 6-hour default. Add `timeout-minutes` to each job.

jobs:
  build:
    runs-on: ubuntu-latest
    timeout-minutes: 15

Want this on every push?

Install the GitSpider GitHub App — free to watch your repos with the full dashboard + waste detection. PR comments and Slack alerts when CI slows or fails come with Team.

Install & monitor this repo →

Not ready to install? Get this report by email. No spam — unsubscribe anytime.

Share this scorecard: https://gitspider.fly.dev/scan/honojs/hono
Add the badge to your README

Live CI-health badge → GitSpider badge

[![GitSpider](https://gitspider.fly.dev/badge/honojs/hono.svg)](https://gitspider.fly.dev/scan/honojs/hono)