cursorflow 2.6.3__py3-none-any.whl → 2.7.1__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.
@@ -6,17 +6,256 @@ alwaysApply: true
6
6
 
7
7
  # CursorFlow Usage Rules for Cursor AI
8
8
 
9
- ## 🔥 **CursorFlow: Complete Page Intelligence for AI-Driven Development**
9
+ ## 🔥 **CursorFlow: AI-Native Testing with Optimized Output**
10
10
 
11
- **CursorFlow provides comprehensive data collection for rapid UI iteration:**
11
+ **CursorFlow v2.7.0 provides comprehensive data collection + AI-optimized output:**
12
12
 
13
+ - 🎯 **AI-Optimized Output** - Multi-file format, each <100K tokens (v2.7.0)
14
+ - 🔍 **Query Interface** - Instant data extraction, no manual JSON parsing (v2.7.0)
13
15
  - 🔥 **Hot Reload Intelligence** - Auto-detects Vite, Webpack, Next.js, Parcel, Laravel Mix
14
16
  - 🧠 **Advanced Element Intelligence** - 7 selector strategies + accessibility analysis
15
17
  - 📊 **Comprehensive Page Analysis** - Fonts, animations, resources, storage state
16
- - 🎯 **Enhanced Error Context Collection** - Smart screenshot deduplication
17
- - ⚡ **Enhanced Browser Data Capture** - Playwright traces + network interception
18
- - 📱 **Parallel Viewport Testing** - Mobile, tablet, desktop responsive testing
19
- - 🖼️ **Enhanced Screenshot Options** - Clipping, masking, quality control
18
+ - 🎯 **Enhanced Error Context** - Smart screenshot deduplication
19
+ - ⚡ **Enhanced Browser Data** - Playwright traces + network interception
20
+
21
+ ## **CRITICAL: Test Output Now AI-Readable (v2.7.0)**
22
+
23
+ **Before v2.7.0:** Single 3.7M token JSON (exceeded AI context limits)
24
+ **After v2.7.0:** Organized multi-file structure, AI digest, query interface
25
+
26
+ ```bash
27
+ # Test generates AI-optimized output automatically
28
+ cursorflow test --base-url http://localhost:3000 --path /app --logs local
29
+
30
+ # Output structure (ALL data types captured automatically):
31
+ .cursorflow/artifacts/sessions/session_XXX/
32
+ ├── summary.json # Core metrics (2-5KB, ~500 tokens)
33
+ ├── errors.json # Console errors (10-50KB, ~8K tokens)
34
+ ├── network.json # Network data (50-200KB, ~35K tokens)
35
+ ├── console.json # Console messages (20-100KB)
36
+ ├── server_logs.json # SERVER LOGS (SSH/local/Docker) ⭐
37
+ ├── dom_analysis.json # DOM data (500KB-2MB, ~440K tokens)
38
+ ├── performance.json # Performance metrics (10-30KB)
39
+ ├── timeline.json # Event timeline (20-50KB)
40
+ ├── screenshots.json # Screenshot metadata
41
+ ├── data_digest.md # AI summary (10-20KB, ~3.5K tokens) ⭐
42
+ └── screenshots/ # Visual artifacts
43
+
44
+ # Optional data (if specific features used):
45
+ ├── mockup_comparison.json # If compare-mockup used
46
+ ├── responsive_results.json # If --responsive used
47
+ └── css_iterations.json # If css_iteration_session used
48
+
49
+ # WORKFLOW FOR AI AGENTS:
50
+ # 1. Read data_digest.md first (instant overview - includes server logs!)
51
+ # 2. Query specific data as needed
52
+ # 3. Compare sessions for regression detection
53
+ ```
54
+
55
+ ## 🔍 **Query Interface - Use This Instead of Reading JSON**
56
+
57
+ **Fast data extraction without manual parsing - ALL data types supported:**
58
+
59
+ ### Core Data Queries
60
+
61
+ ```bash
62
+ # List recent sessions
63
+ cursorflow query --list
64
+
65
+ # Browser console errors
66
+ cursorflow query session_123 --errors
67
+ cursorflow query session_123 --errors --severity critical
68
+
69
+ # Server logs (SSH/local/Docker/systemd)
70
+ cursorflow query session_123 --server-logs
71
+ cursorflow query session_123 --server-logs --level error,warning
72
+ cursorflow query session_123 --server-logs --source ssh
73
+ cursorflow query session_123 --server-logs --pattern "database"
74
+ cursorflow query session_123 --server-logs --contains "timeout"
75
+
76
+ # Network requests
77
+ cursorflow query session_123 --network
78
+ cursorflow query session_123 --network --failed
79
+ cursorflow query session_123 --network --status 4xx,5xx
80
+
81
+ # Console messages
82
+ cursorflow query session_123 --console
83
+ cursorflow query session_123 --console --type error,warning
84
+
85
+ # Performance & summary
86
+ cursorflow query session_123 --performance
87
+ cursorflow query session_123 --summary
88
+ ```
89
+
90
+ ### Advanced Data Queries
91
+
92
+ ```bash
93
+ # DOM analysis
94
+ cursorflow query session_123 --dom --selector "button"
95
+
96
+ # Screenshots
97
+ cursorflow query session_123 --screenshots
98
+ cursorflow query session_123 --screenshots --with-errors
99
+
100
+ # Timeline events
101
+ cursorflow query session_123 --timeline --around 1234567890
102
+
103
+ # Responsive results (if used --responsive)
104
+ cursorflow query session_123 --responsive --viewport mobile
105
+
106
+ # Mockup comparison (if used compare-mockup)
107
+ cursorflow query session_123 --mockup
108
+
109
+ # CSS iterations (if used css_iteration_session)
110
+ cursorflow query session_123 --css-iterations --iteration 3
111
+ ```
112
+
113
+ ### Export & Comparison
114
+
115
+ ```bash
116
+ # Export formats
117
+ cursorflow query session_123 --errors --export markdown
118
+ cursorflow query session_123 --server-logs --export csv
119
+
120
+ # Session comparison (regression detection)
121
+ cursorflow query session_baseline --compare-with session_current
122
+ cursorflow query session_A --compare-with session_B --errors
123
+ cursorflow query session_A --compare-with session_B --server-logs
124
+ ```
125
+
126
+ **AI Agent Workflow:**
127
+ 1. Run test: `cursorflow test ...`
128
+ 2. Read AI digest: `cat .cursorflow/artifacts/sessions/session_XXX/data_digest.md`
129
+ 3. Query details: `cursorflow query session_XXX --errors` or `--server-logs`
130
+ 4. Make decisions based on organized data
131
+
132
+ ### Enhanced Query Capabilities
133
+
134
+ **Smart Filtering:**
135
+ ```bash
136
+ # Filter errors by source/content/time
137
+ cursorflow query session_XXX --errors --from-file "app.js"
138
+ cursorflow query session_XXX --errors --contains "undefined"
139
+ cursorflow query session_XXX --errors --matches "TypeError.*"
140
+
141
+ # Filter network by URL/timing/method
142
+ cursorflow query session_XXX --network --url-contains "/api/"
143
+ cursorflow query session_XXX --network --over 500ms # Slow requests
144
+ cursorflow query session_XXX --network --method POST
145
+
146
+ # Filter DOM by visibility/interaction
147
+ cursorflow query session_XXX --dom --visible
148
+ cursorflow query session_XXX --dom --interactive
149
+ cursorflow query session_XXX --dom --role button
150
+ ```
151
+
152
+ **Cross-Referencing (time-based correlation):**
153
+ ```bash
154
+ # Errors with related data (±5s window)
155
+ cursorflow query session_XXX --errors --with-network
156
+ cursorflow query session_XXX --errors --with-server-logs
157
+ cursorflow query session_XXX --network --failed --with-errors
158
+ ```
159
+
160
+ **Contextual Queries:**
161
+ ```bash
162
+ # Full context for error
163
+ cursorflow query session_XXX --context-for-error 2 --window 10
164
+ # Returns: Error + network/console/server logs within ±10s
165
+
166
+ # Group by pattern
167
+ cursorflow query session_XXX --group-by-url "/api/users"
168
+ cursorflow query session_XXX --group-by-selector "#button"
169
+ ```
170
+
171
+ **Enhanced Comparison:**
172
+ ```bash
173
+ # Message-level comparison
174
+ cursorflow query session_A --compare-with session_B --errors
175
+ # Shows: new_errors, fixed_errors, frequency_changes
176
+ ```
177
+
178
+ ---
179
+
180
+ ## 📊 **Server Log Monitoring (AUTOMATIC CAPTURE)**
181
+
182
+ **Server logs are captured automatically during every test** - correlated with browser events by timestamp for complete visibility.
183
+
184
+ **Configuration (Python API):**
185
+ ```python
186
+ # SSH Remote Logs
187
+ flow = CursorFlow(
188
+ base_url="https://staging.example.com",
189
+ log_config={
190
+ "source": "ssh",
191
+ "ssh_config": {
192
+ "hostname": "staging-server",
193
+ "username": "deploy",
194
+ "key_file": "~/.ssh/staging_key"
195
+ },
196
+ "paths": ["/var/log/app/error.log", "/var/log/httpd/error_log"]
197
+ }
198
+ )
199
+
200
+ # Local Logs
201
+ flow = CursorFlow(
202
+ base_url="http://localhost:3000",
203
+ log_config={
204
+ "source": "local",
205
+ "paths": ["logs/app.log", "logs/error.log"]
206
+ }
207
+ )
208
+
209
+ # Docker Logs
210
+ flow = CursorFlow(
211
+ base_url="http://localhost:3000",
212
+ log_config={
213
+ "source": "docker",
214
+ "container_name": "app-container",
215
+ "paths": ["/var/log/app.log"]
216
+ }
217
+ )
218
+ ```
219
+
220
+ **Configuration (CLI via config file):**
221
+ ```json
222
+ {
223
+ "environments": {
224
+ "staging": {
225
+ "base_url": "https://staging.example.com",
226
+ "logs": "ssh",
227
+ "ssh_config": {
228
+ "hostname": "staging-server",
229
+ "username": "deploy",
230
+ "key_file": "~/.ssh/staging_key"
231
+ },
232
+ "log_paths": {
233
+ "app_error": "/var/log/app/error.log",
234
+ "apache_error": "/var/log/httpd/error_log"
235
+ }
236
+ },
237
+ "local": {
238
+ "base_url": "http://localhost:3000",
239
+ "logs": "local",
240
+ "log_paths": {
241
+ "app": "logs/app.log"
242
+ }
243
+ }
244
+ }
245
+ }
246
+ ```
247
+
248
+ **CLI Usage:**
249
+ ```bash
250
+ # Use configured log source
251
+ cursorflow test --base-url http://localhost:3000 --logs local
252
+ cursorflow test --base-url https://staging.example.com --logs ssh --config config.json
253
+
254
+ # Server logs appear in results:
255
+ # - server_logs.json (dedicated file)
256
+ # - timeline.json (correlated with browser events)
257
+ # - data_digest.md (server errors section)
258
+ ```
20
259
 
