cursorflow 1.2.0__tar.gz → 1.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. cursorflow-1.3.1/LICENSE +21 -0
  2. cursorflow-1.3.1/MANIFEST.in +64 -0
  3. cursorflow-1.3.1/PKG-INFO +247 -0
  4. cursorflow-1.3.1/README.md +205 -0
  5. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/cli.py +245 -11
  6. cursorflow-1.3.1/cursorflow/core/browser_controller.py +1186 -0
  7. cursorflow-1.3.1/cursorflow/core/cursor_integration.py +1532 -0
  8. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/cursorflow.py +151 -0
  9. cursorflow-1.3.1/cursorflow/core/mockup_comparator.py +1316 -0
  10. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow.egg-info/SOURCES.txt +9 -7
  11. cursorflow-1.3.1/docs/USER_MANUAL.md +519 -0
  12. cursorflow-1.3.1/examples/comprehensive_screenshot_example.py +275 -0
  13. cursorflow-1.3.1/examples/mockup_comparison_example.py +301 -0
  14. cursorflow-1.3.1/examples/opensas_example.py +144 -0
  15. cursorflow-1.3.1/examples/react_example.py +127 -0
  16. {cursorflow-1.2.0 → cursorflow-1.3.1}/pyproject.toml +4 -5
  17. cursorflow-1.2.0/PKG-INFO +0 -444
  18. cursorflow-1.2.0/README.md +0 -403
  19. cursorflow-1.2.0/cursorflow/core/browser_controller.py +0 -534
  20. cursorflow-1.2.0/cursorflow/core/cursor_integration.py +0 -744
  21. cursorflow-1.2.0/cursorflow.egg-info/PKG-INFO +0 -444
  22. cursorflow-1.2.0/cursorflow.egg-info/dependency_links.txt +0 -1
  23. cursorflow-1.2.0/cursorflow.egg-info/entry_points.txt +0 -2
  24. cursorflow-1.2.0/cursorflow.egg-info/requires.txt +0 -17
  25. cursorflow-1.2.0/cursorflow.egg-info/top_level.txt +0 -1
  26. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/__init__.py +0 -0
  27. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/auto_updater.py +0 -0
  28. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/agent.py +0 -0
  29. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/auth_handler.py +0 -0
  30. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/browser_engine.py +0 -0
  31. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/css_iterator.py +0 -0
  32. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/error_correlator.py +0 -0
  33. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/event_correlator.py +0 -0
  34. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/file_change_monitor.py +0 -0
  35. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/log_collector.py +0 -0
  36. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/log_monitor.py +0 -0
  37. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/persistent_session.py +0 -0
  38. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/core/report_generator.py +0 -0
  39. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/log_sources/local_file.py +0 -0
  40. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/log_sources/ssh_remote.py +0 -0
  41. {cursorflow-1.2.0 → cursorflow-1.3.1}/cursorflow/updater.py +0 -0
  42. {cursorflow-1.2.0 → cursorflow-1.3.1}/setup.cfg +0 -0
  43. {cursorflow-1.2.0 → cursorflow-1.3.1}/setup.py +0 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 GeekWarrior Development
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,64 @@
1
+ # CursorFlow PyPI Package Manifest
2
+ # Controls exactly what gets included in the published package
3
+
4
+ # INCLUDE: Essential files for users
5
+ include README.md
6
+ include LICENSE
7
+ include pyproject.toml
8
+ include setup.py
9
+
10
+ # INCLUDE: Core package code (automatically included by setuptools)
11
+ recursive-include cursorflow *.py
12
+
13
+ # INCLUDE: Essential examples for users
14
+ include examples/react_example.py
15
+ include examples/opensas_example.py
16
+ include examples/mockup_comparison_example.py
17
+ include examples/comprehensive_screenshot_example.py
18
+
19
+ # INCLUDE: Single comprehensive user manual
20
+ include docs/USER_MANUAL.md
21
+
22
+ # EXCLUDE: Development and internal documentation
23
+ exclude docs/README.md
24
+ exclude docs/development/*
25
+ exclude docs/product/*
26
+ exclude docs/api/*
27
+ exclude docs/examples/*
28
+
29
+ # EXCLUDE: Development files and directories
30
+ exclude .gitignore
31
+ exclude .github/*
32
+ exclude tests/*
33
+ exclude scripts/*
34
+ exclude venv/*
35
+ exclude dist/*
36
+ exclude build/*
37
+ exclude *.egg-info/*
38
+ exclude .pytest_cache/*
39
+ exclude __pycache__/*
40
+ recursive-exclude * __pycache__
41
+ recursive-exclude * *.py[co]
42
+
43
+ # EXCLUDE: Configuration and rules (internal use)
44
+ exclude config/*
45
+ exclude rules/*
46
+ exclude install_cursorflow_rules.py
47
+ exclude PERSISTENT_SESSION_SUMMARY.md
48
+
49
+ # EXCLUDE: Artifacts and temporary files
50
+ exclude artifacts/*
51
+ exclude .cursorflow/*
52
+ exclude *.log
53
+ exclude *.tmp
54
+
55
+ # EXCLUDE: IDE and editor files
56
+ exclude .vscode/*
57
+ exclude .idea/*
58
+ exclude *.swp
59
+ exclude *.swo
60
+ exclude *~
61
+
62
+ # EXCLUDE: OS files
63
+ exclude .DS_Store
64
+ exclude Thumbs.db
@@ -0,0 +1,247 @@
1
+ Metadata-Version: 2.4
2
+ Name: cursorflow
3
+ Version: 1.3.1
4
+ Summary: Complete page intelligence for AI-driven development - captures DOM, network, console, and performance data
5
+ Author-email: GeekWarrior Development <support@cursorflow.dev>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/haley-marketing-group/cursorflow
8
+ Project-URL: Documentation, https://cursorflow.readthedocs.io
9
+ Project-URL: Repository, https://github.com/haley-marketing-group/cursorflow
10
+ Keywords: ui-testing,automation,cursor,ai,web-testing,css-iteration
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.8
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Software Development :: Testing
20
+ Classifier: Topic :: Software Development :: Quality Assurance
21
+ Classifier: Framework :: AsyncIO
22
+ Requires-Python: >=3.8
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: playwright>=1.40.0
26
+ Requires-Dist: paramiko>=3.3.1
27
+ Requires-Dist: pyyaml>=6.0.1
28
+ Requires-Dist: asyncio-mqtt>=0.11.1
29
+ Requires-Dist: click>=8.1.7
30
+ Requires-Dist: rich>=13.6.0
31
+ Requires-Dist: jinja2>=3.1.2
32
+ Requires-Dist: python-dateutil>=2.8.2
33
+ Requires-Dist: watchdog>=3.0.0
34
+ Requires-Dist: docker>=6.1.3
35
+ Provides-Extra: dev
36
+ Requires-Dist: pytest>=7.4.0; extra == "dev"
37
+ Requires-Dist: pytest-asyncio>=0.21.1; extra == "dev"
38
+ Requires-Dist: black>=23.9.1; extra == "dev"
39
+ Requires-Dist: flake8>=6.1.0; extra == "dev"
40
+ Requires-Dist: mypy>=1.6.1; extra == "dev"
41
+ Dynamic: license-file
42
+
43
+ # CursorFlow
44
+
45
+ **Complete page intelligence for AI-driven development**
46
+
47
+ CursorFlow captures comprehensive data from web applications - DOM structure, CSS properties, network activity, console logs, and performance metrics - enabling AI agents like Cursor to make intelligent decisions about UI improvements and debugging.
48
+
49
+ ## 🎯 What CursorFlow Does
50
+
51
+ **Data Collection, Not Analysis** - We gather structured data, AI makes the decisions.
52
+
53
+ ### **📊 Complete Page Intelligence**
54
+ Every screenshot captures everything:
55
+ - **DOM**: All elements with exact CSS properties
56
+ - **Network**: All requests, responses, and timing
57
+ - **Console**: All logs, errors, and warnings
58
+ - **Performance**: Load times, memory usage, metrics
59
+ - **Visual**: Screenshots and pixel-perfect comparisons
60
+
61
+ ### **🔄 Rapid Iteration Support**
62
+ - **Mockup comparison** with pixel-level analysis
63
+ - **Hot reload integration** for instant CSS testing
64
+ - **Persistent sessions** that survive code changes
65
+ - **Universal framework support** (React, Vue, PHP, Perl, anything)
66
+
67
+ ### **🤖 AI-First Design**
68
+ All data structured for AI consumption:
69
+ - Consistent JSON format across all features
70
+ - Element-level CSS properties for precise modifications
71
+ - Error correlation with timing data
72
+ - Performance insights with actionable metrics
73
+
74
+ ## 🚀 Quick Start
75
+
76
+ ```bash
77
+ # Install
78
+ pip install cursorflow
79
+
80
+ # Test any page - captures everything automatically
81
+ cursorflow test --base-url http://localhost:3000 --actions '[
82
+ {"navigate": "/dashboard"},
83
+ {"wait_for": "#main-content"},
84
+ {"screenshot": "dashboard-loaded"}
85
+ ]'
86
+
87
+ # Compare mockup to implementation
88
+ cursorflow compare-mockup https://mockup.com/design --base-url http://localhost:3000
89
+ ```
90
+
91
+ ## 💻 Usage Examples
92
+
93
+ ### **Basic Testing**
94
+ ```python
95
+ from cursorflow import CursorFlow
96
+
97
+ flow = CursorFlow(base_url="http://localhost:3000")
98
+
99
+ # Every screenshot includes complete page data
100
+ results = await flow.execute_and_collect([
101
+ {"navigate": "/dashboard"},
102
+ {"screenshot": "loaded"} # Captures DOM, network, console, performance
103
+ ])
104
+
105
+ # Access structured data for AI analysis
106
+ screenshot = results['artifacts']['screenshots'][0]
107
+ elements = screenshot['dom_analysis']['elements'] # All elements + CSS
108
+ network = screenshot['network_data'] # All requests + timing
109
+ console = screenshot['console_data'] # All logs + errors
110
+ ```
111
+
112
+ ### **Mockup Comparison**
113
+ ```python
114
+ # Compare design to implementation with complete element data
115
+ results = await flow.compare_mockup_to_implementation(
116
+ mockup_url="https://mockup.com/design",
117
+ implementation_url="http://localhost:3000/dashboard"
118
+ )
119
+
120
+ # AI gets exact differences and CSS properties for every element
121
+ differences = results['layout_analysis']['element_differences']
122
+ ```
123
+
124
+ ### **CSS Iteration**
125
+ ```python
126
+ # Test CSS changes with hot reload - no page refresh needed
127
+ css_changes = [
128
+ {"name": "spacing", "css": ".container { gap: 2rem; }"},
129
+ {"name": "colors", "css": ".button { background: blue; }"}
130
+ ]
131
+
132
+ results = await flow.css_iteration_persistent(
133
+ base_actions=[{"navigate": "/page"}],
134
+ css_changes=css_changes
135
+ )
136
+ ```
137
+
138
+ ## 🔧 CLI Commands
139
+
140
+ ```bash
141
+ # Test any page with custom actions
142
+ cursorflow test --base-url http://localhost:3000 --actions '[
143
+ {"navigate": "/login"},
144
+ {"fill": {"selector": "#username", "value": "test@example.com"}},
145
+ {"fill": {"selector": "#password", "value": "password123"}},
146
+ {"click": "#login-button"},
147
+ {"wait_for": ".dashboard"},
148
+ {"screenshot": "logged-in"}
149
+ ]'
150
+
151
+ # Simple page test (just navigate and screenshot)
152
+ cursorflow test --base-url http://localhost:3000 --path "/dashboard"
153
+
154
+ # Compare mockup to implementation
155
+ cursorflow compare-mockup https://mockup.com/design \
156
+ --base-url http://localhost:3000 \
157
+ --viewports '[{"width": 1440, "height": 900, "name": "desktop"}]'
158
+
159
+ # Iterate on CSS improvements
160
+ cursorflow iterate-mockup https://mockup.com/design \
161
+ --base-url http://localhost:3000 \
162
+ --css-improvements '[
163
+ {"name": "spacing", "css": ".container { gap: 2rem; }"},
164
+ {"name": "colors", "css": ".button { background: blue; }"}
165
+ ]'
166
+ ```
167
+
168
+ ## 🌐 Universal Framework Support
169
+
170
+ Works with any web technology:
171
+ - **Modern**: React, Vue, Angular, Next.js, Svelte
172
+ - **Traditional**: PHP, Django, Rails, Laravel
173
+ - **Legacy**: Perl, mod_perl, OpenSAS, Classic ASP
174
+ - **Any URL**: Local development, staging, production
175
+
176
+ ## 📊 What AI Gets
177
+
178
+ ### **Complete Element Data**
179
+ ```json
180
+ {
181
+ "tagName": "button",
182
+ "textContent": "Save Changes",
183
+ "boundingBox": {"x": 100, "y": 200, "width": 120, "height": 40},
184
+ "computedStyles": {
185
+ "backgroundColor": "rgb(0, 123, 255)",
186
+ "fontSize": "14px",
187
+ "padding": "8px 16px",
188
+ "borderRadius": "4px"
189
+ }
190
+ }
191
+ ```
192
+
193
+ ### **Network Activity**
194
+ ```json
195
+ {
196
+ "network_summary": {
197
+ "total_requests": 23,
198
+ "failed_requests": 2,
199
+ "average_response_time": 145.5
200
+ },
201
+ "failed_requests": [
202
+ {"url": "/api/data", "status": 404, "timing": 1250}
203
+ ]
204
+ }
205
+ ```
206
+
207
+ ### **Console Intelligence**
208
+ ```json
209
+ {
210
+ "console_summary": {
211
+ "error_count": 1,
212
+ "warning_count": 2
213
+ },
214
+ "errors": [
215
+ {"text": "Cannot read property 'id' of undefined", "location": "app.js:42"}
216
+ ]
217
+ }
218
+ ```
219
+
220
+ ## 📚 Documentation
221
+
222
+ **[📖 Complete User Manual](docs/USER_MANUAL.md)** - Everything you need:
223
+ - Installation and setup
224
+ - All features and examples
225
+ - CLI commands and Python API
226
+ - Troubleshooting guide
227
+
228
+ ## 🎯 Perfect for AI Development
229
+
230
+ CursorFlow is designed specifically for AI agents:
231
+ - **Complete data collection** - AI gets full context
232
+ - **Structured output** - Consistent JSON format
233
+ - **No analysis** - We collect, AI decides
234
+ - **Rapid iteration** - Fast feedback loops
235
+ - **Universal compatibility** - Works with any web app
236
+
237
+ ## Installation
238
+
239
+ ```bash
240
+ pip install cursorflow
241
+ ```
242
+
243
+ Browser dependencies install automatically on first use.
244
+
245
+ ---
246
+
247
+ **CursorFlow: The data collection engine that powers AI-driven web development.** 🚀
@@ -0,0 +1,205 @@
1
+ # CursorFlow
2
+
3
+ **Complete page intelligence for AI-driven development**
4
+
5
+ CursorFlow captures comprehensive data from web applications - DOM structure, CSS properties, network activity, console logs, and performance metrics - enabling AI agents like Cursor to make intelligent decisions about UI improvements and debugging.
6
+
7
+ ## 🎯 What CursorFlow Does
8
+
9
+ **Data Collection, Not Analysis** - We gather structured data, AI makes the decisions.
10
+
11
+ ### **📊 Complete Page Intelligence**
12
+ Every screenshot captures everything:
13
+ - **DOM**: All elements with exact CSS properties
14
+ - **Network**: All requests, responses, and timing
15
+ - **Console**: All logs, errors, and warnings
16
+ - **Performance**: Load times, memory usage, metrics
17
+ - **Visual**: Screenshots and pixel-perfect comparisons
18
+
19
+ ### **🔄 Rapid Iteration Support**
20
+ - **Mockup comparison** with pixel-level analysis
21
+ - **Hot reload integration** for instant CSS testing
22
+ - **Persistent sessions** that survive code changes
23
+ - **Universal framework support** (React, Vue, PHP, Perl, anything)
24
+
25
+ ### **🤖 AI-First Design**
26
+ All data structured for AI consumption:
27
+ - Consistent JSON format across all features
28
+ - Element-level CSS properties for precise modifications
29
+ - Error correlation with timing data
30
+ - Performance insights with actionable metrics
31
+
32
+ ## 🚀 Quick Start
33
+
34
+ ```bash
35
+ # Install
36
+ pip install cursorflow
37
+
38
+ # Test any page - captures everything automatically
39
+ cursorflow test --base-url http://localhost:3000 --actions '[
40
+ {"navigate": "/dashboard"},
41
+ {"wait_for": "#main-content"},
42
+ {"screenshot": "dashboard-loaded"}
43
+ ]'
44
+
45
+ # Compare mockup to implementation
46
+ cursorflow compare-mockup https://mockup.com/design --base-url http://localhost:3000
47
+ ```
48
+
49
+ ## 💻 Usage Examples
50
+
51
+ ### **Basic Testing**
52
+ ```python
53
+ from cursorflow import CursorFlow
54
+
55
+ flow = CursorFlow(base_url="http://localhost:3000")
56
+
57
+ # Every screenshot includes complete page data
58
+ results = await flow.execute_and_collect([
59
+ {"navigate": "/dashboard"},
60
+ {"screenshot": "loaded"} # Captures DOM, network, console, performance
61
+ ])
62
+
63
+ # Access structured data for AI analysis
64
+ screenshot = results['artifacts']['screenshots'][0]
65
+ elements = screenshot['dom_analysis']['elements'] # All elements + CSS
66
+ network = screenshot['network_data'] # All requests + timing
67
+ console = screenshot['console_data'] # All logs + errors
68
+ ```
69
+
70
+ ### **Mockup Comparison**
71
+ ```python
72
+ # Compare design to implementation with complete element data
73
+ results = await flow.compare_mockup_to_implementation(
74
+ mockup_url="https://mockup.com/design",
75
+ implementation_url="http://localhost:3000/dashboard"
76
+ )
77
+
78
+ # AI gets exact differences and CSS properties for every element
79
+ differences = results['layout_analysis']['element_differences']
80
+ ```
81
+
82
+ ### **CSS Iteration**
83
+ ```python
84
+ # Test CSS changes with hot reload - no page refresh needed
85
+ css_changes = [
86
+ {"name": "spacing", "css": ".container { gap: 2rem; }"},
87
+ {"name": "colors", "css": ".button { background: blue; }"}
88
+ ]
89
+
90
+ results = await flow.css_iteration_persistent(
91
+ base_actions=[{"navigate": "/page"}],
92
+ css_changes=css_changes
93
+ )
94
+ ```
95
+
96
+ ## 🔧 CLI Commands
97
+
98
+ ```bash
99
+ # Test any page with custom actions
100
+ cursorflow test --base-url http://localhost:3000 --actions '[
101
+ {"navigate": "/login"},
102
+ {"fill": {"selector": "#username", "value": "test@example.com"}},
103
+ {"fill": {"selector": "#password", "value": "password123"}},
104
+ {"click": "#login-button"},
105
+ {"wait_for": ".dashboard"},
106
+ {"screenshot": "logged-in"}
107
+ ]'
108
+
109
+ # Simple page test (just navigate and screenshot)
110
+ cursorflow test --base-url http://localhost:3000 --path "/dashboard"
111
+
112
+ # Compare mockup to implementation
113
+ cursorflow compare-mockup https://mockup.com/design \
114
+ --base-url http://localhost:3000 \
115
+ --viewports '[{"width": 1440, "height": 900, "name": "desktop"}]'
116
+
117
+ # Iterate on CSS improvements
118
+ cursorflow iterate-mockup https://mockup.com/design \
119
+ --base-url http://localhost:3000 \
120
+ --css-improvements '[
121
+ {"name": "spacing", "css": ".container { gap: 2rem; }"},
122
+ {"name": "colors", "css": ".button { background: blue; }"}
123
+ ]'
124
+ ```
125
+
126
+ ## 🌐 Universal Framework Support
127
+
128
+ Works with any web technology:
129
+ - **Modern**: React, Vue, Angular, Next.js, Svelte
130
+ - **Traditional**: PHP, Django, Rails, Laravel
131
+ - **Legacy**: Perl, mod_perl, OpenSAS, Classic ASP
132
+ - **Any URL**: Local development, staging, production
133
+
134
+ ## 📊 What AI Gets
135
+
136
+ ### **Complete Element Data**
137
+ ```json
138
+ {
139
+ "tagName": "button",
140
+ "textContent": "Save Changes",
141
+ "boundingBox": {"x": 100, "y": 200, "width": 120, "height": 40},
142
+ "computedStyles": {
143
+ "backgroundColor": "rgb(0, 123, 255)",
144
+ "fontSize": "14px",
145
+ "padding": "8px 16px",
146
+ "borderRadius": "4px"
147
+ }
148
+ }
149
+ ```
150
+
151
+ ### **Network Activity**
152
+ ```json
153
+ {
154
+ "network_summary": {
155
+ "total_requests": 23,
156
+ "failed_requests": 2,
157
+ "average_response_time": 145.5
158
+ },
159
+ "failed_requests": [
160
+ {"url": "/api/data", "status": 404, "timing": 1250}
161
+ ]
162
+ }
163
+ ```
164
+
165
+ ### **Console Intelligence**
166
+ ```json
167
+ {
168
+ "console_summary": {
169
+ "error_count": 1,
170
+ "warning_count": 2
171
+ },
172
+ "errors": [
173
+ {"text": "Cannot read property 'id' of undefined", "location": "app.js:42"}
174
+ ]
175
+ }
176
+ ```
177
+
178
+ ## 📚 Documentation
179
+
180
+ **[📖 Complete User Manual](docs/USER_MANUAL.md)** - Everything you need:
181
+ - Installation and setup
182
+ - All features and examples
183
+ - CLI commands and Python API
184
+ - Troubleshooting guide
185
+
186
+ ## 🎯 Perfect for AI Development
187
+
188
+ CursorFlow is designed specifically for AI agents:
189
+ - **Complete data collection** - AI gets full context
190
+ - **Structured output** - Consistent JSON format
191
+ - **No analysis** - We collect, AI decides
192
+ - **Rapid iteration** - Fast feedback loops
193
+ - **Universal compatibility** - Works with any web app
194
+
195
+ ## Installation
196
+
197
+ ```bash
198
+ pip install cursorflow
199
+ ```
200
+
201
+ Browser dependencies install automatically on first use.
202
+
203
+ ---
204
+
205
+ **CursorFlow: The data collection engine that powers AI-driven web development.** 🚀