cursorflow 2.7.2__py3-none-any.whl → 2.7.3__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.
- cursorflow/cli.py +0 -3
- cursorflow/rules/cursorflow-usage.mdc +109 -0
- {cursorflow-2.7.2.dist-info → cursorflow-2.7.3.dist-info}/METADATA +72 -1
- {cursorflow-2.7.2.dist-info → cursorflow-2.7.3.dist-info}/RECORD +8 -8
- {cursorflow-2.7.2.dist-info → cursorflow-2.7.3.dist-info}/WHEEL +0 -0
- {cursorflow-2.7.2.dist-info → cursorflow-2.7.3.dist-info}/entry_points.txt +0 -0
- {cursorflow-2.7.2.dist-info → cursorflow-2.7.3.dist-info}/licenses/LICENSE +0 -0
- {cursorflow-2.7.2.dist-info → cursorflow-2.7.3.dist-info}/top_level.txt +0 -0
cursorflow/cli.py
CHANGED
@@ -337,9 +337,6 @@ def test(base_url, path, actions, output, logs, config, verbose, headless, timeo
|
|
337
337
|
with open(last_test_file, 'w') as f:
|
338
338
|
json.dump(last_test_data, f, indent=2, default=str)
|
339
339
|
|
340
|
-
console.print(f"💾 Full results saved to: [cyan]{output}[/cyan]")
|
341
|
-
console.print(f"📁 Artifacts stored in: [cyan].cursorflow/artifacts/[/cyan]")
|
342
|
-
|
343
340
|
# Phase 3.4: Auto-open trace
|
344
341
|
if open_trace and 'artifacts' in results and 'trace' in results['artifacts']:
|
345
342
|
trace_path = results['artifacts']['trace']
|
@@ -6,6 +6,115 @@ alwaysApply: true
|
|
6
6
|
|
7
7
|
# CursorFlow Usage Rules for Cursor AI
|
8
8
|
|
9
|
+
## 🎯 **AI AGENT QUICK START - Read This First**
|
10
|
+
|
11
|
+
### Instant Decision Tree
|
12
|
+
|
13
|
+
**User reports error?**
|
14
|
+
→ `cursorflow test --base-url URL --path /page`
|
15
|
+
→ `cat .cursorflow/artifacts/sessions/session_XXX/data_digest.md`
|
16
|
+
→ `cursorflow query session_XXX --errors --with-server-logs --with-network`
|
17
|
+
→ Analyze correlated data, make fix
|
18
|
+
|
19
|
+
**User wants CSS/styling change?**
|
20
|
+
→ Python API: `css_iteration_persistent()`
|
21
|
+
→ Test 2-3 CSS variations
|
22
|
+
→ Apply best result
|
23
|
+
|
24
|
+
**User reports slow page?**
|
25
|
+
→ `cursorflow query session_XXX --network --over 500ms`
|
26
|
+
→ `cursorflow query session_XXX --performance`
|
27
|
+
→ Identify bottlenecks
|
28
|
+
|
29
|
+
**User debugging network failure?**
|
30
|
+
→ `cursorflow query session_XXX --network --failed --with-errors`
|
31
|
+
→ See errors that happened around network failure
|
32
|
+
→ `cursorflow query session_XXX --server-logs --pattern "api"`
|
33
|
+
|
34
|
+
---
|
35
|
+
|
36
|
+
## 🔍 **Common Debugging Patterns - Copy These**
|
37
|
+
|
38
|
+
### Pattern 1: "Page has JavaScript error"
|
39
|
+
```bash
|
40
|
+
# 1. Capture current state
|
41
|
+
cursorflow test --base-url http://localhost:3000 --path /page
|
42
|
+
|
43
|
+
# 2. Get error context
|
44
|
+
cursorflow query session_XXX --errors --export markdown
|
45
|
+
|
46
|
+
# 3. Find what triggered it
|
47
|
+
cursorflow query session_XXX --context-for-error 0 --window 10
|
48
|
+
|
49
|
+
# 4. Check server logs
|
50
|
+
cursorflow query session_XXX --server-logs --level error
|
51
|
+
```
|
52
|
+
|
53
|
+
### Pattern 2: "API call failing"
|
54
|
+
```bash
|
55
|
+
# 1. Find failed request
|
56
|
+
cursorflow query session_XXX --network --failed
|
57
|
+
|
58
|
+
# 2. Get full context
|
59
|
+
cursorflow query session_XXX --network --url-contains "/api/" --with-errors
|
60
|
+
|
61
|
+
# 3. Check server side
|
62
|
+
cursorflow query session_XXX --server-logs --pattern "api" --level error
|
63
|
+
```
|
64
|
+
|
65
|
+
### Pattern 3: "Feature broken after deployment"
|
66
|
+
```bash
|
67
|
+
# 1. Test current version
|
68
|
+
cursorflow test --base-url https://staging.com --path /feature
|
69
|
+
|
70
|
+
# 2. Compare with baseline
|
71
|
+
cursorflow query session_new --compare-with session_baseline --errors
|
72
|
+
cursorflow query session_new --compare-with session_baseline --network
|
73
|
+
|
74
|
+
# 3. Identify regressions
|
75
|
+
# Shows: new_errors, fixed_errors, timing_changes
|
76
|
+
```
|
77
|
+
|
78
|
+
### Pattern 4: "Element not visible/clickable"
|
79
|
+
```bash
|
80
|
+
# 1. Inspect element
|
81
|
+
cursorflow inspect --base-url URL --path /page --selector ".element"
|
82
|
+
|
83
|
+
# 2. Query DOM
|
84
|
+
cursorflow query session_XXX --dom --selector ".element"
|
85
|
+
|
86
|
+
# 3. Check if hidden
|
87
|
+
cursorflow query session_XXX --dom --visible
|
88
|
+
```
|
89
|
+
|
90
|
+
### Pattern 5: "Slow page load"
|
91
|
+
```bash
|
92
|
+
# 1. Find slow requests
|
93
|
+
cursorflow query session_XXX --network --over 1000ms
|
94
|
+
|
95
|
+
# 2. Group by URL
|
96
|
+
cursorflow query session_XXX --group-by-url "/api/slow"
|
97
|
+
|
98
|
+
# 3. Check performance
|
99
|
+
cursorflow query session_XXX --performance
|
100
|
+
```
|
101
|
+
|
102
|
+
---
|
103
|
+
|
104
|
+
## 💡 **What Each Query Reveals - AI Agent Guide**
|
105
|
+
|
106
|
+
**`--errors`** → Error message, source file, line number, stack trace
|
107
|
+
**`--errors --with-network`** → Errors + network requests within ±5s (find API failures)
|
108
|
+
**`--errors --with-server-logs`** → Errors + backend logs (complete picture)
|
109
|
+
**`--network --failed`** → All 4xx/5xx responses with headers and timing
|
110
|
+
**`--network --over 500ms`** → Slow requests (bottleneck identification)
|
111
|
+
**`--server-logs --level error`** → Backend errors with timestamps
|
112
|
+
**`--context-for-error 0`** → Everything within ±5s of error (deep debugging)
|
113
|
+
**`--group-by-url "/api/X"`** → All data for specific endpoint
|
114
|
+
**`session_A --compare-with session_B`** → New/fixed errors, timing changes
|
115
|
+
|
116
|
+
---
|
117
|
+
|
9
118
|
## 🔥 **CursorFlow: AI-Native Testing with Optimized Output**
|
10
119
|
|
11
120
|
**CursorFlow v2.7.0 provides comprehensive data collection + AI-optimized output:**
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: cursorflow
|
3
|
-
Version: 2.7.
|
3
|
+
Version: 2.7.3
|
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
|
@@ -256,6 +256,77 @@ cursorflow query session_A --compare-with session_B --errors
|
|
256
256
|
|
257
257
|
---
|
258
258
|
|
259
|
+
## 🤖 **For AI Agents: Start Here**
|
260
|
+
|
261
|
+
### 3-Second Decision Guide
|
262
|
+
|
263
|
+
| User Says | Command | What You Get |
|
264
|
+
|-----------|---------|--------------|
|
265
|
+
| "Debug this error" | `cursorflow test` → `query session_X --errors --with-network` | Error + network + server logs correlated |
|
266
|
+
| "Fix this CSS" | Python: `css_iteration_persistent()` | Visual comparison of CSS variations |
|
267
|
+
| "Why is this slow?" | `query session_X --network --over 500ms` | Slow requests identified |
|
268
|
+
| "Test login flow" | `cursorflow test --actions '[...]'` | Complete flow with server correlation |
|
269
|
+
|
270
|
+
### Complete Debugging Example
|
271
|
+
|
272
|
+
```bash
|
273
|
+
# User: "There's a JavaScript error on the dashboard"
|
274
|
+
|
275
|
+
# 1. Capture (5 seconds)
|
276
|
+
cursorflow test --base-url http://localhost:3000 --path /dashboard
|
277
|
+
|
278
|
+
# 2. Diagnose (10 seconds)
|
279
|
+
cat .cursorflow/artifacts/sessions/session_XXX/data_digest.md
|
280
|
+
cursorflow query session_XXX --errors
|
281
|
+
|
282
|
+
# 3. Get context (5 seconds)
|
283
|
+
cursorflow query session_XXX --context-for-error 0 --export markdown
|
284
|
+
|
285
|
+
# 4. Fix based on correlated data
|
286
|
+
# (You now have: error message, stack trace, network requests, server logs)
|
287
|
+
```
|
288
|
+
|
289
|
+
**Total time: 20 seconds from problem to actionable diagnosis**
|
290
|
+
|
291
|
+
### When User Mentions...
|
292
|
+
|
293
|
+
**"Error", "Broken", "Not working"**
|
294
|
+
1. `cursorflow test` to capture
|
295
|
+
2. `query --errors` to identify
|
296
|
+
3. `query --context-for-error` to understand
|
297
|
+
4. Fix based on correlated data
|
298
|
+
|
299
|
+
**"Slow", "Performance", "Takes forever"**
|
300
|
+
1. `cursorflow test` to baseline
|
301
|
+
2. `query --network --over 500ms` to find bottlenecks
|
302
|
+
3. `query --performance` for metrics
|
303
|
+
4. Optimize slow requests
|
304
|
+
|
305
|
+
**"CSS", "Styling", "Layout", "Spacing"**
|
306
|
+
1. Python API: `css_iteration_persistent()`
|
307
|
+
2. Test 2-3 CSS approaches
|
308
|
+
3. Compare screenshots
|
309
|
+
4. Apply best result
|
310
|
+
|
311
|
+
**"Login", "Auth", "Session"**
|
312
|
+
1. `cursorflow test --actions '[...]'` with login flow
|
313
|
+
2. `--save-session` to preserve auth
|
314
|
+
3. `--use-session` for subsequent tests
|
315
|
+
4. Check auth errors with `query --errors --contains "auth"`
|
316
|
+
|
317
|
+
**"Responsive", "Mobile", "Tablet"**
|
318
|
+
1. `cursorflow test --responsive`
|
319
|
+
2. `query --responsive --viewport mobile`
|
320
|
+
3. Compare viewport results
|
321
|
+
4. Fix mobile-specific issues
|
322
|
+
|
323
|
+
**"Compare", "Regression", "What changed"**
|
324
|
+
1. `query session_before --compare-with session_after`
|
325
|
+
2. Focus on `new_errors` and `timing_changes`
|
326
|
+
3. Investigate specific regressions
|
327
|
+
|
328
|
+
---
|
329
|
+
|
259
330
|
## 🚀 Quick Start
|
260
331
|
|
261
332
|
### 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=
|
4
|
+
cursorflow/cli.py,sha256=5uObhh0ggolMX9DBHtQ8F74ewpzEcUxj9XkwoWyfCBA,80095
|
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
|
@@ -33,10 +33,10 @@ cursorflow/log_sources/local_file.py,sha256=GVnhsaifIdc41twXwbxRM9-fBeRDsknDpk5I
|
|
33
33
|
cursorflow/log_sources/ssh_remote.py,sha256=_Kwh0bhRpKgq-0c98oaX2hN6h9cT-wCHlqY5NiWVCoY,8388
|
34
34
|
cursorflow/rules/__init__.py,sha256=gPcA-IkhXj03sl7cvZV0wwo7CtEkcyuKs4y0F5oQbqE,458
|
35
35
|
cursorflow/rules/cursorflow-installation.mdc,sha256=D55pzzDPAVVbE3gAtKPUGoT-2fvB-FI2l6yrTdzUIEo,10208
|
36
|
-
cursorflow/rules/cursorflow-usage.mdc,sha256=
|
37
|
-
cursorflow-2.7.
|
38
|
-
cursorflow-2.7.
|
39
|
-
cursorflow-2.7.
|
40
|
-
cursorflow-2.7.
|
41
|
-
cursorflow-2.7.
|
42
|
-
cursorflow-2.7.
|
36
|
+
cursorflow/rules/cursorflow-usage.mdc,sha256=OYsqF1OKeGP5Bl8yR5TJ92dDXH7C3yp-SKAs9aZfBAw,34744
|
37
|
+
cursorflow-2.7.3.dist-info/licenses/LICENSE,sha256=e4QbjAsj3bW-xgQOvQelr8sGLYDoqc48k6cKgCr_pBU,1080
|
38
|
+
cursorflow-2.7.3.dist-info/METADATA,sha256=J4eWtDeDZ2xaXpLgk9th-ku0Ysmalil-vcjICY8C9D0,19844
|
39
|
+
cursorflow-2.7.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
40
|
+
cursorflow-2.7.3.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
|
41
|
+
cursorflow-2.7.3.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
|
42
|
+
cursorflow-2.7.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|