{
  "budgets": [
    {
      "name": "lcp",
      "maxValue": 2500,
      "description": "Largest Contentful Paint should be under 2.5s"
    },
    {
      "name": "fid",
      "maxValue": 100,
      "description": "First Input Delay should be under 100ms"
    },
    {
      "name": "cls",
      "maxValue": 0.1,
      "description": "Cumulative Layout Shift should be under 0.1"
    },
    {
      "name": "fcp",
      "maxValue": 1800,
      "description": "First Contentful Paint should be under 1.8s"
    },
    {
      "name": "ttfb",
      "maxValue": 800,
      "description": "Time to First Byte should be under 800ms"
    },
    {
      "name": "bundle-size",
      "maxSizeKB": 500,
      "description": "Individual bundle size should be under 500KB"
    },
    {
      "name": "total-size",
      "maxSizeKB": 2000,
      "description": "Total bundle size should be under 2MB"
    }
  ],
  "performance": {
    "budgets": [
      {
        "path": "/*",
        "timings": [
          {
            "metric": "first-contentful-paint",
            "budget": 2000
          },
          {
            "metric": "largest-contentful-paint",
            "budget": 2500
          },
          {
            "metric": "first-meaningful-paint",
            "budget": 2000
          },
          {
            "metric": "speed-index",
            "budget": 3000
          },
          {
            "metric": "interactive",
            "budget": 3000
          },
          {
            "metric": "total-blocking-time",
            "budget": 300
          },
          {
            "metric": "cumulative-layout-shift",
            "budget": 0.1
          },
          {
            "metric": "max-potential-fid",
            "budget": 130
          }
        ],
        "resourceSizes": [
          {
            "resourceType": "script",
            "budget": 300
          },
          {
            "resourceType": "total",
            "budget": 500
          },
          {
            "resourceType": "image",
            "budget": 100
          },
          {
            "resourceType": "stylesheet",
            "budget": 50
          },
          {
            "resourceType": "font",
            "budget": 50
          }
        ],
        "resourceCounts": [
          {
            "resourceType": "script",
            "budget": 10
          },
          {
            "resourceType": "total",
            "budget": 50
          },
          {
            "resourceType": "image",
            "budget": 20
          },
          {
            "resourceType": "stylesheet",
            "budget": 5
          },
          {
            "resourceType": "font",
            "budget": 5
          }
        ]
      }
    ]
  },
  "timing": {
    "budgets": [
      {
        "path": "/*",
        "timings": [
          {
            "metric": "first-contentful-paint",
            "budget": 2000
          },
          {
            "metric": "largest-contentful-paint",
            "budget": 2500
          },
          {
            "metric": "first-meaningful-paint",
            "budget": 2000
          },
          {
            "metric": "speed-index",
            "budget": 3000
          },
          {
            "metric": "interactive",
            "budget": 3000
          },
          {
            "metric": "total-blocking-time",
            "budget": 300
          },
          {
            "metric": "cumulative-layout-shift",
            "budget": 0.1
          },
          {
            "metric": "max-potential-fid",
            "budget": 130
          }
        ]
      }
    ]
  },
  "resourceSizes": {
    "budgets": [
      {
        "path": "/*",
        "resourceSizes": [
          {
            "resourceType": "script",
            "budget": 300
          },
          {
            "resourceType": "total",
            "budget": 500
          },
          {
            "resourceType": "image",
            "budget": 100
          },
          {
            "resourceType": "stylesheet",
            "budget": 50
          },
          {
            "resourceType": "font",
            "budget": 50
          }
        ]
      }
    ]
  },
  "resourceCounts": {
    "budgets": [
      {
        "path": "/*",
        "resourceCounts": [
          {
            "resourceType": "script",
            "budget": 10
          },
          {
            "resourceType": "total",
            "budget": 50
          },
          {
            "resourceType": "image",
            "budget": 20
          },
          {
            "resourceType": "stylesheet",
            "budget": 5
          },
          {
            "resourceType": "font",
            "budget": 5
          }
        ]
      },
      {
        "path": "/blog",
        "timings": [
          {
            "metric": "first-contentful-paint",
            "budget": 2000
          },
          {
            "metric": "largest-contentful-paint",
            "budget": 2500
          },
          {
            "metric": "first-meaningful-paint",
            "budget": 2000
          },
          {
            "metric": "speed-index",
            "budget": 3000
          },
          {
            "metric": "interactive",
            "budget": 3000
          },
          {
            "metric": "total-blocking-time",
            "budget": 300
          },
          {
            "metric": "cumulative-layout-shift",
            "budget": 0.1
          },
          {
            "metric": "max-potential-fid",
            "budget": 130
          }
        ],
        "resourceSizes": [
          {
            "resourceType": "script",
            "budget": 300
          },
          {
            "resourceType": "total",
            "budget": 500
          },
          {
            "resourceType": "image",
            "budget": 100
          },
          {
            "resourceType": "stylesheet",
            "budget": 50
          },
          {
            "resourceType": "font",
            "budget": 50
          }
        ],
        "resourceCounts": [
          {
            "resourceType": "script",
            "budget": 10
          },
          {
            "resourceType": "total",
            "budget": 50
          },
          {
            "resourceType": "image",
            "budget": 20
          },
          {
            "resourceType": "stylesheet",
            "budget": 5
          },
          {
            "resourceType": "font",
            "budget": 5
          }
        ]
      },
      {
        "path": "/blog/*",
        "timings": [
          {
            "metric": "first-contentful-paint",
            "budget": 2000
          },
          {
            "metric": "largest-contentful-paint",
            "budget": 2500
          },
          {
            "metric": "first-meaningful-paint",
            "budget": 2000
          },
          {
            "metric": "speed-index",
            "budget": 3000
          },
          {
            "metric": "interactive",
            "budget": 3000
          },
          {
            "metric": "total-blocking-time",
            "budget": 300
          },
          {
            "metric": "cumulative-layout-shift",
            "budget": 0.1
          },
          {
            "metric": "max-potential-fid",
            "budget": 130
          }
        ],
        "resourceSizes": [
          {
            "resourceType": "script",
            "budget": 300
          },
          {
            "resourceType": "total",
            "budget": 500
          },
          {
            "resourceType": "image",
            "budget": 100
          },
          {
            "resourceType": "stylesheet",
            "budget": 50
          },
          {
            "resourceType": "font",
            "budget": 50
          }
        ],
        "resourceCounts": [
          {
            "resourceType": "script",
            "budget": 10
          },
          {
            "resourceType": "total",
            "budget": 50
          },
          {
            "resourceType": "image",
            "budget": 20
          },
          {
            "resourceType": "stylesheet",
            "budget": 5
          },
          {
            "resourceType": "font",
            "budget": 5
          }
        ]
      }
    ]
  }
}
