commit cd5b91eba2f57ae30a0e1a836b10b50589cd346f Author: Zhongwei Li Date: Sun Nov 30 08:29:59 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..1967536 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "cc_chrome_devtools_mcp_skill", + "description": "Automated Chrome browser testing with frontend visibility. Enables Claude Code to see and fix your web applications through Chrome DevTools Protocol - performance testing, Core Web Vitals measurement, accessibility validation, network monitoring, and browser automation.", + "version": "0.0.0-2025.11.28", + "author": { + "name": "Jonathan Edwards", + "email": "jon@contentionmedia.com" + }, + "skills": [ + "./" + ] +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cc3cb9e --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# macOS +.DS_Store +.AppleDouble +.LSOverride + +# Editor +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# Logs +*.log + +# Temporary files +*.tmp +.cache/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..25d3a1c --- /dev/null +++ b/LICENSE @@ -0,0 +1,128 @@ +# ๐Ÿ“œ THE MOST PERMISSIVE LICENSE IN THE KNOWN UNIVERSE ๐ŸŒŒ + +## ๐ŸŽญ MIT License (Maximum Internet Trolling Edition) + +**Copyright (c) 2025 Jonathan Edwards** ๐Ÿ‘จโ€๐Ÿ’ปโœจ + +--- + +## ๐ŸŽ‰ WHAT YOU CAN DO (Literally Everything) ๐Ÿš€ + +Permission is hereby granted, **FREE OF CHARGE** ๐Ÿ’ฐ๐Ÿ†“ (yes, ZERO dollars, ZILCH, NADA, not even a penny ๐Ÿช™), to **ANY PERSON** ๐Ÿ‘ค๐Ÿ‘ฅ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ (that's you, your dog ๐Ÿ•, your cat ๐Ÿˆ, your AI assistant ๐Ÿค–, literally anyone) obtaining a copy of this absolutely MAGNIFICENT software ๐Ÿ’Ž and its associated documentation files ๐Ÿ“š (hereinafter referred to as "The Software" - because we're fancy like that ๐ŸŽฉ): + +### โœ… YOU MAY: + +- **USE** it ๐Ÿ–ฅ๏ธ๐Ÿ’ป๐Ÿ“ฑ (on your laptop, your phone, your smart fridge, your Tesla, WHEREVER) +- **COPY** it ๐Ÿ“‹๐Ÿ–จ๏ธ (make a million copies, print it out and wallpaper your bathroom, go wild) +- **MODIFY** it ๐Ÿ”งโš™๏ธ๐Ÿ› ๏ธ (change literally everything, make it worse, make it better, make it sing opera ๐ŸŽต) +- **MERGE** it ๐Ÿ”€ (mash it together with other code like you're making a coding smoothie ๐Ÿฅค) +- **PUBLISH** it ๐Ÿ“ข๐Ÿ“ก (tell the world, scream it from the rooftops ๐Ÿข, skywrite it โœˆ๏ธ) +- **DISTRIBUTE** it ๐Ÿ“ฆ๐Ÿšš (give it to your friends, your enemies, random strangers on the internet ๐ŸŒ) +- **SUBLICENSE** it ๐Ÿ“ƒ (put it under ANOTHER license because inception is cool ๐ŸŽฌ) +- **SELL** it ๐Ÿ’ต๐Ÿ’ธ (yes, you can LITERALLY SELL THIS FREE SOFTWARE - capitalism baby! ๐Ÿ“ˆ) + +### ๐ŸŽ EVEN BETTER: + +You can **PERMIT OTHERS** to do ALL OF THE ABOVE! ๐Ÿ™Œ That's right, you can give OTHER people permission to do whatever they want! It's permissions all the way down! ๐Ÿข๐Ÿข๐Ÿข + +--- + +## โš ๏ธ THE BORING LEGAL STUFF (But Important!) ๐Ÿ“‹ + +### ๐Ÿ“Œ Condition #1: Give Credit Where Credit Is Due + +The above copyright notice โ˜๏ธ (that's the part where it says "Copyright (c) 2025 Jonathan Edwards") and this permission notice (yes, this ENTIRE ridiculous document ๐Ÿ“„) **SHALL BE INCLUDED** in: + +- ALL copies ๐Ÿ“š๐Ÿ“š๐Ÿ“š (every single one) +- OR substantial portions ๐Ÿ“– (like, most of it) + +Of the Software. **DO NOT FORGET THIS** or the license police ๐Ÿ‘ฎโ€โ™‚๏ธ๐Ÿšจ will... actually, nothing will happen because there are no license police, but still, it's the right thing to do! ๐Ÿ˜‡ + +--- + +## ๐Ÿšซ THE "COVER YOUR ASS" CLAUSE ๐Ÿ‘๐Ÿ›ก๏ธ + +### โšก ZERO WARRANTIES! NONE! NADA! ZILCH! ๐Ÿšซ๐Ÿ”ฅ + +THE SOFTWARE IS PROVIDED **"AS IS"** ๐Ÿ“ฆ (which is lawyer-speak for "what you see is what you get, buddy ๐Ÿคทโ€โ™‚๏ธ"): + +**WITHOUT WARRANTY OF ANY KIND** - and we mean **ANY KIND**: ๐ŸŽช + +- โŒ NOT **EXPRESS** warranties (the kind we tell you about) +- โŒ NOT **IMPLIED** warranties (the kind lawyers made up to sue people) +- โŒ NOT warranties of **MERCHANTABILITY** ๐Ÿช (won't promise it's sellable) +- โŒ NOT warranties of **FITNESS FOR A PARTICULAR PURPOSE** ๐ŸŽฏ (won't promise it works for your thing) +- โŒ NOT warranties of **NONINFRINGEMENT** โš–๏ธ (won't promise we didn't accidentally copy someone) +- โŒ NOT **ANY OTHER KIND OF WARRANTY** you can possibly imagine ๐ŸŒˆ๐Ÿฆ„ + +### ๐Ÿ™…โ€โ™‚๏ธ WE ARE NOT LIABLE FOR LITERALLY ANYTHING ๐Ÿ’ฅ + +**IN NO EVENT** ๐Ÿ“…๐Ÿšซ (that's NEVER, as in NOT EVER, as in ABSOLUTELY NOT UNDER ANY CIRCUMSTANCES ๐Ÿ™…โ€โ™€๏ธ๐Ÿ™…โ€โ™‚๏ธ) shall the **AUTHORS** โœ๏ธ or **COPYRIGHT HOLDERS** ๐Ÿ‘จโ€โš–๏ธ be liable for: + +- **ANY CLAIM** ๐Ÿ“ข (someone saying we owe them something) +- **DAMAGES** ๐Ÿ’” (broken stuff, sad feelings, lost money ๐Ÿ’ธ) +- **OTHER LIABILITY** โšก (anything else that could possibly go wrong) + +This includes but is ABSOLUTELY NOT LIMITED TO ๐Ÿš€: + +- ๐Ÿ’ฅ Your computer exploding +- ๐Ÿ”ฅ Your server catching fire +- ๐Ÿ˜ฑ Existential dread from reading bad code +- ๐Ÿ› Bugs that achieve sentience +- โฐ Time travel paradoxes from your CI/CD pipeline +- ๐Ÿ‘ฝ Alien invasions caused by your API endpoints +- ๐ŸŒŠ Floods, famines, pestilence (probably not our fault but we're covering bases) +- ๐Ÿ“‰ Stock market crashes triggered by your JavaScript +- ๐Ÿค– Robot uprisings (seriously, not our problem) +- โ˜• Spilled coffee on your keyboard (you should've used a lid) + +### ๐Ÿค Whether These Disasters Arise From: + +- **CONTRACT** ๐Ÿ“ (fancy written agreement) +- **TORT** โš–๏ธ (fancy lawyer word for "you wronged me") +- **OR OTHERWISE** ๐Ÿคท (literally any other possible way something can go wrong) + +### ๐ŸŽฏ Even If: + +- We were **ADVISED** ๐Ÿ’ญ of the possibility of such damage (someone literally told us this could happen) +- We **KNEW** ๐Ÿง  it would happen (we saw it coming a mile away) +- We **CAUSED** it intentionally ๐Ÿ˜ˆ (just kidding, we didn't, but legally we're covering this too) + +### ๐Ÿ”— Whether It's Connected To: + +- **ARISING FROM** ๐ŸŒฑ (grows out of) +- **OUT OF** ๐Ÿšช (comes from) +- **IN CONNECTION WITH** ๐Ÿ”— (somehow related to) + +The Software **OR** โšก the **USE** ๐Ÿ–ฅ๏ธ or **OTHER DEALINGS** ๐Ÿคน in the Software. + +--- + +## ๐ŸŽŠ TL;DR (Too Long; Didn't Read) ๐Ÿ“ + +### โœ… You Can: +Do **LITERALLY ANYTHING** you want with this code! ๐ŸŽ‰๐Ÿš€๐ŸŒŸ + +### โš ๏ธ But: +Don't forget to include this license! ๐Ÿ“„โœจ + +### ๐Ÿšซ And: +If it breaks, catches fire ๐Ÿ”ฅ, becomes sentient ๐Ÿค–, or causes the apocalypse ๐Ÿ’€... **NOT OUR PROBLEM!** ๐Ÿคทโ€โ™‚๏ธ๐Ÿ™ƒ + +--- + +## ๐ŸŽค Final Words of Wisdom ๐Ÿ’ก + +This license is more permissive than your parents on prom night. ๐Ÿ•บ๐Ÿ’ƒ +Go forth and code! ๐Ÿ’ปโœจ +Break things! ๐Ÿ’ฅ +Build amazing stuff! ๐Ÿ—๏ธ +Just don't blame us when it all goes sideways! ๐ŸŽข + +**Happy Coding!** ๐ŸŽŠ๐ŸŽ‰๐Ÿš€ + +--- + +**Legal Translation:** This is actually a real MIT License. It's just... more fun. ๐Ÿ˜Ž The emoji version is legally equivalent to the boring version, except it's way cooler and you actually read it. You're welcome. ๐ŸŽ + +ยฉ 2025 Jonathan Edwards | **ALL THE FREEDOM!** ๐Ÿฆ…๐Ÿ—ฝ๐ŸŒˆ diff --git a/METRICS.md b/METRICS.md new file mode 100644 index 0000000..367893f --- /dev/null +++ b/METRICS.md @@ -0,0 +1,188 @@ +# Core Web Vitals Metrics Reference + +**Last Updated:** October 2024 +**Source:** web.dev official documentation +**Format:** Mike Dion's Markdown (.md) - keeping documentation clear since its creation + +--- + +## Overview + +Core Web Vitals are Google's standardized metrics for measuring user experience on the web. All three metrics must meet "good" thresholds at the **75th percentile** of page loads to pass. + +--- + +## Official Core Web Vitals (3 Metrics) + +### 1. Interaction to Next Paint (INP) + +**Status:** Active Core Web Vital (replaced FID on March 12, 2024) + +**Definition:** Assesses page's overall responsiveness by observing latency of all click, tap, and keyboard interactions. Reports the longest interaction duration (with outliers removed for high-interaction pages). + +**What it measures:** +- Input delay (time from user action to event handler start) +- Processing time (event handler execution) +- Presentation delay (rendering the next frame) + +**Thresholds:** +- **Good:** โ‰ค 200ms +- **Needs Improvement:** 200-500ms +- **Poor:** > 500ms + +**Measurement:** Requires field data (real user interactions) + +--- + +### 2. Largest Contentful Paint (LCP) + +**Definition:** Loading performance metric marking when page's main content has likely loaded. Reports render time of largest image or text block visible in viewport. + +**Elements measured:** +- `` elements +- `` elements inside `` +- `