21
260
  ## When to Use CursorFlow
22
261
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cursorflow
3
- Version: 2.6.3
3
+ Version: 2.7.1
4
4
  Summary: 🔥 Complete page intelligence for AI-driven development with Hot Reload Intelligence - captures DOM, network, console, performance, HMR events, and comprehensive page analysis
5
5
  Author-email: GeekWarrior Development <rbush@cooltheory.com>
6
6
  License-Expression: MIT
@@ -198,6 +198,64 @@ All data structured for AI consumption:
198
198
  - Error correlation with **smart screenshot deduplication**
199
199
  - Performance insights with **reliability metadata**
200
200
 
201
+ ## ✨ What's New in v2.7.1
202
+
203
+ **AI-Optimized Output with Complete Data Type Coverage** - All CursorFlow features now organized for AI consumption:
204
+
205
+ - **Multi-File Structure**: Split 3.7M token JSON → organized files under 100K tokens each
206
+ - **Complete Coverage**: Browser console, server logs, network, DOM, screenshots - all queryable
207
+ - **AI Data Digest**: Auto-generated markdown summary with server logs included
208
+ - **Query Interface**: Fast data extraction for ALL data types without manual JSON parsing
209
+ - **Session Comparison**: Compare test results to detect regressions
210
+ - **Export Formats**: JSON, Markdown, CSV outputs for any use case
211
+
212
+ ```bash
213
+ # Test generates AI-optimized output automatically
214
+ cursorflow test --base-url http://localhost:3000 --path /app --logs local
215
+
216
+ # Query ANY data type instantly
217
+ cursorflow query session_123 --errors # Console errors
218
+ cursorflow query session_123 --server-logs # Server logs
219
+ cursorflow query session_123 --network --failed # Network failures
220
+ cursorflow query session_123 --screenshots # Screenshot index
221
+ cursorflow query session_123 --responsive # Responsive results
222
+ cursorflow query session_123 --css-iterations # CSS iterations
223
+
224
+ # Enhanced filtering
225
+ cursorflow query session_123 --errors --from-file "app.js" --contains "undefined"
226
+ cursorflow query session_123 --network --url-contains "/api/" --over 500ms
227
+ cursorflow query session_123 --server-logs --level error --pattern "database"
228
+
229
+ # Cross-referencing (time-based correlation)
230
+ cursorflow query session_123 --errors --with-network --with-server-logs
231
+
232
+ # Contextual queries
233
+ cursorflow query session_123 --context-for-error 2 --window 10
234
+ cursorflow query session_123 --group-by-url "/api/users"
235
+
236
+ # Enhanced comparison
237
+ cursorflow query session_A --compare-with session_B --errors
238
+ ```
239
+
240
+ **Impact:**
241
+ - ✅ 100% AI-readable results (vs 0% before - exceeded context limits)
242
+ - ✅ 90% faster error diagnosis with AI assistants
243
+ - ✅ Zero manual JSON parsing required
244
+ - ✅ Complete backend + frontend visibility (server logs included)
245
+
246
+ **Complete Data Coverage:**
247
+ ```
248
+ .cursorflow/artifacts/sessions/session_XXX/
249
+ ├── server_logs.json # ⭐ Server-side logs (SSH/local/Docker)
250
+ ├── errors.json # Browser console errors
251
+ ├── network.json # Network requests/responses
252
+ ├── screenshots.json # ⭐ Screenshot metadata
253
+ ├── data_digest.md # AI summary (includes server logs)
254
+ └── + 6 more data files covering all CursorFlow features
255
+ ```
256
+
257
+ ---
258
+
201
259
  ## 🚀 Quick Start
