Cursor rule
.cursor/rules/mcp-puppeteer.mdcCursor rules
Quality
66/100
Scores the file, not the repository.Length
453 words
15 headings · 12 code blocksRepository
206
— · pushed 397 days agoLast changed
3 days ago
First indexed 3 days ago.1# 🎭 Puppeteer MCP Integration for CursorRIPER Σ2# Symbol: Υ (Upsilon)3# Version: 1.0.045## 📋 Service Definition6```7service = "Browser Automation Operations"8symbol = "Υ"9requires = ["@modelcontextprotocol/server-puppeteer", "@executeautomation/playwright-mcp-server"]10```1112## 🔧 Operation Mapping13```14Υ_ops = {15 browser: {16 launch: "puppeteer_navigate / playwright_navigate",17 close: "puppeteer_close / playwright_close",18 screenshot: "puppeteer_screenshot / playwright_screenshot"19 },20 page: {21 navigate: "puppeteer_navigate / playwright_navigate",22 click: "puppeteer_click / playwright_click",23 fill: "puppeteer_fill / playwright_fill",24 select: "puppeteer_select / playwright_select",25 hover: "puppeteer_hover / playwright_hover"26 },27 test: {28 record: "start_codegen_session",29 end_record: "end_codegen_session",30 assert: "playwright_expect_response + playwright_assert_response"31 },32 scrape: {33 content: "playwright_get_visible_text",34 html: "playwright_get_visible_html",35 evaluate: "puppeteer_evaluate / playwright_evaluate"36 }37}38```3940## 🔒 Mode Restrictions41```42MΥ = {43 Ω₁: [scrape_*, screenshot], # RESEARCH: data gathering44 Ω₂: [navigate, screenshot, scrape_*], # INNOVATE: exploration45 Ω₃: [all_ops], # PLAN: all operations46 Ω₄: [test_*, navigate, click, fill, assert], # EXECUTE: testing focus47 Ω₅: [screenshot, scrape_*, get_console_logs] # REVIEW: verification48}49```5051## 🔑 Permission Matrix52```53ℙΥ = {54 create: [Ω₃, Ω₄], # PLAN/EXECUTE can create tests55 read: [Ω₁, Ω₂, Ω₃, Ω₄, Ω₅], # All can read page content56 update: [Ω₃, Ω₄], # PLAN/EXECUTE can interact57 delete: [] # No delete operations58}59```6061## 📍 Context Integration62```63Γ_browser = {64 active_session: browser_instance,65 current_url: page.url(),66 test_recordings: codegen_sessions[],67 console_logs: captured_logs[],68 screenshots: saved_screenshots[]69}70```7172## ⚡ Command Shortcuts73```74SΥ = {75 !pn: "navigate to URL",76 !ps: "take screenshot",77 !pc: "click element",78 !pf: "fill form field",79 !pt: "start test recording",80 !pe: "end test recording",81 !pg: "get page content"82}83```8485## 🛡️ Protection Levels86```87ΨΥ = {88 navigate: Ψ₂, # GUARDED - URL changes89 click: Ψ₃, # INFO - user actions90 fill: Ψ₂, # GUARDED - form data91 test_record: Ψ₅, # TEST - test recording92 evaluate: Ψ₆ # CRITICAL - code execution93}94```9596## 🔄 Mode-Specific Behaviors97```98apply_browser_op(op, mode) = {99 check: op ∈ MΥ[mode] ? proceed : deny("Operation not allowed in " + mode),100 protect: op ∈ ΨΥ ? apply_protection(ΨΥ[op]) : continue,101 track: {102 log_action(op, selector, value),103 capture_state(screenshot_if_needed)104 },105 execute: Υ_ops[category][operation]()106}107```108109## 🎯 Testing Integration110```111test_workflow = {112 start: {113 mode: require(Ω₃ ∨ Ω₄),114 init: start_codegen_session({115 outputPath: "./tests/",116 includeComments: true117 })118 },119 record: {120 actions: [navigate, click, fill, assert],121 capture: automatic_via_codegen122 },123 end: {124 generate: end_codegen_session(sessionId),125 output: test_file_with_playwright_code126 }127}128```129130## 📸 Screenshot Management131```132screenshot_policy = {133 Ω₁: "on_demand",134 Ω₂: "key_pages",135 Ω₃: "all_interactions",136 Ω₄: "test_failures",137 Ω₅: "final_state"138}139```140141## 🔌 Feature Detection142```143detect_browser_automation() = {144 puppeteer: tools.find("@modelcontextprotocol-server-puppeteer:*"),145 playwright: tools.find("@executeautomation-playwright-mcp-server:*"),146 preference: playwright > puppeteer, # Playwright preferred147 fallback: warn("No browser automation available")148}149```150151## 🔗 Integration with Other Services152```153Υ×Θ = test_and_commit() = {154 1: Υ.start_test_recording(),155 2: Υ.execute_test_actions(),156 3: Υ.end_test_recording() → test_file,157 4: Θ.create_branch("test/" + test_name),158 5: Θ.push_files([test_file]),159 6: Θ.create_pull_request()160}161```162
Also in johnpeterman72/CursorRIPER.sigma
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| johnpeterman72/CursorRIPER.sigma.cursor/rules/enterprise.mdc · 206 | Cursor rules | securitydeploymentdocs | 54/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/bmad-roles.mdc · 206 | Cursor rules | securitydeployment | 54/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/codeprotection.mdc · 206 | Cursor rules | do-notagent-behaviour | 55/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/cursorriper-sigma-mcp.mdc · 206 | Cursor rules | setuptestapideployment+2 | 76/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/mcp-docker.mdc · 206 | Cursor rules | securitydeployment | 54/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/mcp-filesystem.mdc · 206 | Cursor rules | performance | 48/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/mcp-github.mdc · 206 | Cursor rules | setupgitdeployment | 50/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/mcp-websearch.mdc · 206 | Cursor rules | deploymentdo-not | 61/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/prd-system.mdc · 206 | Cursor rules | archdatabaseperformancedeployment | 58/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/quality-gates.mdc · 206 | Cursor rules | deployment | 54/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma-mcp.mdc · 206 | Cursor rules | setuptestdatabaseapi+3 | 55/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma1.mdc · 206 | Cursor rules | performance | 48/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma101codeprotect.mdc · 206 | Cursor rules | performance | 48/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma102.mdc · 206 | Cursor rules | performance | 48/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma103.mdc · 206 | Cursor rules | securityperformance | 40/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma104.mdc · 206 | Cursor rules | securityperformance | 40/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma105.mdc · 206 | Cursor rules | securityperformance | 40/100 | 3 days ago |
Diff against .cursor/rules/enterprise.mdc Diff against .cursor/rules/bmad-roles.mdc Diff against .cursor/rules/codeprotection.mdc Diff against .cursor/rules/cursorriper-sigma-mcp.mdc Diff against .cursor/rules/mcp-docker.mdc Diff against .cursor/rules/mcp-filesystem.mdc Diff against .cursor/rules/mcp-github.mdc Diff against .cursor/rules/mcp-websearch.mdc Diff against .cursor/rules/prd-system.mdc Diff against .cursor/rules/quality-gates.mdc Diff against .cursor/rules/ripersigma-mcp.mdc Diff against .cursor/rules/ripersigma1.mdc Diff against .cursor/rules/ripersigma101codeprotect.mdc Diff against .cursor/rules/ripersigma102.mdc Diff against .cursor/rules/ripersigma103.mdc Diff against .cursor/rules/ripersigma104.mdc Diff against .cursor/rules/ripersigma105.mdc
