Metadata-Version: 2.4
Name: qa-framework-cli
Version: 1.0.1
Summary: Multi-agent QA framework for VS Code Copilot Chat
Requires-Python: >=3.9
Requires-Dist: click>=8.0
Description-Content-Type: text/markdown

# QA Framework

Framework multiagente de testing automatizado para VS Code. Coordina un equipo de 15 agentes especializados y 10 skills para planificar, diseñar, ejecutar y documentar pruebas.

## Estructura del proyecto

```
qa-framework/
├── .github/
│   ├── agents/              # 15 agentes (.agent.md)
│   ├── skills/              # 10 skills ({name}/SKILL.md)
│   ├── instructions/        # Instrucciones globales del framework
│   └── copilot-instructions.md  # Reglas del sistema QA
│
├── .vscode/
│   ├── mcp.json             # Servidores MCP (Playwright, Selenium, Postman, Jira)
│   └── settings.json
│
├── qa/
│   ├── context/             # Ambientes, apps, dispositivos, credenciales
│   ├── diagrams/            # Diagramas de arquitectura y flujo de agentes
│   ├── docs/                # Arquitectura, reglas del sistema, convenciones Jira
│   ├── domain/              # Escenarios y casos de prueba del proyecto
│   ├── evidence/            # Evidencia de ejecuciones (screenshots, logs, reportes)
│   ├── knowledge/           # Changelog e historial de ejecuciones
│   ├── scripts/             # Scripts de instalación
│   ├── templates/           # Plantillas para outputs de agentes
│   └── tools/               # Herramientas de testing (JMeter, jmeter-mcp-server)
│
├── .env                     # Variables de entorno (no commitear)
├── README.md
└── VERSION.md
```

## Instalación

### Opción 1 — vía PyPI (recomendado)

El paquete [`qa-framework-cli`](https://pypi.org/project/qa-framework-cli/) instala y mantiene el framework en cualquier workspace de VS Code desde la línea de comandos.

**Requisitos:** Python 3.9+ y pip (o `uv`).

```powershell
pip install qa-framework-cli
```

#### Comandos disponibles

##### `qa-framework install`

Copia el framework en el workspace actual (o en el path indicado).

```powershell
# Instalar en el directorio actual
qa-framework install

# Instalar en un workspace específico
qa-framework install --path "C:\mi-proyecto"

# Sobreescribir archivos existentes
qa-framework install --force
```

| Opción | Descripción |
|--------|-------------|
| `--path` | Directorio destino (default: `.`) |
| `--force` | Sobreescribe archivos ya existentes |

##### `qa-framework update`

Actualiza todos los archivos del framework en el workspace. Equivale a `install --force`.

```powershell
qa-framework update

qa-framework update --path "C:\mi-proyecto"
```

| Opción | Descripción |
|--------|-------------|
| `--path` | Directorio destino (default: `.`) |

##### `qa-framework uninstall`

Elimina todos los archivos del framework del workspace. Solicita confirmación antes de proceder.

```powershell
qa-framework uninstall

qa-framework uninstall --path "C:\mi-proyecto"
```

| Opción | Descripción |
|--------|-------------|
| `--path` | Directorio destino (default: `.`) |

#### Workflow típico

```powershell
# 1. Instalar el paquete
pip install qa-framework-cli

# 2. Ir al workspace de VS Code
cd C:\mi-proyecto

# 3. Desplegar el framework
qa-framework install

# 4. Cuando salga una nueva versión
pip install --upgrade qa-framework-cli
qa-framework update
```

> [!NOTE]
> Al ejecutar `qa-framework install`, el CLI avisa automáticamente si hay una versión más nueva disponible en PyPI.

---

### Configuración post-instalación

> [!CAUTION]
> **Completar `.vscode/mcp.json`** con usuario, token de Jira y API key de Postman. Sin esto no se podrán utilizar los MCPs integrados al framework.

## Inventario de agentes

| Agente               | Rol                                                    | Nivel |
|----------------------|-------------------------------------------------------|-------|
| `qa-orchestrator`    | Punto de entrada. Routea por `tipo_tarea`             | N0    |
| `qa-analyst`         | Único que habla con el usuario. Clasifica y prepara   | N1    |
| `qa-context-fetcher` | Recopila contexto de Jira/SharePoint/local            | N2    |
| `qa-feature`         | Genera escenarios y casos de prueba                   | N1    |
| `qa-regression`      | Ejecuta suites existentes, genera faltantes           | N1    |
| `qa-exploratory`     | Testing heurístico con 25 heurísticas                 | N1    |
| `qa-performance`     | Pruebas de carga (k6, artillery)                      | N1    |
| `qa-data-generator`  | Genera datos de prueba por canal                      | N1    |
| `qa-data-provider`   | Resuelve datos dinámicos en runtime                   | N2    |
| `qa-visual`          | Consistencia visual y look & feel                     | N1    |
| `qa-mobile`          | Ejecutor canal mobile (Appium + UiAutomator2)         | N2    |
| `qa-web`             | Ejecutor canal web (Playwright MCP)                   | N2    |
| `qa-api`             | Ejecutor canal API (HTTP/Newman)                      | N2    |
| `qa-reporter`        | Dashboard HTML + tickets Jira. Cierra todo run        | N1    |
| `jira-atlassian`     | Operaciones directas en Jira vía MCP                  | N1    |

## Inventario de skills

| Skill                  | Categoría    | Agente principal     |
|------------------------|-------------|---------------------|
| `context-analysis`     | analysis    | `qa-analyst`         |
| `standards`            | standards   | `qa-feature`         |
| `test-design`          | design      | `qa-feature`         |
| `data-analysis`        | analysis    | `qa-feature`         |
| `mobile-automation`    | automation  | `qa-mobile`          |
| `web-automation`       | automation  | `qa-web`             |
| `api-testing`          | testing     | `qa-api`             |
| `observability`        | performance | `qa-performance`     |
| `exploratory-testing`  | testing     | `qa-exploratory`     |
| `visual-consistency`   | visual      | `qa-visual`          |