202
260
 
203
261
  ### Step 1: Install CursorFlow Package
@@ -1,7 +1,7 @@
1
1
  cursorflow/__init__.py,sha256=2V9xzG2tYxVWOTmSw2v9Jdbr7lSrMi_y2SMUMuNZdvw,2990
2
2
  cursorflow/auto_init.py,sha256=dXQaXXiXe4wkUP-jd8fcJ5fYVt7ASdTb47b7SzXymOM,6122
3
3
  cursorflow/auto_updater.py,sha256=oQ12TIMZ6Cm3HF-x9iRWFtvOLkRh-JWPqitS69-4roE,7851
4
- cursorflow/cli.py,sha256=-gzdhMgkLxhzeCqiQaPNCgUN8jC1g8MYV4YpQmC8hVM,65834
4
+ cursorflow/cli.py,sha256=2jPCIBTGdN7ZFFf7HpWNHdtdEZ27vJSx5P_t4L7Y1Z8,79716
5
5
  cursorflow/install_cursorflow_rules.py,sha256=DsZ0680y9JMuTKFXjdgYtOKIEAjBMsdwL8LmA9WEb5A,11864
6
6
  cursorflow/post_install.py,sha256=WieBiKWG0qBAQpF8iMVWUyb9Fr2Xky9qECTMPrlAbpE,2678
