Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

### Added
- `npm run eval:mcp`: the same question about a local page with a known answer, asked to an agent with the webperf MCP server, with Chrome DevTools MCP and the webperf skills, and with Chrome DevTools MCP alone, graded on the diagnosis and measured in tokens, turns and time. It runs by hand, not in CI.
- The CLI reaches version 1.2.0 (see [`cli/CHANGELOG.md`](cli/CHANGELOG.md)): `--header` for pages behind an access proxy, sent only to the origin of the measured URL, `--cpu` and `--network` for CPU and network throttling with the presets of DevTools, and `--own-domains` for the domains of the site that count as first party.
- A Claude Code plugin, `webperf`, in a marketplace of this repository (`.claude-plugin/marketplace.json`). It starts the MCP server of the CLI with `npx -y webperf-snippets@1 mcp`, pinned to the major version, and installs with `/plugin install webperf --marketplace nucliweb/webperf-snippets`.
- `npm run smoke:cli-package`: packs the CLI as the publish workflow does, installs it in an empty folder and checks its MCP server without Chromium and after `npx playwright install chromium`. It runs by hand before a release of the CLI.
- LCP-Subparts splits the Resource Load Time into the wait for the server and the download of the resource, in `details.subParts.resourceLoadTime.waiting` and `.download`, from its Resource Timing entry. When the wait is the larger part of the slowest phase, the console recommends the server, CDN and cache instead of compressing the image. The split is missing when another origin hides its timing (no `Timing-Allow-Origin`).

Expand Down
7 changes: 6 additions & 1 deletion cli/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). The CL

## [Unreleased]

---

## [1.2.0] — 2026-10-22

### Added
- `--header "Name: value"`, repeatable, sends request headers to the origin of the measured URL only, for pages behind an access proxy such as Cloudflare Access. Third parties never receive them, so their requests keep their CORS behavior and timings.
- `--cpu <factor>` and `--network <preset>` measure under CPU and network throttling, with the network presets of DevTools (`fast-4g`, `slow-4g`, `3g`). The reports name the conditions under their header, and the JSON output and the `--report-to` payload carry them in `throttling`.
Expand Down Expand Up @@ -145,7 +149,8 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). The CL

---

[Unreleased]: https://github.com/nucliweb/webperf-snippets/compare/cli-v1.1.0...HEAD
[Unreleased]: https://github.com/nucliweb/webperf-snippets/compare/cli-v1.2.0...HEAD
[1.2.0]: https://github.com/nucliweb/webperf-snippets/compare/cli-v1.1.0...cli-v1.2.0
[1.1.0]: https://github.com/nucliweb/webperf-snippets/compare/cli-v1.0.0...cli-v1.1.0
[1.0.0]: https://github.com/nucliweb/webperf-snippets/compare/cli-v0.5.0...cli-v1.0.0
[0.5.0]: https://github.com/nucliweb/webperf-snippets/compare/cli-v0.4.1...cli-v0.5.0
Expand Down
2 changes: 1 addition & 1 deletion cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ Without `--report-to` the CLI makes no external calls. With it, the results are
"timestamp": "2026-05-06T10:00:00.000Z",
"navMs": 1240,
"results": [],
"meta": { "viewport": "mobile", "waitMs": 3000, "cli_version": "1.1.0" }
"meta": { "viewport": "mobile", "waitMs": 3000, "cli_version": "1.2.0" }
}
```

Expand Down
2 changes: 1 addition & 1 deletion cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "webperf-snippets",
"version": "1.1.0",
"version": "1.2.0",
"mcpName": "io.github.nucliweb/webperf-snippets",
"description": "Run curated WebPerf Snippets headlessly via Playwright. Diagnose Core Web Vitals beyond what Lighthouse exposes.",
"type": "module",
Expand Down
4 changes: 2 additions & 2 deletions cli/server.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
"source": "github",
"subfolder": "cli"
},
"version": "1.1.0",
"version": "1.2.0",
"packages": [
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "webperf-snippets",
"version": "1.1.0",
"version": "1.2.0",
"transport": {
"type": "stdio"
},
Expand Down
2 changes: 1 addition & 1 deletion content/CLI.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ Without `--report-to` the CLI makes no external calls. With it, the results are
"timestamp": "2026-05-06T10:00:00.000Z",
"navMs": 1240,
"results": [],
"meta": { "viewport": "mobile", "waitMs": 3000, "cli_version": "1.1.0" }
"meta": { "viewport": "mobile", "waitMs": 3000, "cli_version": "1.2.0" }
}
```

Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading