cursorflow 1.2.0__py3-none-any.whl → 1.3.0__py3-none-any.whl

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.
@@ -0,0 +1,226 @@
1
+ Metadata-Version: 2.4
2
+ Name: cursorflow
3
+ Version: 1.3.0
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 component - captures everything automatically
81
+ cursorflow test dashboard --base-url http://localhost:3000
82
+
83
+ # Compare mockup to implementation
84
+ cursorflow compare-mockup https://mockup.com/design --base-url http://localhost:3000
85
+ ```
86
+
87
+ ## 💻 Usage Examples
88
+
89
+ ### **Basic Testing**
90
+ ```python
91
+ from cursorflow import CursorFlow
92
+
93
+ flow = CursorFlow(base_url="http://localhost:3000")
94
+
95
+ # Every screenshot includes complete page data
96
+ results = await flow.execute_and_collect([
97
+ {"navigate": "/dashboard"},
98
+ {"screenshot": "loaded"} # Captures DOM, network, console, performance
99
+ ])
100
+
101
+ # Access structured data for AI analysis
102
+ screenshot = results['artifacts']['screenshots'][0]
103
+ elements = screenshot['dom_analysis']['elements'] # All elements + CSS
104
+ network = screenshot['network_data'] # All requests + timing
105
+ console = screenshot['console_data'] # All logs + errors
106
+ ```
107
+
108
+ ### **Mockup Comparison**
109
+ ```python
110
+ # Compare design to implementation with complete element data
111
+ results = await flow.compare_mockup_to_implementation(
112
+ mockup_url="https://mockup.com/design",
113
+ implementation_url="http://localhost:3000/dashboard"
114
+ )
115
+
116
+ # AI gets exact differences and CSS properties for every element
117
+ differences = results['layout_analysis']['element_differences']
118
+ ```
119
+
120
+ ### **CSS Iteration**
121
+ ```python
122
+ # Test CSS changes with hot reload - no page refresh needed
123
+ css_changes = [
124
+ {"name": "spacing", "css": ".container { gap: 2rem; }"},
125
+ {"name": "colors", "css": ".button { background: blue; }"}
126
+ ]
127
+
128
+ results = await flow.css_iteration_persistent(
129
+ base_actions=[{"navigate": "/page"}],
130
+ css_changes=css_changes
131
+ )
132
+ ```
133
+
134
+ ## 🔧 CLI Commands
135
+
136
+ ```bash
137
+ # Test component with complete data capture
138
+ cursorflow test component --base-url http://localhost:3000
139
+
140
+ # Compare mockup to implementation
141
+ cursorflow compare-mockup https://mockup.com/design --base-url http://localhost:3000
142
+
143
+ # Iterate on CSS improvements
144
+ cursorflow iterate-mockup https://mockup.com/design --base-url http://localhost:3000
145
+ ```
146
+
147
+ ## 🌐 Universal Framework Support
148
+
149
+ Works with any web technology:
150
+ - **Modern**: React, Vue, Angular, Next.js, Svelte
151
+ - **Traditional**: PHP, Django, Rails, Laravel
152
+ - **Legacy**: Perl, mod_perl, OpenSAS, Classic ASP
153
+ - **Any URL**: Local development, staging, production
154
+
155
+ ## 📊 What AI Gets
156
+
157
+ ### **Complete Element Data**
158
+ ```json
159
+ {
160
+ "tagName": "button",
161
+ "textContent": "Save Changes",
162
+ "boundingBox": {"x": 100, "y": 200, "width": 120, "height": 40},
163
+ "computedStyles": {
164
+ "backgroundColor": "rgb(0, 123, 255)",
165
+ "fontSize": "14px",
166
+ "padding": "8px 16px",
167
+ "borderRadius": "4px"
168
+ }
169
+ }
170
+ ```
171
+
172
+ ### **Network Activity**
173
+ ```json
174
+ {
175
+ "network_summary": {
176
+ "total_requests": 23,
177
+ "failed_requests": 2,
178
+ "average_response_time": 145.5
179
+ },
180
+ "failed_requests": [
181
+ {"url": "/api/data", "status": 404, "timing": 1250}
182
+ ]
183
+ }
184
+ ```
185
+
186
+ ### **Console Intelligence**
187
+ ```json
188
+ {
189
+ "console_summary": {
190
+ "error_count": 1,
191
+ "warning_count": 2
192
+ },
193
+ "errors": [
194
+ {"text": "Cannot read property 'id' of undefined", "location": "app.js:42"}
195
+ ]
196
+ }
197
+ ```
198
+
199
+ ## 📚 Documentation
200
+
201
+ **[📖 Complete User Manual](docs/USER_MANUAL.md)** - Everything you need:
202
+ - Installation and setup
203
+ - All features and examples
204
+ - CLI commands and Python API
205
+ - Troubleshooting guide
206
+
207
+ ## 🎯 Perfect for AI Development
208
+
209
+ CursorFlow is designed specifically for AI agents:
210
+ - **Complete data collection** - AI gets full context
211
+ - **Structured output** - Consistent JSON format
212
+ - **No analysis** - We collect, AI decides
213
+ - **Rapid iteration** - Fast feedback loops
214
+ - **Universal compatibility** - Works with any web app
215
+
216
+ ## Installation
217
+
218
+ ```bash
219
+ pip install cursorflow
220
+ ```
221
+
222
+ Browser dependencies install automatically on first use.
223
+
224
+ ---
225
+
226
+ **CursorFlow: The data collection engine that powers AI-driven web development.** 🚀
@@ -1,25 +1,27 @@
1
1
  cursorflow/__init__.py,sha256=nRmHnnnsbDH1A7_d3XkmzB5iJ44bt124zAQhaEhscyY,2450
2
2
  cursorflow/auto_updater.py,sha256=oQ12TIMZ6Cm3HF-x9iRWFtvOLkRh-JWPqitS69-4roE,7851
3
- cursorflow/cli.py,sha256=_ntz6eWElMwvkROtEadUDJgvri6J2I9XbmgbgQuQNT4,14943
3
+ cursorflow/cli.py,sha256=cE4W8XGAaS8NBw94aKVciWMvV6rqi0-waA2bB2O88kM,24026
4
4
  cursorflow/updater.py,sha256=pvbSZgg6hgWZBE5AAUPppS5Yzv0yNMp2X_CL2GALg_w,18783
5
5
  cursorflow/core/agent.py,sha256=f3lecgEzDRDdGTVccAtorpLGfNJJ49bbsQAmgr0vNGg,10136
6
6
  cursorflow/core/auth_handler.py,sha256=oRafO6ZdxoHryBIvHsrNV8TECed4GXpJsdEiH0KdPPk,17149
7
- cursorflow/core/browser_controller.py,sha256=rta5P03UIB4BCAfS3KB2pAnCkFXFb7n8L-LE_rkoFOU,21972
7
+ cursorflow/core/browser_controller.py,sha256=dANWxOV4oMdsiuznuzOxkv08iV03yuRdDN2lX17IGXM,57144
8
8
  cursorflow/core/browser_engine.py,sha256=Glq8U_bXRkO2Yal0nku7Z2wKwOftY4So2XN4oy56WLo,13732
9
9
  cursorflow/core/css_iterator.py,sha256=whLCIwbHZEWaH1HCbmqhNX5zrh_fL-r3hsxKjYsukcE,16478
10
- cursorflow/core/cursor_integration.py,sha256=inrezaIPCf4NrCmEqQqEcwaLpW3Na9cxoUoTC9PsBCA,32835
11
- cursorflow/core/cursorflow.py,sha256=L6KMaqO5bVn5j64tVyDWiHnXbs7c7WS6U8PBfTc_8FA,25957
10
+ cursorflow/core/cursor_integration.py,sha256=MAeHjXYeqzaXnhskqkTDB-n5ixIHqapGe93X0lLKhws,67501
11
+ cursorflow/core/cursorflow.py,sha256=GohWXvCLTsIIxI2UBRkFPM3yptbPNw4wI1vxKRPPMd0,31816
12
12
  cursorflow/core/error_correlator.py,sha256=g6YaIF2yFXUDrTuWHCyuES6K0696H8LDWmXH1qI8ddA,13367
13
13
  cursorflow/core/event_correlator.py,sha256=3y3SqaH4Ake-YD70136i_gOy_nR0f9AO7hoDu5djpEE,6826
14
14
  cursorflow/core/file_change_monitor.py,sha256=tl_ZdsGW8LZBTImniD-lqaGgNb9dYjlDsP2XmevE0xk,21258
15
15
  cursorflow/core/log_collector.py,sha256=vZ2Slm6C_OOi68xROWpXPSZqzzQAWK0sk5xEybGlA4w,14217
16
16
  cursorflow/core/log_monitor.py,sha256=pONMu_JHEnT0T62OA5KRZ4nClzKgNpifPyrfN5w_RM8,6704
17
+ cursorflow/core/mockup_comparator.py,sha256=QBcUrqERsAizklTbQmaohtSpa9r9xdgHkAjdkqHyTtk,63754
17
18
  cursorflow/core/persistent_session.py,sha256=FsEHj4wKkycmdp6PFRHv3g333Y74yqra0x_qhUTQpik,36075
18
19
  cursorflow/core/report_generator.py,sha256=-vosfyrnfVyWDbAIMlMurl90xOXqBae8d6aLd9sEqiY,10113
19
20
  cursorflow/log_sources/local_file.py,sha256=SwA294n_Ozg76ZUF5nPn5W2Fts_XtSOHEcO2S65vnjc,6768
20
21
  cursorflow/log_sources/ssh_remote.py,sha256=TrE9FZ4aI6Cz1vChjvG8RC2KrNlgRKtG0_hC1w8pGDA,7106
21
- cursorflow-1.2.0.dist-info/METADATA,sha256=bPsCru058VHEBnHx54mBrZR8D4kOLWaAfhEfgV6Khq4,13888
22
- cursorflow-1.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
23
- cursorflow-1.2.0.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
24
- cursorflow-1.2.0.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
25
- cursorflow-1.2.0.dist-info/RECORD,,
22
+ cursorflow-1.3.0.dist-info/licenses/LICENSE,sha256=e4QbjAsj3bW-xgQOvQelr8sGLYDoqc48k6cKgCr_pBU,1080
23
+ cursorflow-1.3.0.dist-info/METADATA,sha256=cLggB4V0-twK1XBZMk-Hnrdme0vdN3RwNan9FbrwIqY,6960
24
+ cursorflow-1.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
25
+ cursorflow-1.3.0.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
26
+ cursorflow-1.3.0.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
27
+ cursorflow-1.3.0.dist-info/RECORD,,
@@ -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.