7
7
  cursorflow/updater.py,sha256=SroSQHQi5cYyzcOK_bf-WzmQmE7yeOs8qo3r__j-Z6E,19583
@@ -13,7 +13,8 @@ cursorflow/core/browser_engine.py,sha256=7N9hPOyDrEhLWYgZW2981N9gKlHF6Lbp7D7h0zB
13
13
  cursorflow/core/config_validator.py,sha256=HRtONSOmM0Xxt3-ok3xwnBADRiNnI0nNOMaS2OqOkDk,7286
14
14
  cursorflow/core/css_iterator.py,sha256=whLCIwbHZEWaH1HCbmqhNX5zrh_fL-r3hsxKjYsukcE,16478
15
15
  cursorflow/core/cursor_integration.py,sha256=MAeHjXYeqzaXnhskqkTDB-n5ixIHqapGe93X0lLKhws,67501
16
- cursorflow/core/cursorflow.py,sha256=j1LRNiRpUl3gZlB3r-yQ_h0HISNwnhi8-iZa_E0h86o,46111
16
+ cursorflow/core/cursorflow.py,sha256=TqlJqyT9Y294aL_JpAV4G8MMelIESRI9VX6Z3fCyj2c,46467
17
+ cursorflow/core/data_presenter.py,sha256=N9VAuRxwegif_l9dtBdcr92MZ3MkRqJW2qy07BNuaSw,18317
17
18
  cursorflow/core/error_context_collector.py,sha256=so-aveqwb6_vRDbtKR2ln8_F84aaVIceNi1UHsaVPgc,26196
