Metadata-Version: 2.4
Name: qa-framework-cli
Version: 1.0.2
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+](https://www.python.org/downloads/), [pip](https://pip.pypa.io/en/stable/installation/) (o `uv`) y [Visual Studio Code](https://code.visualstudio.com/download).

```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.

1. Abrir el proyecto en Visual Studio Code.
2. En el panel de chat de GitHub Copilot, seleccionar el agente **`qa-orchestrator`**.
3. Escribir: **¿Qué puedo hacer?**

## 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`          |
