cursorflow


Namecursorflow JSON
Version 2.2.8 PyPI version JSON
download
home_pageNone
Summary๐Ÿ”ฅ Complete page intelligence for AI-driven development with Hot Reload Intelligence - captures DOM, network, console, performance, HMR events, and comprehensive page analysis
upload_time2025-10-07 14:49:26
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords ui-testing automation cursor ai web-testing css-iteration hot-reload hmr element-intelligence page-analysis error-context
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # CursorFlow

**The measurement tool for web testing - we capture reality, not fiction**

CursorFlow is a pure data collection engine that captures comprehensive web application intelligence. Unlike simulation tools that let you control reality, CursorFlow measures actual reality - giving you complete trust in your test results.

## ๐ŸŽฏ The CursorFlow Philosophy

### **๐Ÿ“Š We Collect Reality, Not Fiction**

**Other tools are simulation tools** - they let you control reality:
- Mock network responses
- Simulate user interactions  
- Create test environments

**CursorFlow is a measurement tool** - we capture reality as-is:
- Real API response times
- Actual network failures
- Genuine browser behavior
- Complete page intelligence

### **๐Ÿ”ฌ Pure Observation Principle**

**CursorFlow is like a scientific instrument:**
- **Microscopes** don't create the cells they observe
- **Telescopes** don't generate the stars they capture  
- **CursorFlow** doesn't mock the web it measures

When CursorFlow reports `"average_response_time": 416.58ms`, you can tell stakeholders: **"This is what actually happened"** - not "this is what happened in our test simulation."

### **๐ŸŒŸ The Trust Factor**

**Complete Reliability:** Every data point reflects real application behavior
- No mocked responses hiding slow APIs
- No simulated interactions missing real edge cases
- No test environments different from production

**Documentary vs Movie:** Both are valuable, but if you're trying to understand reality, you watch the documentary. CursorFlow is the documentary of web testing.

## ๐ŸŽฏ Pass-Through Architecture

CursorFlow doesn't limit you - it exposes the full power of Playwright:

**94+ Playwright actions available:**
```bash
# Any Playwright Page method works
cursorflow test --actions '[
  {"hover": ".menu"},
  {"dblclick": ".editable"},
  {"press": "Enter"},
  {"drag_and_drop": {"source": ".item", "target": ".zone"}},
  {"check": "#checkbox"},
  {"evaluate": "window.scrollTo(0, 500)"}
]'
```

**Full configuration pass-through:**
```json
{
  "browser_config": {
    "browser_launch_options": {"devtools": true, "channel": "chrome"}
  },
  "context_options": {
    "color_scheme": "dark",
    "geolocation": {"latitude": 40.7128, "longitude": -74.0060},
    "timezone_id": "America/Los_Angeles"
  }
}
```

**Forward-compatible:** New Playwright features work immediately without CursorFlow updates.