18
19
  cursorflow/core/error_correlator.py,sha256=g6YaIF2yFXUDrTuWHCyuES6K0696H8LDWmXH1qI8ddA,13367
19
20
  cursorflow/core/event_correlator.py,sha256=lCzXFnii17AQt3rOVOclez_AnjvBCF_2ZlnFG0mIN6c,7808
@@ -23,17 +24,19 @@ cursorflow/core/json_utils.py,sha256=ofqRP1twDSHQx-SERgLTO5y2ZXkoirsEw8OOiJkGh2w
23
24
  cursorflow/core/log_collector.py,sha256=CYh41SLDI_t-hgzJqG3fTrSTDhEPFDktjO_mOQwucnE,15198
24
25
  cursorflow/core/log_monitor.py,sha256=pONMu_JHEnT0T62OA5KRZ4nClzKgNpifPyrfN5w_RM8,6704
25
26
  cursorflow/core/mockup_comparator.py,sha256=ttcXdueZz9dwcUGBQ2sft4i66zRdkZkFPu41s6JlEwU,63472
27
+ cursorflow/core/output_manager.py,sha256=fyIhxoJO1Hps8HgGMEekzfSfFqcO4iy7YliXes2nvxI,22054
26
28
  cursorflow/core/persistent_session.py,sha256=FsEHj4wKkycmdp6PFRHv3g333Y74yqra0x_qhUTQpik,36075
29
+ cursorflow/core/query_engine.py,sha256=kNqnVk_QxJXkhF2p9TM3L6J8w7pBVob1wEo-vPfSrP4,54075
27
30
  cursorflow/core/report_generator.py,sha256=-vosfyrnfVyWDbAIMlMurl90xOXqBae8d6aLd9sEqiY,10113
28
31
  cursorflow/core/trace_manager.py,sha256=Jj9ultZrL1atiZXfcRVI6ynCnnfqZM-X0_taxt-llJ0,7189
29
32
  cursorflow/log_sources/local_file.py,sha256=GVnhsaifIdc41twXwbxRM9-fBeRDsknDpk5IEGulnhQ,8318
30
33
  cursorflow/log_sources/ssh_remote.py,sha256=_Kwh0bhRpKgq-0c98oaX2hN6h9cT-wCHlqY5NiWVCoY,8388
31
34
  cursorflow/rules/__init__.py,sha256=gPcA-IkhXj03sl7cvZV0wwo7CtEkcyuKs4y0F5oQbqE,458
32
35
  cursorflow/rules/cursorflow-installation.mdc,sha256=D55pzzDPAVVbE3gAtKPUGoT-2fvB-FI2l6yrTdzUIEo,10208
33
- cursorflow/rules/cursorflow-usage.mdc,sha256=W56Qydfb4jqSBTrki7cNyFPfOe_b89mzniRtKSrMlz4,24138
34
- cursorflow-2.6.3.dist-info/licenses/LICENSE,sha256=e4QbjAsj3bW-xgQOvQelr8sGLYDoqc48k6cKgCr_pBU,1080
35
- cursorflow-2.6.3.dist-info/METADATA,sha256=NFnew-OVbuPvE-0Bmt5TG0CDgNWdaw-76D8HkeDoet8,15011
36
- cursorflow-2.6.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
- cursorflow-2.6.3.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
38
- cursorflow-2.6.3.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
39
- cursorflow-2.6.3.dist-info/RECORD,,
36
+ cursorflow/rules/cursorflow-usage.mdc,sha256=e5l9sKtrkphRSOfqZTN7fvTvzPNoBAuVyCxFpAJ4uYY,31403
37
+ cursorflow-2.7.1.dist-info/licenses/LICENSE,sha256=e4QbjAsj3bW-xgQOvQelr8sGLYDoqc48k6cKgCr_pBU,1080
38
+ cursorflow-2.7.1.dist-info/METADATA,sha256=uRVlMJxjtG1AUAe5Udd5AxUW_As2EVhz9qrhGOVY09E,17538
39
+ cursorflow-2.7.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
+ cursorflow-2.7.1.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
41
+ cursorflow-2.7.1.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
42
+ cursorflow-2.7.1.dist-info/RECORD,,