prompttest 1.4.0 → 1.5.1

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.
package/README.md CHANGED
@@ -13,7 +13,21 @@
13
13
 
14
14
  ---
15
15
 
16
+ ### 🖥️ Prefer a Visual Desktop IDE? Try PromptTest Studio
17
+
18
+ If you prefer an intuitive desktop application over the command line, check out **[PromptTest Studio](https://shriramsingh.github.io/prompttest-studio-site/)**:
19
+ - 📱 **Real-Time Device Mirroring**: Low-latency screen streaming with instant click, drag, and hardware navigation.
20
+ - 🎯 **Visual Element Inspector**: Point and click to inspect native views with instant auto-generated plain-English assertions.
21
+ - 📸 **Visual Regression & Exclude Masks**: Pixel-level baseline comparisons with draggable exclude masks for dynamic areas (clocks, battery, banners).
22
+ - 🚀 **100% Local-First & Air-Gapped**: Runs entirely on your machine over local ADB with zero cloud dependencies.
23
+
24
+ 👉 **[Download PromptTest Studio for Windows](https://shriramsingh.github.io/prompttest-studio-site/downloads.html)** *(macOS & Linux coming soon)*
25
+
26
+ ---
27
+
16
28
  ### 📑 Quick Navigation
29
+
30
+ - [🖥️ PromptTest Studio (Desktop IDE)](#️-prefer-a-visual-desktop-ide-try-prompttest-studio)
17
31
  - [🚀 Quick Start & CLI Workflows](#-quick-start--cli-workflows)
18
32
  - [📂 Outputs, Reports & Screenshots](#-outputs-reports--screenshots)
19
33
  - [✍️ Writing Plain-English Tests](#️-writing-plain-english-tests)
@@ -42,51 +56,66 @@
42
56
  ## 🚀 Quick Start & CLI Workflows
43
57
 
44
58
  ### Prerequisites
59
+
45
60
  - **Node.js 18.0.0+**
46
61
  - **Android ADB** installed and accessible in your system `PATH`
47
62
  - An Android device (USB or Wi-Fi) or emulator with **USB Debugging** enabled
48
63
 
49
64
  ### Install in Your Mobile Project
65
+
50
66
  You can run PromptTest instantly with `npx` or install it as a dev dependency:
67
+
51
68
  ```bash
52
69
  # In your React Native, Expo, Flutter, or Android project:
53
70
  npm install --save-dev prompttest
54
71
  ```
55
72
 
56
- > **⚖️ Licensing note**: PromptTest is source-available under **BSL 1.1** — free for personal, educational, open-source, and small-team use (< $100k revenue *and* < 10 employees). Larger organizations and commercial QA agencies need a [commercial license](#-license). It converts to Apache 2.0 in 2030. See [License](#-license).
73
+ > **⚖️ Licensing note**: PromptTest is source-available under **BSL 1.1** — free for personal, educational, open-source, and small-team use (< $100k revenue _and_ < 10 employees). Larger organizations and commercial QA agencies need a [commercial license](#-license). It converts to Apache 2.0 in 2030. See [License](#-license).
57
74
 
58
75
  ---
59
76
 
60
77
  ### 5 Core CLI Workflows
61
78
 
62
79
  #### 1. Environment Diagnostic Check
80
+
63
81
  Before running tests, verify your ADB connectivity, connected devices, and permissions:
82
+
64
83
  ```bash
65
84
  npx prompttest doctor
66
85
  ```
67
86
 
68
87
  #### 2. Zero-Code Autonomous Exploration (AI App Crawl)
88
+
69
89
  Crawl bottom tabs, lists, and forms automatically to discover bugs, crashes, or React Native red-screens without writing a single line of test code:
90
+
70
91
  ```bash
71
92
  npx prompttest explore com.yourcompany.app
72
93
  ```
73
- *Tip: `explore` is its own top-level command. Pass `--max-screens=30` or `--safety-mode=strict` to customize.*
94
+
95
+ _Tip: `explore` is its own top-level command. Pass `--max-screens=30` or `--safety-mode=strict` to customize._
74
96
 
75
97
  #### 3. Interactive Record & Replay
98
+
76
99
  Record your natural interactions on a physical phone directly into a reusable test spec:
100
+
77
101
  ```bash
78
102
  npx prompttest record specs/login.txt
79
103
  ```
104
+
80
105
  - Tap buttons and type in input fields on your phone; PromptTest auto-generates conversational English test steps.
81
106
  - **Append mode**: Add `--append` to add more steps to an existing spec without overwriting.
82
107
  - **Safety backup**: If the target file already exists, PromptTest automatically creates a `.bak` backup before modifying.
83
108
 
84
109
  #### 4. Run Plain-English Test Specs
110
+
85
111
  Execute test specifications with fail-fast validation and locator self-healing:
112
+
86
113
  ```bash
87
114
  npx prompttest run specs/login.txt com.yourcompany.app
88
115
  ```
116
+
89
117
  Power flags:
118
+
90
119
  - `--heal`: Automatically self-heal altered counts and dynamic locators.
91
120
  - `--video`: Record an MP4 video of the execution session.
92
121
  - `--screenshots`: Capture high-resolution visual evidence at every step.
@@ -94,7 +123,9 @@ Power flags:
94
123
  - `--embed-screenshots`: Embed screenshots directly into a standalone, shareable HTML report.
95
124
 
96
125
  #### 5. Interactive Live REPL Playground
126
+
97
127
  Experiment with commands live in your terminal against your connected device:
128
+
98
129
  ```bash
99
130
  npx prompttest repl com.yourcompany.app
100
131
  ```
@@ -105,19 +136,20 @@ npx prompttest repl com.yourcompany.app
105
136
 
106
137
  To avoid common syntax errors, remember that `explore`, `record`, and `repl` are **standalone commands**:
107
138
 
108
- | Goal | ✅ Correct CLI Command | ❌ Common Mistake |
109
- | :--- | :--- | :--- |
110
- | **Autonomous App Crawling** | `npx prompttest explore <pkg>` | `npx prompttest run explore` |
111
- | **Record from Phone Touches** | `npx prompttest record <spec.txt>` | `npx prompttest run record` |
112
- | **Run Existing Spec File** | `npx prompttest run <spec.txt> [pkg]` | `npx prompttest <spec.txt>` |
113
- | **Interactive Live Terminal** | `npx prompttest repl [pkg]` | `npx prompttest run repl` |
114
- | **Diagnostic Health Check** | `npx prompttest doctor` | `npx prompttest run doctor` |
139
+ | Goal | ✅ Correct CLI Command | ❌ Common Mistake |
140
+ | :---------------------------- | :------------------------------------ | :--------------------------- |
141
+ | **Autonomous App Crawling** | `npx prompttest explore <pkg>` | `npx prompttest run explore` |
142
+ | **Record from Phone Touches** | `npx prompttest record <spec.txt>` | `npx prompttest run record` |
143
+ | **Run Existing Spec File** | `npx prompttest run <spec.txt> [pkg]` | `npx prompttest <spec.txt>` |
144
+ | **Interactive Live Terminal** | `npx prompttest repl [pkg]` | `npx prompttest run repl` |
145
+ | **Diagnostic Health Check** | `npx prompttest doctor` | `npx prompttest run doctor` |
115
146
 
116
147
  ---
117
148
 
118
149
  ### 📦 Recommended `package.json` Scripts
119
150
 
120
151
  Add these convenient shortcuts to your project's `package.json`:
152
+
121
153
  ```json
122
154
  "scripts": {
123
155
  "test:mobile": "prompttest run specs/smoke.txt com.yourcompany.app --heal",
@@ -149,6 +181,7 @@ your-mobile-project/
149
181
  ```
150
182
 
151
183
  ### Viewing & Sharing Reports:
184
+
152
185
  - **Interactive HTML Dashboard (`output/<spec>-report.html`)**: Double-click to open in any browser. Features step-by-step audit timelines, latency timings, and failure triage bundles.
153
186
  - **CI/CD Integration (`output/<spec>-junit.xml`)**: Standard JUnit format natively recognized by GitHub Actions, GitLab CI, Jenkins, and CircleCI.
154
187
  - **Zero-Dependency Sharing (`--embed-screenshots`)**: Generates a single standalone HTML report with all images inlined via Base64 data URIs. Email or Slack it directly to teammates without missing image links!
@@ -188,6 +221,7 @@ Test specifications are simple text files containing numbered steps written in c
188
221
  ```
189
222
 
190
223
  ### Run the Spec:
224
+
191
225
  ```bash
192
226
  npx prompttest run specs/login_and_dashboard.txt com.yourcompany.app
193
227
  ```
@@ -196,18 +230,18 @@ npx prompttest run specs/login_and_dashboard.txt com.yourcompany.app
196
230
 
197
231
  ## 📖 Syntax Reference
198
232
 
199
- | Category | Command Syntax | Description |
200
- | :--- | :--- | :--- |
201
- | **Tap / Click** | `Tap 'Sign In'` | Taps button, icon, link, or tab matching label or text. |
202
- | **Input Fields** | `Type 'user@test.com' into 'Email'` | Auto-focuses field, clears existing text, and enters string safely. |
203
- | **Assertions** | `Verify 'Dashboard' is visible` | Polls until the element appears on screen (sub-second resolution). |
204
- | **Absence Check** | `Verify 'Loading...' is not visible` | Confirms an element, dialog, or spinner has dismissed. |
205
- | **Spatial Tap** | `Tap 'Delete' next to 'Order #12'` | Disambiguates duplicate elements using directional proximity. |
206
- | **Gestures** | `Scroll down`, `Scroll up`, `Swipe left` | Performs viewport-proportional touch flings. |
207
- | **Hardware Keys** | `Press back`, `Press home` | Dispatches physical Android keycodes (`KEYCODE_BACK`, etc.). |
208
- | **Delays** | `Wait 2s` or `Wait 1500ms` | Pauses execution for custom animation settling. |
209
- | **Conditionals** | `Tap 'Dismiss' (if present)` | Executes step only if element exists, without failing the suite. |
210
- | **Generators** | `$random.email`, `$date.now`, `$uuid` | Inlines dynamic synthetic data into input fields. |
233
+ | Category | Command Syntax | Description |
234
+ | :---------------- | :--------------------------------------- | :------------------------------------------------------------------ |
235
+ | **Tap / Click** | `Tap 'Sign In'` | Taps button, icon, link, or tab matching label or text. |
236
+ | **Input Fields** | `Type 'user@test.com' into 'Email'` | Auto-focuses field, clears existing text, and enters string safely. |
237
+ | **Assertions** | `Verify 'Dashboard' is visible` | Polls until the element appears on screen (sub-second resolution). |
238
+ | **Absence Check** | `Verify 'Loading...' is not visible` | Confirms an element, dialog, or spinner has dismissed. |
239
+ | **Spatial Tap** | `Tap 'Delete' next to 'Order #12'` | Disambiguates duplicate elements using directional proximity. |
240
+ | **Gestures** | `Scroll down`, `Scroll up`, `Swipe left` | Performs viewport-proportional touch flings. |
241
+ | **Hardware Keys** | `Press back`, `Press home` | Dispatches physical Android keycodes (`KEYCODE_BACK`, etc.). |
242
+ | **Delays** | `Wait 2s` or `Wait 1500ms` | Pauses execution for custom animation settling. |
243
+ | **Conditionals** | `Tap 'Dismiss' (if present)` | Executes step only if element exists, without failing the suite. |
244
+ | **Generators** | `$random.email`, `$date.now`, `$uuid` | Inlines dynamic synthetic data into input fields. |
211
245
 
212
246
  ---
213
247
 
@@ -287,31 +321,33 @@ npx prompttest memory <package>
287
321
 
288
322
  To maintain honest expectations, here is what PromptTest currently supports, what is under active development, and its architectural boundaries:
289
323
 
290
- | Platform / Framework | Supported? | Notes |
291
- | :--- | :---: | :--- |
292
- | **Android (Physical & Emulators)** | **✅ Production Ready** | React Native, Expo, Flutter, Native Views, Jetpack Compose. |
293
- | **iOS / iPhone & iPad** | **🚧 Under Development** | Native iOS engine is in active development; not supported in v1.3.x. |
294
- | **Websites / Desktop Browsers** | **❌ Not Supported** | Dedicated strictly to mobile apps. For web, use Playwright or Cypress. |
295
- | **Standard UI Hierarchy** | **✅ Full** | Operates 100% via native ADB hierarchy stream (`uiautomator dump`). |
296
- | **Self-Healing Dynamic Locators** | **✅ Full** | Auto-resolves modified counts and labels dynamically via `--heal`. |
297
- | **Bottom-Tab Discovery** | **✅ Full** | Explores hubs, nested master-detail views, and backtracks cleanly. |
298
- | **Game Engines & Canvas** | **⚠️ Not Supported** | Fully custom OpenGL/Vulkan/Unity games lack accessible UI nodes. |
299
- | **Biometrics / OS Dialogs** | **⚠️ Limited** | System-level biometric prompts require hardware-level mocks. |
324
+ | Platform / Framework | Supported? | Notes |
325
+ | :--------------------------------- | :----------------------: | :--------------------------------------------------------------------- |
326
+ | **Android (Physical & Emulators)** | **✅ Production Ready** | React Native, Expo, Flutter, Native Views, Jetpack Compose. |
327
+ | **iOS / iPhone & iPad** | **🚧 Under Development** | Native iOS engine is in active development; not supported in v1.3.x. |
328
+ | **Websites / Desktop Browsers** | **❌ Not Supported** | Dedicated strictly to mobile apps. For web, use Playwright or Cypress. |
329
+ | **Standard UI Hierarchy** | **✅ Full** | Operates 100% via native ADB hierarchy stream (`uiautomator dump`). |
330
+ | **Self-Healing Dynamic Locators** | **✅ Full** | Auto-resolves modified counts and labels dynamically via `--heal`. |
331
+ | **Bottom-Tab Discovery** | **✅ Full** | Explores hubs, nested master-detail views, and backtracks cleanly. |
332
+ | **Game Engines & Canvas** | **⚠️ Not Supported** | Fully custom OpenGL/Vulkan/Unity games lack accessible UI nodes. |
333
+ | **Biometrics / OS Dialogs** | **⚠️ Limited** | System-level biometric prompts require hardware-level mocks. |
300
334
 
301
335
  ---
302
336
 
303
337
  ## ⚠️ Common Pitfalls & How to Solve Them
304
338
 
305
339
  ### 1. Hardware Back Button Minimizing the App
306
- * **What happens**: Running `Press back` while on the app's root dashboard or home tab tells the Android OS to minimize or exit the app.
307
- * **How to solve it**:
340
+
341
+ - **What happens**: Running `Press back` while on the app's root dashboard or home tab tells the Android OS to minimize or exit the app.
342
+ - **How to solve it**:
308
343
  - In specs, tap the in-app back icon/button (e.g. `Tap 'Back'` or `Tap '<'`) instead of the hardware key on top-level screens.
309
344
  - In autonomous exploration (`explore`), PromptTest's built-in **Package Jail Guard** automatically detects if the app was backgrounded and restores it.
310
345
  - Add the `--fresh` flag when running specs to cold-start your app cleanly before tests.
311
346
 
312
347
  ### 2. Android OS Permission Dialogs ("Allow Notifications / Location")
313
- * **What happens**: System dialogs belong to Android OS (`com.android.permissioncontroller`), not your app, and can appear unexpectedly on new installs.
314
- * **How to solve it**:
348
+
349
+ - **What happens**: System dialogs belong to Android OS (`com.android.permissioncontroller`), not your app, and can appear unexpectedly on new installs.
350
+ - **How to solve it**:
315
351
  - Use conditional handling in your spec:
316
352
  ```text
317
353
  Tap 'While using the app' (if present)
@@ -323,8 +359,9 @@ To maintain honest expectations, here is what PromptTest currently supports, wha
323
359
  ```
324
360
 
325
361
  ### 3. Off-Screen Items in Long Lists (FlatList / RecyclerView)
326
- * **What happens**: Mobile frameworks only render visible items on screen to save memory. Elements located further down the page are not in the hierarchy yet.
327
- * **How to solve it**:
362
+
363
+ - **What happens**: Mobile frameworks only render visible items on screen to save memory. Elements located further down the page are not in the hierarchy yet.
364
+ - **How to solve it**:
328
365
  - Scroll before tapping:
329
366
  ```text
330
367
  Scroll down
@@ -333,8 +370,9 @@ To maintain honest expectations, here is what PromptTest currently supports, wha
333
370
  ```
334
371
 
335
372
  ### 4. Layout Animations & Shimmer Settling
336
- * **What happens**: Tapping an element during a layout animation or skeleton fade-in can cause touch coordinates to miss while elements shift.
337
- * **How to solve it**:
373
+
374
+ - **What happens**: Tapping an element during a layout animation or skeleton fade-in can cause touch coordinates to miss while elements shift.
375
+ - **How to solve it**:
338
376
  - Add a brief settling pause: `Wait 500ms` or assert an anchor element first: `Verify 'Dashboard' is visible`.
339
377
  - Disable animations on test devices to run tests 2x faster:
340
378
  ```bash
@@ -344,13 +382,15 @@ To maintain honest expectations, here is what PromptTest currently supports, wha
344
382
  ```
345
383
 
346
384
  ### 5. WebViews & In-App Browsers (OAuth & Payment Gateways)
347
- * **What happens**: In-app web pages (like Google Sign-In or Stripe) expose rendered text to ADB, but not internal HTML DOM tags or CSS selectors.
348
- * **How to solve it**:
385
+
386
+ - **What happens**: In-app web pages (like Google Sign-In or Stripe) expose rendered text to ADB, but not internal HTML DOM tags or CSS selectors.
387
+ - **How to solve it**:
349
388
  - Use plain text matching (`Tap 'Sign in with Google'`). Deep DOM selector manipulation inside WebViews is not supported.
350
389
 
351
390
  ### 6. Multiple Devices Connected
352
- * **What happens**: If a physical phone and an emulator are both plugged in, ADB doesn't know which one to target.
353
- * **How to solve it**:
391
+
392
+ - **What happens**: If a physical phone and an emulator are both plugged in, ADB doesn't know which one to target.
393
+ - **How to solve it**:
354
394
  - Target a specific device serial using `--serial`:
355
395
  ```bash
356
396
  npx prompttest run specs/login.txt com.app --serial=emulator-5554
@@ -361,35 +401,40 @@ To maintain honest expectations, here is what PromptTest currently supports, wha
361
401
  ## 💡 Pro-Tips & Best Practices
362
402
 
363
403
  ### 1. The "Record & Refine" Workflow
364
- * `prompttest record` captures your natural physical device interactions and generates plain-English test steps in real time—scaffolding 90% of your test boilerplate in seconds.
365
- * **QA Best Practice**: After recording, do a quick 30-second review of the generated `.txt` spec to fine-tune timings or add custom `Verify` assertions.
366
- * Preview without touching your device:
404
+
405
+ - `prompttest record` captures your natural physical device interactions and generates plain-English test steps in real time—scaffolding 90% of your test boilerplate in seconds.
406
+ - **QA Best Practice**: After recording, do a quick 30-second review of the generated `.txt` spec to fine-tune timings or add custom `Verify` assertions.
407
+ - Preview without touching your device:
367
408
  ```bash
368
409
  npx prompttest run specs/flow.txt --dry-run
369
410
  ```
370
411
 
371
412
  ### 2. Deterministic Clean States (`--fresh`)
372
- * Prevent "already-logged-in" test pollution by adding `--fresh` to cold-start the target app before execution:
413
+
414
+ - Prevent "already-logged-in" test pollution by adding `--fresh` to cold-start the target app before execution:
373
415
  ```bash
374
416
  npx prompttest run specs/login.txt com.yourcompany.app --fresh
375
417
  ```
376
418
 
377
419
  ### 3. Zero-Maintenance Dynamic Badges (`--heal`)
378
- * When notification badges or counts change dynamically (e.g. `'Cart (1)'` vs `'Cart (3)'`), pass `--heal` to allow PromptTest's heuristic engine to self-heal the locator without failing.
420
+
421
+ - When notification badges or counts change dynamically (e.g. `'Cart (1)'` vs `'Cart (3)'`), pass `--heal` to allow PromptTest's heuristic engine to self-heal the locator without failing.
379
422
 
380
423
  ### 4. Device & Screen Resolution Agnostic Portability
381
- * PromptTest binds interactions to semantic accessibility labels and proportional gestures—not fragile hardware pixel coordinates. Specs recorded on a phone seamlessly run on foldables and tablets.
424
+
425
+ - PromptTest binds interactions to semantic accessibility labels and proportional gestures—not fragile hardware pixel coordinates. Specs recorded on a phone seamlessly run on foldables and tablets.
382
426
 
383
427
  ### 5. 🛡️ Enterprise Safety Guardrails & Custom Blacklists
384
- Autonomous exploration is safe by default, but enterprise applications often have company-specific sensitive keywords (e.g. *"Deactivate"*, *"Transfer Funds"*, *"Revoke Access"*).
385
428
 
386
- * **Default Protection**: PromptTest automatically detects and blocks destructive actions like `"Delete"`, `"Wipe"`, `"Remove"`, and `"Discard Changes"`.
387
- * **Add Your Own Sensitive Keywords**: You can supply your own custom blocked keywords to run **alongside** the defaults:
429
+ Autonomous exploration is safe by default, but enterprise applications often have company-specific sensitive keywords (e.g. _"Deactivate"_, _"Transfer Funds"_, _"Revoke Access"_).
430
+
431
+ - **Default Protection**: PromptTest automatically detects and blocks destructive actions like `"Delete"`, `"Wipe"`, `"Remove"`, and `"Discard Changes"`.
432
+ - **Add Your Own Sensitive Keywords**: You can supply your own custom blocked keywords to run **alongside** the defaults:
388
433
  ```bash
389
434
  # Via CLI flag:
390
435
  npx prompttest explore com.yourcompany.app --safety-blacklist="Transfer,Deactivate,Revoke,Unsubscribe"
391
436
  ```
392
- * **Or configure once in `.prompttestrc.json`**:
437
+ - **Or configure once in `.prompttestrc.json`**:
393
438
  ```json
394
439
  {
395
440
  "safety": {
@@ -444,14 +489,14 @@ docker run --rm --net=host \
444
489
 
445
490
  Tested and verified against live physical Android devices running complex multi-role enterprise apps:
446
491
 
447
- | Test Suite | Total Steps | Passed | Failed | Pass Rate | Execution Time |
448
- | :--- | :---: | :---: | :---: | :---: | :---: |
449
- | **CoachConnect Enterprise Suite** | 52 | 52 | 0 | **100%** | 47.8s |
450
- | **Govindam Multilingual Suite** | 8 | 8 | 0 | **100%** | 35.1s |
451
- | **Calculator Operations Suite** | 5 | 5 | 0 | **100%** | 19.6s |
452
- | **Automated Vitest Test Matrix** | 294 | 294 | 0 | **100%** | 14.8s |
492
+ | Test Suite | Total Steps | Passed | Failed | Pass Rate | Execution Time |
493
+ | :-------------------------------- | :---------: | :----: | :----: | :-------: | :------------: |
494
+ | **CoachConnect Enterprise Suite** | 52 | 52 | 0 | **100%** | 47.8s |
495
+ | **Govindam Multilingual Suite** | 8 | 8 | 0 | **100%** | 35.1s |
496
+ | **Calculator Operations Suite** | 5 | 5 | 0 | **100%** | 19.6s |
497
+ | **Automated Vitest Test Matrix** | 294 | 294 | 0 | **100%** | 14.8s |
453
498
 
454
- *For deep architectural details and driver design, see `docs/ARCHITECTURE.md` included in the package.*
499
+ _For deep architectural details and driver design, see `docs/ARCHITECTURE.md` included in the package._
455
500
 
456
501
  ---
457
502
 
@@ -460,11 +505,13 @@ Tested and verified against live physical Android devices running complex multi-
460
505
  PromptTest is licensed under the **Business Source License 1.1 (BSL 1.1)**, and automatically converts to the permissive **Apache License 2.0** on the Change Date: **September 14, 2030**.
461
506
 
462
507
  **✅ Free to use — no license required for:**
508
+
463
509
  - Personal, educational, academic, and open-source projects
464
510
  - Evaluation use
465
511
  - Internal software testing within organizations that have **both** under $100,000 USD in annual gross revenue **and** fewer than 10 employees
466
512
 
467
513
  **💼 Commercial license required for:**
514
+
468
515
  - Use within organizations exceeding either of the free-tier thresholds (revenue **or** headcount)
469
516
  - Testing agencies providing commercial QA services to third-party clients
470
517
  - Deployment into production commercial CI/CD pipelines
@@ -472,4 +519,4 @@ PromptTest is licensed under the **Business Source License 1.1 (BSL 1.1)**, and
472
519
 
473
520
  See the full [LICENSE](./LICENSE) and [Terms & Conditions](./TERMS.md) for exact terms.
474
521
 
475
- Commercial inquiries and enterprise licensing: `jairam.singh9@gmail.com` or open an issue at [github.com/shriramsingh/promptTest](https://github.com/shriramsingh/promptTest/issues).
522
+ Commercial inquiries and enterprise licensing: `jairam.singh9@gmail.com` or open an issue at [github.com/shriramsingh/prompttest-community](https://github.com/shriramsingh/prompttest-community/issues).