**See:** [Playwright API Documentation](https://playwright.dev/python/docs/api/class-page)

---

## ๐Ÿงน Artifact Management

CursorFlow generates valuable debugging data (screenshots, traces, sessions). Manage disk space:

```bash
# Clean old artifacts (>7 days)
cursorflow cleanup --artifacts --old-only

# Clean all artifacts
cursorflow cleanup --artifacts

# Clean saved sessions
cursorflow cleanup --sessions

# Clean everything
cursorflow cleanup --all

# Preview before deleting
cursorflow cleanup --all --dry-run
```

**See:** [Complete Usage Guide](docs/user/USAGE_GUIDE.md#artifact-management)

---

## ๐Ÿš€ Complete Page Intelligence

Every test captures everything needed for debugging:

### **๐Ÿ“Š Comprehensive Data Collection**
- **DOM**: All elements with 7 selector strategies + event handlers
- **Network**: Requests, responses, and complete request/response bodies  
- **Console**: All logs, errors, warnings - displayed prominently
- **JavaScript**: Global functions, variables, specific window objects
- **Storage**: localStorage, sessionStorage, cookies (sensitive data masked)
- **Forms**: All field values at capture time (passwords masked)
- **Performance**: Load times, memory usage, reliability indicators
- **Visual**: Screenshots with comprehensive page analysis
- **Sessions**: Save/restore authenticated browser state (requires auth_config)

### **๐Ÿ”„ Hot Reload Intelligence**
- **Framework auto-detection** (Vite, Webpack, Next.js, Parcel, Laravel Mix)
- **Perfect timing** for CSS change detection
- **HMR event correlation** for understanding change impact
- **Persistent sessions** that survive code changes

### **๐ŸŽฏ Enhanced Screenshot Options**
```python
# Clip to specific components
{"screenshot": {"name": "header", "options": {"clip": {"selector": "#header"}}}}

# Hide sensitive information
{"screenshot": {"name": "profile", "options": {"mask": [".user-email", ".api-key"]}}}

# Full page with quality control
{"screenshot": {"name": "page", "options": {"full_page": True, "quality": 90}}}
```

### **๐Ÿ“ฑ Parallel Viewport Testing**
```python
# Test across multiple viewports simultaneously
await flow.test_responsive([
    {"width": 375, "height": 667, "name": "mobile"},
    {"width": 768, "height": 1024, "name": "tablet"},
    {"width": 1440, "height": 900, "name": "desktop"}
], [
    {"navigate": "/dashboard"},
    {"screenshot": "responsive-test"}
])
```

### **๐Ÿค– AI-First Design**
All data structured for AI consumption:
- Consistent JSON format across all features
- **Multi-selector element identification** for robust automation
- **Accessibility-aware** element analysis  
- Error correlation with **smart screenshot deduplication**
- Performance insights with **reliability metadata**

## ๐Ÿš€ Quick Start

### Step 1: Install CursorFlow Package
```bash
pip install cursorflow
playwright install chromium
```

### Step 2: Initialize Your Project (One-Time Setup)
```bash
cd /path/to/your/project
cursorflow install-rules

# Or skip prompts for automation/CI
cursorflow install-rules --yes
```

This creates:
- `.cursor/rules/` - Cursor AI integration rules
- `.cursorflow/config.json` - Project-specific configuration
- `.cursorflow/` - Artifacts and session storage
- `.gitignore` entries for CursorFlow artifacts

### Step 3: Start Testing

**Simple page capture:**
```bash
cursorflow test --base-url http://localhost:3000 --path /dashboard
```

**Interactive testing with inline actions:**
```bash
cursorflow test --base-url http://localhost:3000 \
  --path /messages \
  --wait-for ".message-item" \
  --hover ".message-item:first-child" \
  --click ".message-item:first-child" \
  --screenshot "clicked" \
  --show-console \
  --open-trace
```

**Custom actions with JSON:**
```bash
cursorflow test --base-url http://localhost:3000 --actions '[
  {"navigate": "/login"},
  {"fill": {"selector": "#email", "value": "test@example.com"}},
  {"click": "#login-btn"},
  {"screenshot": {"name": "result", "options": {"mask": [".sensitive-data"]}}}
]'
```

## ๐Ÿ’ป Python API Examples

### **Complete Page Intelligence**
```python
from cursorflow import CursorFlow

async def capture_reality():
    flow = CursorFlow("http://localhost:3000", {"source": "local", "paths": ["logs/app.log"]})
    
    # Capture everything
    results = await flow.execute_and_collect([
        {"navigate": "/dashboard"},
        {"screenshot": "complete-analysis"}
    ])
    
    # Access comprehensive data
    screenshot = results['artifacts']['screenshots'][0]
    print(f"Real load time: {screenshot['performance_data']['page_load_time']}ms")
    print(f"Actual memory usage: {screenshot['performance_data']['memory_usage_mb']}MB")
    print(f"Elements found: {len(screenshot['dom_analysis']['elements'])}")
```

### **Enhanced Screenshot Options**
```python
# Component-focused testing
await flow.execute_and_collect([
    {"navigate": "/components"},
    {"screenshot": {
        "name": "button-component",
        "options": {"clip": {"selector": ".component-demo"}}
    }}
])

# Privacy-aware testing
await flow.execute_and_collect([
    {"navigate": "/admin"},
    {"screenshot": {
        "name": "admin-safe",
        "options": {
            "full_page": True,
            "mask": [".api-key", ".user-data", ".sensitive-info"]
        }
    }}
])
```

### **Hot Reload Intelligence**
```python
# Perfect CSS iteration timing
async def hmr_workflow():
    flow = CursorFlow("http://localhost:5173", {"headless": False})
    
    # Auto-detect and monitor HMR
    await flow.browser.start_hmr_monitoring()
    
    # Baseline capture
    await flow.execute_and_collect([{"screenshot": "baseline"}])
    
    # Wait for real CSS changes with perfect timing
    hmr_event = await flow.browser.wait_for_css_update()
    print(f"๐Ÿ”ฅ {hmr_event['framework']} detected real change!")
    
    # Capture immediately after actual change
    await flow.execute_and_collect([{"screenshot": "updated"}])
```

### **Parallel Viewport Testing**
```python
# Test responsive design across multiple viewports
async def test_responsive_design():
    flow = CursorFlow("http://localhost:3000", {"source": "local", "paths": ["logs/app.log"]})
    
    # Define viewports
    viewports = [
        {"width": 375, "height": 667, "name": "mobile"},
        {"width": 768, "height": 1024, "name": "tablet"},
        {"width": 1440, "height": 900, "name": "desktop"}
    ]
    
    # Test same actions across all viewports
    results = await flow.test_responsive(viewports, [
        {"navigate": "/dashboard"},
        {"click": "#menu-toggle"},
        {"screenshot": {"name": "navigation", "options": {"clip": {"selector": "#nav"}}}}
    ])
    
    # Analyze responsive behavior
    print(f"Tested {results['execution_summary']['successful_viewports']} viewports")
    print(f"Fastest: {results['responsive_analysis']['performance_analysis']['fastest_viewport']}")
```

## ๐Ÿ”ง CLI Commands

### **Universal Testing**
```bash
# Simple page test with complete intelligence
cursorflow test --base-url http://localhost:3000 --path "/dashboard"

# Responsive testing across multiple viewports
cursorflow test --base-url http://localhost:3000 --path "/dashboard" --responsive

# Complex interaction testing
cursorflow test --base-url http://localhost:3000 --actions '[
  {"navigate": "/form"},
  {"fill": {"selector": "#name", "value": "Test User"}},
  {"click": "#submit"},
  {"screenshot": {"name": "result", "options": {"clip": {"selector": ".result-area"}}}}
]'

# Responsive testing with custom actions
cursorflow test --base-url http://localhost:3000 --responsive --actions '[
  {"navigate": "/products"},
  {"fill": {"selector": "#search", "value": "laptop"}},
  {"screenshot": "search-results"}
]'

# Custom output location
cursorflow test --base-url http://localhost:3000 --path "/api" --output "api-test-results.json"
```

### **Design Comparison**
```bash
# Compare mockup to implementation
cursorflow compare-mockup https://mockup.com/design \
  --base-url http://localhost:3000 \
  --mockup-actions '[{"navigate": "/"}]' \
  --implementation-actions '[{"navigate": "/dashboard"}]'

# CSS iteration with HMR intelligence
cursorflow iterate-mockup https://mockup.com/design \
  --base-url http://localhost:5173 \
  --css-improvements '[
    {"name": "fix-spacing", "css": ".container { gap: 2rem; }"}
  ]'
```

### **AI Integration**
```bash
# Install Cursor AI rules
cursorflow install-rules

# Update to latest version and rules
cursorflow update
```

## ๐Ÿง  Why This Matters

### **For Job Board v4 Testing:**
โœ… **Real API response times** from `/ajax_rq.smpl?fn=gjapi_typeahead`  
โœ… **Actual network failures** when they occur  
โœ… **Real browser console errors** from production code  
โœ… **Genuine performance metrics** under real load  

โŒ **With mocking:** You'd never know the typeahead is slow in production!

### **For Any Web Application:**
- **Trust your test results** - they reflect actual behavior
- **Find real performance bottlenecks** - no artificial speed boosts
- **Discover actual edge cases** - no simulation gaps
- **Debug genuine issues** - real errors, real timing, real context

## ๐ŸŒŸ Framework Support

**Universal Compatibility:**
- Works with **any web application** regardless of technology
- **Framework-agnostic** core operations  
- **Smart adaptation** to different environments

**HMR Auto-Detection:**
- โœ… **Vite** (port 5173)
- โœ… **Webpack Dev Server** (port 3000)  
- โœ… **Next.js** (port 3000)
- โœ… **Parcel** (port 1234)
- โœ… **Laravel Mix** (port 3000)

## ๐Ÿ“– Documentation

- **[Complete User Manual](docs/USER_MANUAL.md)** - Full feature guide
- **[Examples](examples/)** - Practical usage examples  
- **[API Reference](docs/api/)** - Complete Python API documentation

## ๐ŸŽช The CursorFlow Advantage

### **Other Tools Say:**
*"We let you mock and simulate"*

### **CursorFlow Says:**  
*"We tell you the truth"*

**When you need to understand reality, choose the measurement tool - not the simulation tool.**

---

**Complete page intelligence โ€ข Real behavior measurement โ€ข AI-first design โ€ข Pure observation**

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cursorflow",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "ui-testing, automation, cursor, ai, web-testing, css-iteration, hot-reload, hmr, element-intelligence, page-analysis, error-context",
    "author": null,
    "author_email": "GeekWarrior Development <rbush@cooltheory.com>",
    "download_url": "https://files.pythonhosted.org/packages/f7/1b/a423fd0fa6f1b9612fbc9cbc6e15b9ba42d0d8f592a9e3a563dfb71f4363/cursorflow-2.2.8.tar.gz",
    "platform": null,
    "description": "# CursorFlow\n\n**The measurement tool for web testing - we capture reality, not fiction**\n\nCursorFlow is a pure data collection engine that captures comprehensive web application intelligence. Unlike simulation tools that let you control reality, CursorFlow measures actual reality - giving you complete trust in your test results.\n\n## \ud83c\udfaf The CursorFlow Philosophy\n\n### **\ud83d\udcca We Collect Reality, Not Fiction**\n\n**Other tools are simulation tools** - they let you control reality:\n- Mock network responses\n- Simulate user interactions  \n- Create test environments\n\n**CursorFlow is a measurement tool** - we capture reality as-is:\n- Real API response times\n- Actual network failures\n- Genuine browser behavior\n- Complete page intelligence\n\n### **\ud83d\udd2c Pure Observation Principle**\n\n**CursorFlow is like a scientific instrument:**\n- **Microscopes** don't create the cells they observe\n- **Telescopes** don't generate the stars they capture  \n- **CursorFlow** doesn't mock the web it measures\n\nWhen CursorFlow reports `\"average_response_time\": 416.58ms`, you can tell stakeholders: **\"This is what actually happened\"** - not \"this is what happened in our test simulation.\"\n\n### **\ud83c\udf1f The Trust Factor**\n\n**Complete Reliability:** Every data point reflects real application behavior\n- No mocked responses hiding slow APIs\n- No simulated interactions missing real edge cases\n- No test environments different from production\n\n**Documentary vs Movie:** Both are valuable, but if you're trying to understand reality, you watch the documentary. CursorFlow is the documentary of web testing.\n\n## \ud83c\udfaf Pass-Through Architecture\n\nCursorFlow doesn't limit you - it exposes the full power of Playwright:\n\n**94+ Playwright actions available:**\n```bash\n# Any Playwright Page method works\ncursorflow test --actions '[\n  {\"hover\": \".menu\"},\n  {\"dblclick\": \".editable\"},\n  {\"press\": \"Enter\"},\n  {\"drag_and_drop\": {\"source\": \".item\", \"target\": \".zone\"}},\n  {\"check\": \"#checkbox\"},\n  {\"evaluate\": \"window.scrollTo(0, 500)\"}\n]'\n```\n\n**Full configuration pass-through:**\n```json\n{\n  \"browser_config\": {\n    \"browser_launch_options\": {\"devtools\": true, \"channel\": \"chrome\"}\n  },\n  \"context_options\": {\n    \"color_scheme\": \"dark\",\n    \"geolocation\": {\"latitude\": 40.7128, \"longitude\": -74.0060},\n    \"timezone_id\": \"America/Los_Angeles\"\n  }\n}\n```\n\n**Forward-compatible:** New Playwright features work immediately without CursorFlow updates.\n\n**See:** [Playwright API Documentation](https://playwright.dev/python/docs/api/class-page)\n\n---\n\n## \ud83e\uddf9 Artifact Management\n\nCursorFlow generates valuable debugging data (screenshots, traces, sessions). Manage disk space:\n\n```bash\n# Clean old artifacts (>7 days)\ncursorflow cleanup --artifacts --old-only\n\n# Clean all artifacts\ncursorflow cleanup --artifacts\n\n# Clean saved sessions\ncursorflow cleanup --sessions\n\n# Clean everything\ncursorflow cleanup --all\n\n# Preview before deleting\ncursorflow cleanup --all --dry-run\n```\n\n**See:** [Complete Usage Guide](docs/user/USAGE_GUIDE.md#artifact-management)\n\n---\n\n## \ud83d\ude80 Complete Page Intelligence\n\nEvery test captures everything needed for debugging:\n\n### **\ud83d\udcca Comprehensive Data Collection**\n- **DOM**: All elements with 7 selector strategies + event handlers\n- **Network**: Requests, responses, and complete request/response bodies  \n- **Console**: All logs, errors, warnings - displayed prominently\n- **JavaScript**: Global functions, variables, specific window objects\n- **Storage**: localStorage, sessionStorage, cookies (sensitive data masked)\n- **Forms**: All field values at capture time (passwords masked)\n- **Performance**: Load times, memory usage, reliability indicators\n- **Visual**: Screenshots with comprehensive page analysis\n- **Sessions**: Save/restore authenticated browser state (requires auth_config)\n\n### **\ud83d\udd04 Hot Reload Intelligence**\n- **Framework auto-detection** (Vite, Webpack, Next.js, Parcel, Laravel Mix)\n- **Perfect timing** for CSS change detection\n- **HMR event correlation** for understanding change impact\n- **Persistent sessions** that survive code changes\n\n### **\ud83c\udfaf Enhanced Screenshot Options**\n```python\n# Clip to specific components\n{\"screenshot\": {\"name\": \"header\", \"options\": {\"clip\": {\"selector\": \"#header\"}}}}\n\n# Hide sensitive information\n{\"screenshot\": {\"name\": \"profile\", \"options\": {\"mask\": [\".user-email\", \".api-key\"]}}}\n\n# Full page with quality control\n{\"screenshot\": {\"name\": \"page\", \"options\": {\"full_page\": True, \"quality\": 90}}}\n```\n\n### **\ud83d\udcf1 Parallel Viewport Testing**\n```python\n# Test across multiple viewports simultaneously\nawait flow.test_responsive([\n    {\"width\": 375, \"height\": 667, \"name\": \"mobile\"},\n    {\"width\": 768, \"height\": 1024, \"name\": \"tablet\"},\n    {\"width\": 1440, \"height\": 900, \"name\": \"desktop\"}\n], [\n    {\"navigate\": \"/dashboard\"},\n    {\"screenshot\": \"responsive-test\"}\n])\n```\n\n### **\ud83e\udd16 AI-First Design**\nAll data structured for AI consumption:\n- Consistent JSON format across all features\n- **Multi-selector element identification** for robust automation\n- **Accessibility-aware** element analysis  \n- Error correlation with **smart screenshot deduplication**\n- Performance insights with **reliability metadata**\n\n## \ud83d\ude80 Quick Start\n\n### Step 1: Install CursorFlow Package\n```bash\npip install cursorflow\nplaywright install chromium\n```\n\n### Step 2: Initialize Your Project (One-Time Setup)\n```bash\ncd /path/to/your/project\ncursorflow install-rules\n\n# Or skip prompts for automation/CI\ncursorflow install-rules --yes\n```\n\nThis creates:\n- `.cursor/rules/` - Cursor AI integration rules\n- `.cursorflow/config.json` - Project-specific configuration\n- `.cursorflow/` - Artifacts and session storage\n- `.gitignore` entries for CursorFlow artifacts\n\n### Step 3: Start Testing\n\n**Simple page capture:**\n```bash\ncursorflow test --base-url http://localhost:3000 --path /dashboard\n```\n\n**Interactive testing with inline actions:**\n```bash\ncursorflow test --base-url http://localhost:3000 \\\n  --path /messages \\\n  --wait-for \".message-item\" \\\n  --hover \".message-item:first-child\" \\\n  --click \".message-item:first-child\" \\\n  --screenshot \"clicked\" \\\n  --show-console \\\n  --open-trace\n```\n\n**Custom actions with JSON:**\n```bash\ncursorflow test --base-url http://localhost:3000 --actions '[\n  {\"navigate\": \"/login\"},\n  {\"fill\": {\"selector\": \"#email\", \"value\": \"test@example.com\"}},\n  {\"click\": \"#login-btn\"},\n  {\"screenshot\": {\"name\": \"result\", \"options\": {\"mask\": [\".sensitive-data\"]}}}\n]'\n```\n\n## \ud83d\udcbb Python API Examples\n\n### **Complete Page Intelligence**\n```python\nfrom cursorflow import CursorFlow\n\nasync def capture_reality():\n    flow = CursorFlow(\"http://localhost:3000\", {\"source\": \"local\", \"paths\": [\"logs/app.log\"]})\n    \n    # Capture everything\n    results = await flow.execute_and_collect([\n        {\"navigate\": \"/dashboard\"},\n        {\"screenshot\": \"complete-analysis\"}\n    ])\n    \n    # Access comprehensive data\n    screenshot = results['artifacts']['screenshots'][0]\n    print(f\"Real load time: {screenshot['performance_data']['page_load_time']}ms\")\n    print(f\"Actual memory usage: {screenshot['performance_data']['memory_usage_mb']}MB\")\n    print(f\"Elements found: {len(screenshot['dom_analysis']['elements'])}\")\n```\n\n### **Enhanced Screenshot Options**\n```python\n# Component-focused testing\nawait flow.execute_and_collect([\n    {\"navigate\": \"/components\"},\n    {\"screenshot\": {\n        \"name\": \"button-component\",\n        \"options\": {\"clip\": {\"selector\": \".component-demo\"}}\n    }}\n])\n\n# Privacy-aware testing\nawait flow.execute_and_collect([\n    {\"navigate\": \"/admin\"},\n    {\"screenshot\": {\n        \"name\": \"admin-safe\",\n        \"options\": {\n            \"full_page\": True,\n            \"mask\": [\".api-key\", \".user-data\", \".sensitive-info\"]\n        }\n    }}\n])\n```\n\n### **Hot Reload Intelligence**\n```python\n# Perfect CSS iteration timing\nasync def hmr_workflow():\n    flow = CursorFlow(\"http://localhost:5173\", {\"headless\": False})\n    \n    # Auto-detect and monitor HMR\n    await flow.browser.start_hmr_monitoring()\n    \n    # Baseline capture\n    await flow.execute_and_collect([{\"screenshot\": \"baseline\"}])\n    \n    # Wait for real CSS changes with perfect timing\n    hmr_event = await flow.browser.wait_for_css_update()\n    print(f\"\ud83d\udd25 {hmr_event['framework']} detected real change!\")\n    \n    # Capture immediately after actual change\n    await flow.execute_and_collect([{\"screenshot\": \"updated\"}])\n```\n\n### **Parallel Viewport Testing**\n```python\n# Test responsive design across multiple viewports\nasync def test_responsive_design():\n    flow = CursorFlow(\"http://localhost:3000\", {\"source\": \"local\", \"paths\": [\"logs/app.log\"]})\n    \n    # Define viewports\n    viewports = [\n        {\"width\": 375, \"height\": 667, \"name\": \"mobile\"},\n        {\"width\": 768, \"height\": 1024, \"name\": \"tablet\"},\n        {\"width\": 1440, \"height\": 900, \"name\": \"desktop\"}\n    ]\n    \n    # Test same actions across all viewports\n    results = await flow.test_responsive(viewports, [\n        {\"navigate\": \"/dashboard\"},\n        {\"click\": \"#menu-toggle\"},\n        {\"screenshot\": {\"name\": \"navigation\", \"options\": {\"clip\": {\"selector\": \"#nav\"}}}}\n    ])\n    \n    # Analyze responsive behavior\n    print(f\"Tested {results['execution_summary']['successful_viewports']} viewports\")\n    print(f\"Fastest: {results['responsive_analysis']['performance_analysis']['fastest_viewport']}\")\n```\n\n## \ud83d\udd27 CLI Commands\n\n### **Universal Testing**\n```bash\n# Simple page test with complete intelligence\ncursorflow test --base-url http://localhost:3000 --path \"/dashboard\"\n\n# Responsive testing across multiple viewports\ncursorflow test --base-url http://localhost:3000 --path \"/dashboard\" --responsive\n\n# Complex interaction testing\ncursorflow test --base-url http://localhost:3000 --actions '[\n  {\"navigate\": \"/form\"},\n  {\"fill\": {\"selector\": \"#name\", \"value\": \"Test User\"}},\n  {\"click\": \"#submit\"},\n  {\"screenshot\": {\"name\": \"result\", \"options\": {\"clip\": {\"selector\": \".result-area\"}}}}\n]'\n\n# Responsive testing with custom actions\ncursorflow test --base-url http://localhost:3000 --responsive --actions '[\n  {\"navigate\": \"/products\"},\n  {\"fill\": {\"selector\": \"#search\", \"value\": \"laptop\"}},\n  {\"screenshot\": \"search-results\"}\n]'\n\n# Custom output location\ncursorflow test --base-url http://localhost:3000 --path \"/api\" --output \"api-test-results.json\"\n```\n\n### **Design Comparison**\n```bash\n# Compare mockup to implementation\ncursorflow compare-mockup https://mockup.com/design \\\n  --base-url http://localhost:3000 \\\n  --mockup-actions '[{\"navigate\": \"/\"}]' \\\n  --implementation-actions '[{\"navigate\": \"/dashboard\"}]'\n\n# CSS iteration with HMR intelligence\ncursorflow iterate-mockup https://mockup.com/design \\\n  --base-url http://localhost:5173 \\\n  --css-improvements '[\n    {\"name\": \"fix-spacing\", \"css\": \".container { gap: 2rem; }\"}\n  ]'\n```\n\n### **AI Integration**\n```bash\n# Install Cursor AI rules\ncursorflow install-rules\n\n# Update to latest version and rules\ncursorflow update\n```\n\n## \ud83e\udde0 Why This Matters\n\n### **For Job Board v4 Testing:**\n\u2705 **Real API response times** from `/ajax_rq.smpl?fn=gjapi_typeahead`  \n\u2705 **Actual network failures** when they occur  \n\u2705 **Real browser console errors** from production code  \n\u2705 **Genuine performance metrics** under real load  \n\n\u274c **With mocking:** You'd never know the typeahead is slow in production!\n\n### **For Any Web Application:**\n- **Trust your test results** - they reflect actual behavior\n- **Find real performance bottlenecks** - no artificial speed boosts\n- **Discover actual edge cases** - no simulation gaps\n- **Debug genuine issues** - real errors, real timing, real context\n\n## \ud83c\udf1f Framework Support\n\n**Universal Compatibility:**\n- Works with **any web application** regardless of technology\n- **Framework-agnostic** core operations  \n- **Smart adaptation** to different environments\n\n**HMR Auto-Detection:**\n- \u2705 **Vite** (port 5173)\n- \u2705 **Webpack Dev Server** (port 3000)  \n- \u2705 **Next.js** (port 3000)\n- \u2705 **Parcel** (port 1234)\n- \u2705 **Laravel Mix** (port 3000)\n\n## \ud83d\udcd6 Documentation\n\n- **[Complete User Manual](docs/USER_MANUAL.md)** - Full feature guide\n- **[Examples](examples/)** - Practical usage examples  \n- **[API Reference](docs/api/)** - Complete Python API documentation\n\n## \ud83c\udfaa The CursorFlow Advantage\n\n### **Other Tools Say:**\n*\"We let you mock and simulate\"*\n\n### **CursorFlow Says:**  \n*\"We tell you the truth\"*\n\n**When you need to understand reality, choose the measurement tool - not the simulation tool.**\n\n---\n\n**Complete page intelligence \u2022 Real behavior measurement \u2022 AI-first design \u2022 Pure observation**\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\ud83d\udd25 Complete page intelligence for AI-driven development with Hot Reload Intelligence - captures DOM, network, console, performance, HMR events, and comprehensive page analysis",
    "version": "2.2.8",
    "project_urls": {
        "Documentation": "https://cursorflow.readthedocs.io",
        "Homepage": "https://github.com/haley-marketing-group/cursorflow",
        "Repository": "https://github.com/haley-marketing-group/cursorflow"
    },
    "split_keywords": [
        "ui-testing",
        " automation",
        " cursor",
        " ai",
        " web-testing",
        " css-iteration",
        " hot-reload",
        " hmr",
        " element-intelligence",
        " page-analysis",
        " error-context"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b257369742ab13f9a074d9011e64add09b9752c15fac87319e03cdac87481ed2",
                "md5": "a6083b18d9a296abbe691115266c1192",
                "sha256": "b35834444a678f3de6d19a07e3470eae3d2785583a8eee1a079978ceaeefe46a"
            },
            "downloads": -1,
            "filename": "cursorflow-2.2.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a6083b18d9a296abbe691115266c1192",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 167248,
            "upload_time": "2025-10-07T14:49:25",
            "upload_time_iso_8601": "2025-10-07T14:49:25.171207Z",
            "url": "https://files.pythonhosted.org/packages/b2/57/369742ab13f9a074d9011e64add09b9752c15fac87319e03cdac87481ed2/cursorflow-2.2.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f71ba423fd0fa6f1b9612fbc9cbc6e15b9ba42d0d8f592a9e3a563dfb71f4363",
                "md5": "303e660103844285627d1f5c3dbcb101",
                "sha256": "ac666b2e2ecbdd0881914575b236332ac33540a8217b46b36c78d0ae733d5db5"
            },
            "downloads": -1,
            "filename": "cursorflow-2.2.8.tar.gz",
            "has_sig": false,
            "md5_digest": "303e660103844285627d1f5c3dbcb101",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 179306,
            "upload_time": "2025-10-07T14:49:26",
            "upload_time_iso_8601": "2025-10-07T14:49:26.293428Z",
            "url": "https://files.pythonhosted.org/packages/f7/1b/a423fd0fa6f1b9612fbc9cbc6e15b9ba42d0d8f592a9e3a563dfb71f4363/cursorflow-2.2.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-07 14:49:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "haley-marketing-group",
    "github_project": "cursorflow",
    "github_not_found": true,
    "lcname": "cursorflow"
}
        
Elapsed time: 1.60313s