@arcadialdev/arcality 2.2.0 → 2.2.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.
Files changed (2) hide show
  1. package/README.md +96 -30
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -1,30 +1,96 @@
1
- # Arcality
2
- Herramienta QA para pruebas de UI con IA
3
-
4
- Meta 1.0.0:
5
- - Start CLI (interactive test chooser): `arcality` or `npm run arcality` (see [package.json](package.json)).
6
- - Run Playwright directly: `npx playwright test` or `npx playwright test <path/to/spec>`.
7
- - Auto-generate + run spec (uses Ollama model): `node scripts/gen-and-run.mjs "<prompt>"` or run without args to execute last generated spec (see [scripts/gen-and-run.mjs](scripts/gen-and-run.mjs)).
8
- - .env management: the CLI will prompt and write `.env` when missing via [src/envSetup.ts](src/envSetup.ts).
9
-
10
- Important: the project reads configuration from the repository `.env` automatically. Do NOT pass `BASE_URL`, `LOGIN_USER`, or `LOGIN_PASSWORD` on the command line — the CLI, scripts, and tests load these values from `.env` internally. Example correct commands (no credentials in the command):
11
-
12
- ```powershell
13
- node .\scripts\discover-view.mjs /categories
14
- node .\scripts\extract-view.mjs /categories
15
- node .\scripts\gen-and-run.mjs --discover /categories "Crear una categoría de ejemplo"
16
- ```
17
-
18
- If `.env` is missing, the interactive setup in `src/envSetup.ts` will prompt to create it; otherwise the tools will use values found in `.env`.
19
-
20
- Meta 1.0.1:
21
- -Hacer personalizable el login, sin depender de Id directamente
22
- -Tener el test de creación de categoría
23
- -Tener el test de creación de marca
24
- -Tener el test de creación de producto
25
-
26
- Meta 1.0.2:
27
- -Pedir la URL inicial, usuario y contraseña para .env
28
- -Implementar una prueba de ZeroSteps
29
- -Crear un template para leer YAML
30
- -Leer un YAML y convertir en el template
1
+ <div align="center">
2
+ <img src="https://raw.githubusercontent.com/microsoft/playwright/main/packages/playwright-core/src/server/chromium/test-results/favicon.ico" width="80" alt="Arcality Logo" />
3
+ <br>
4
+ <h1>Arcality Engine</h1>
5
+ <p><b>Autonomous AI-Powered E2E Web Testing Agent</b></p>
6
+
7
+ [![NPM Version](https://img.shields.io/npm/v/@arcadialdev/arcality?color=c084fc&label=NPM&style=for-the-badge)](https://www.npmjs.com/package/@arcadialdev/arcality)
8
+ [![Playwright Powered](https://img.shields.io/badge/Powered_by-Playwright-2EAD33?style=for-the-badge&logo=playwright)](https://playwright.dev)
9
+ [![AI Core](https://img.shields.io/badge/AI_Core-Anthropic_Claude-D97757?style=for-the-badge&logo=anthropic)](https://anthropic.com)
10
+ </div>
11
+
12
+ <br>
13
+
14
+ **Arcality** is an enterprise-grade autonomous testing agent designed by Arcadial. It replaces brittle, hard-coded UI automation with an intelligent, self-healing agent that understands natural language. Powered by Anthropic's Claude and Playwright, Arcality navigates web portals, fills forms dynamically, and verifies business logic without requiring you to write a single line of test code.
15
+
16
+ ## ✨ Core Capabilities
17
+
18
+ - 🧠 **Cognitive Execution Pipeline:** Arcality doesn't just click coordinates. It parses the DOM tree into an accessibility-focused abstraction, allowing it to "see" your application identically to a human user.
19
+ - 🛡️ **Self-Healing & Forensic Debugging:** When elements shift or modals block the screen, Arcality doesn't instantly crash. It utilizes injected *E2E Expert Protocols* to debug the DOM, wait for networks, and gracefully recover.
20
+ - ♻️ **YAML Persistence:** Once the Agent figures out how to successfully complete a prompt, the deterministic solution is saved locally as an optimized `.yaml` mission for lightning-fast regression testing in CI/CD.
21
+ - 📊 **Agentic Diagnostics HTML Report:** Forget raw stack traces. Arcality generates beautiful, dark-mode `index.html` reports focusing entirely on **Agent Cognitive Process** and visual attachments.
22
+ - 🧰 **Project-Centric Architecture:** Runs seamlessly locally with `arcality.config.json`. No messy global `.env` files required.
23
+
24
+ ---
25
+
26
+ ## 🚀 Getting Started
27
+
28
+ ### 1. Installation
29
+ Install the CLI tool globally or as a dev dependency via NPM:
30
+ ```bash
31
+ # Using npm
32
+ npm install -g @arcadialdev/arcality
33
+
34
+ # Or use npx directly without installing
35
+ npx @arcadialdev/arcality init
36
+ ```
37
+
38
+ ### 2. Initialization
39
+ Run the setup wizard at the root of your frontend or backend repository (e.g., Next.js, Vite). Arcality will auto-detect your framework and scaffold the necessary configurations.
40
+
41
+ ```bash
42
+ arcality init
43
+ ```
44
+ *This command creates the `arcality.config.json` inside your project and connects you to the internal Arcadial AI Proxy.*
45
+
46
+ ### 3. Running an Agent Mission
47
+ Start an autonomous mission by feeding the agent a natural language prompt.
48
+
49
+ ```bash
50
+ # Interactive GUI Mode
51
+ arcality run
52
+
53
+ # CI/CD / Headless Mode
54
+ arcality run --agent "Login with test credentials, navigate to Dashboard, and ensure the Welcome widget is visible."
55
+ ```
56
+
57
+ ---
58
+
59
+ ## 🛠️ Internal Architecture
60
+
61
+ Arcality operates on a highly decoupled modular system designed for maximum resilience:
62
+
63
+ 1. **The CLI Wrapper:** A Node.js CLI that orchestrates Playwright subprocesses, parses configurations (`arcality.config.json`), and manages the CLI spinner aesthetic using `@clack/prompts`.
64
+ 2. **The Vision Engine:** Instead of capturing raw DOM, Arcality strips out CSS/JS noise and builds an `Interactive Component Tree` using `aria-labels` and `roles`.
65
+ 3. **The LLM Gateway (`AIAgentHelper`):** Handles bidirectional communication with Anthropic. It uses advanced recursive Tool Calling to perform `UI actions` (click, type, scroll) and `Forensic actions` (capture_console_errors).
66
+ 4. **Skill Injection (`.agents/skills/`):** At runtime, the agent injects external E2E standards (e.g., *Playwright Best Practices*, *E2E Testing Expert*) directly into the System Prompt to enforce strict QA policies.
67
+ 5. **The Reporter:** A custom Playwright reporter (`ArcalityReporter.ts`) that filters out robotic hooks and renders the Agent's pure cognitive decision tree into an HTML dashboard.
68
+
69
+ ---
70
+
71
+ ## 📁 Configuration (`arcality.config.json`)
72
+
73
+ When you run `arcality init`, a configuration is generated in your project root.
74
+ ```json
75
+ {
76
+ "project": {
77
+ "name": "PortalAdminQA",
78
+ "baseUrl": "https://dev.arcadial.lat",
79
+ "frameworkDetected": "Next.js"
80
+ },
81
+ "auth": {
82
+ "username": "qa_user",
83
+ "credentialsSource": "env"
84
+ },
85
+ "runtime": {
86
+ "yamlOutputDir": "./.arcality"
87
+ }
88
+ }
89
+ ```
90
+ *All reports, saved YAML missions, and runtime context are cleanly isolated inside your project's `./.arcality/` output directory.*
91
+
92
+ ---
93
+
94
+ <div align="center">
95
+ <p>Built with ❤️ by the QA Intelligence team at <b>Arcadial</b>.</p>
96
+ </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcadialdev/arcality",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "AI-powered QA testing tool — Autonomous web testing agent by Arcadial",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "repository": {
29
29
  "type": "git",
30
- "url": "git+https://github.com/Azlopez1/arcality.git"
30
+ "url": "https://dev.azure.com/arcadial/_git/ArcalityQA"
31
31
  },
32
32
  "keywords": [
33
33
  "qa",
@@ -41,9 +41,9 @@
41
41
  "license": "ISC",
42
42
  "type": "commonjs",
43
43
  "bugs": {
44
- "url": "https://github.com/Azlopez1/arcality/issues"
44
+ "url": "https://dev.azure.com/arcadial/_git/ArcalityQA"
45
45
  },
46
- "homepage": "https://github.com/Azlopez1/arcality#readme",
46
+ "homepage": "https://dev.azure.com/arcadial/_git/ArcalityQA",
47
47
  "devDependencies": {
48
48
  "@types/figlet": "^1.7.0",
49
49
  "@types/node": "^25.0.9",