# underc0delabs/k0lmenia architecture

> Architecture diagram of the GitHub repository underc0delabs/k0lmenia, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/underc0delabs/k0lmenia
- Repository: https://github.com/underc0delabs/k0lmenia

## Overview

K0lmenIA Light is a Spanish-language QA assistant/plugin paired with k0lmena, a reusable test-automation toolkit. The documented user journey starts with conversational analysis and test design, proceeds through manual or automated execution, and ends in evidence, reports, and optional test-management updates. The tree and excerpts support several runtime tools and shared reporting/management layers; other documented capabilities are represented at their existing directories because their implementations were not sampled. Edges reflect README statements or visible imports/calls; unsampled subsystem links are omitted.

Main entry points: [`scripts/gestion/gestion.py`](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/gestion.py) (Management workflow), [`herramientas/k0lmena/tools/cross-browser/cross-browser.js`](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/cross-browser/cross-browser.js) (Cross-browser checks), [`herramientas/k0lmena/tools/pixel-perfect/pixel-perfect.js`](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/pixel-perfect/pixel-perfect.js) (Visual regression), [`scripts/portal_informes.py`](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/portal_informes.py) (Report portal)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_design["QA design"]
  node_story["Story analysis"]
  node_casegen["Test design<br/>[generar_casos.py]"]
end

subgraph group_execution["Test execution"]
  node_manual["Guided execution"]
  node_websuite["Web automation"]
  node_apisuite["API automation"]
  node_mobilesuite["Mobile automation"]
  node_dbcheck["Database checks<br/>[index.js]"]
  node_perf["Performance runner<br/>[run-perf.js]"]
end

subgraph group_inspection["Web inspection"]
  node_explorer["Site exploration<br/>[explorar.js]"]
  node_crossbrowser["Cross-browser checks<br/>[cross-browser.js]"]
  node_pixel["Visual regression<br/>[pixel-perfect.js]"]
  node_visual["Visual comparison<br/>[comparar.js]"]
  node_browser["Shared browser<br/>[navegador.js]"]
end

subgraph group_results["Results and reporting"]
  node_routes["Project paths<br/>[rutas.js]"]
  node_history["Run history<br/>[historial.js]"]
  node_perfreport["Performance report<br/>[generar-reporte.js]"]
  node_artifactreport["Artifact reports"]
  node_reportportal["Report portal<br/>[portal_informes.py]"]
  node_style["Report styling"]
  node_i18n["Report localization<br/>[_i18n.py]"]
end

subgraph group_management["Test management"]
  node_management["Management workflow<br/>[gestion.py]"]
  node_common["Management client<br/>[comun.py]"]
  node_adapterbase["Adapter base<br/>[base.py]"]
  node_xraycloud["Xray Cloud<br/>[xray_cloud.py]"]
  node_xraydc["Xray Server/DC<br/>[xray_dc.py]"]
  node_tmt["k0lmenaTMT<br/>[k0lmena_tmt.py]"]
end

node_qa(("QA user"))
node_claude(("Claude Code"))

node_qa -->|"requests QA"| node_claude
node_claude -->|"analyzes stories"| node_story
node_claude -->|"designs tests"| node_casegen
node_qa -->|"runs guided cases"| node_manual
node_qa -->|"runs suites"| node_websuite
node_qa -->|"runs suites"| node_apisuite
node_qa -->|"runs suites"| node_mobilesuite
node_qa -->|"checks saved data"| node_dbcheck
node_qa -->|"runs performance"| node_perf
node_explorer -->|"launches browser"| node_browser
node_crossbrowser -->|"uses browser"| node_browser
node_crossbrowser -->|"compares visuals"| node_visual
node_pixel -->|"compares visuals"| node_visual
node_pixel -->|"launches browser"| node_browser
node_explorer -.->|"archives runs"| node_history
node_crossbrowser -.->|"archives runs"| node_history
node_pixel -.->|"archives runs"| node_history
node_perf -->|"generates report"| node_perfreport
node_perf -->|"resolves paths"| node_routes
node_management -->|"uses client"| node_common
node_management -->|"dispatches to"| node_xraycloud
node_management -->|"dispatches to"| node_xraydc
node_management -->|"dispatches to"| node_tmt
node_xraycloud -->|"inherits from"| node_adapterbase
node_xraydc -->|"inherits from"| node_adapterbase
node_tmt -->|"inherits from"| node_adapterbase
node_reportportal -->|"uses reports"| node_artifactreport
node_reportportal -->|"uses styling"| node_style
node_reportportal -->|"uses localization"| node_i18n

click node_story "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/actualizar_conocimiento.py"
click node_casegen "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/generar_casos.py"
click node_manual "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/ejecucion_manual.py"
click node_websuite "https://github.com/underc0delabs/k0lmenia/tree/main/herramientas/k0lmena/web"
click node_apisuite "https://github.com/underc0delabs/k0lmenia/tree/main/herramientas/k0lmena/api"
click node_mobilesuite "https://github.com/underc0delabs/k0lmenia/tree/main/herramientas/k0lmena/mobile"
click node_dbcheck "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/bd/index.js"
click node_perf "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/run-perf.js"
click node_explorer "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/explorador/explorar.js"
click node_crossbrowser "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/cross-browser/cross-browser.js"
click node_pixel "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/pixel-perfect/pixel-perfect.js"
click node_visual "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/visual/comparar.js"
click node_browser "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/navegador/navegador.js"
click node_routes "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/rutas.js"
click node_history "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/historial/historial.js"
click node_perfreport "https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/reports/performance/generar-reporte.js"
click node_artifactreport "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/generar_informe_artefacto.py"
click node_reportportal "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/portal_informes.py"
click node_style "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/_estilos_reporte.py"
click node_i18n "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/_i18n.py"
click node_management "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/gestion.py"
click node_common "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/comun.py"
click node_adapterbase "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/adaptadores/base.py"
click node_xraycloud "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/adaptadores/xray_cloud.py"
click node_xraydc "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/adaptadores/xray_dc.py"
click node_tmt "https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/adaptadores/k0lmena_tmt.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_story,node_casegen,node_qa toneBlue
class node_manual,node_websuite,node_apisuite,node_mobilesuite,node_dbcheck,node_perf toneAmber
class node_explorer,node_crossbrowser,node_pixel,node_visual,node_browser toneMint
class node_routes,node_history,node_perfreport,node_artifactreport,node_reportportal,node_style,node_i18n toneRose
class node_management,node_common,node_adapterbase,node_xraycloud,node_xraydc,node_tmt,node_claude toneIndigo
```

## Components

### QA design

- [Story analysis](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/actualizar_conocimiento.py): `scripts/actualizar_conocimiento.py`
- [Test design](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/generar_casos.py): `scripts/generar_casos.py`

### Test execution

- [Guided execution](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/ejecucion_manual.py): `scripts/ejecucion_manual.py`
- [Web automation](https://github.com/underc0delabs/k0lmenia/tree/main/herramientas/k0lmena/web): `herramientas/k0lmena/web`
- [API automation](https://github.com/underc0delabs/k0lmenia/tree/main/herramientas/k0lmena/api): `herramientas/k0lmena/api`
- [Mobile automation](https://github.com/underc0delabs/k0lmenia/tree/main/herramientas/k0lmena/mobile): `herramientas/k0lmena/mobile`
- [Database checks](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/bd/index.js): `herramientas/k0lmena/tools/bd/index.js`
- [Performance runner](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/run-perf.js): `herramientas/k0lmena/run-perf.js`

### Web inspection

- [Site exploration](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/explorador/explorar.js): `herramientas/k0lmena/tools/explorador/explorar.js`
- [Cross-browser checks](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/cross-browser/cross-browser.js): `herramientas/k0lmena/tools/cross-browser/cross-browser.js`
- [Visual regression](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/pixel-perfect/pixel-perfect.js): `herramientas/k0lmena/tools/pixel-perfect/pixel-perfect.js`
- [Visual comparison](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/visual/comparar.js): `herramientas/k0lmena/tools/visual/comparar.js`
- [Shared browser](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/navegador/navegador.js): `herramientas/k0lmena/tools/navegador/navegador.js`

### Results and reporting

- [Project paths](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/rutas.js): `herramientas/k0lmena/tools/rutas.js`
- [Run history](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/tools/historial/historial.js): `herramientas/k0lmena/tools/historial/historial.js`
- [Performance report](https://github.com/underc0delabs/k0lmenia/blob/main/herramientas/k0lmena/reports/performance/generar-reporte.js): `herramientas/k0lmena/reports/performance/generar-reporte.js`
- [Artifact reports](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/generar_informe_artefacto.py): `scripts/generar_informe_artefacto.py`
- [Report portal](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/portal_informes.py): `scripts/portal_informes.py`
- [Report styling](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/_estilos_reporte.py): `scripts/_estilos_reporte.py`
- [Report localization](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/_i18n.py): `scripts/_i18n.py`

### Test management

- [Management workflow](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/gestion.py): `scripts/gestion/gestion.py`
- [Management client](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/comun.py): `scripts/gestion/comun.py`
- [Adapter base](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/adaptadores/base.py): `scripts/gestion/adaptadores/base.py`
- [Xray Cloud](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/adaptadores/xray_cloud.py): `scripts/gestion/adaptadores/xray_cloud.py`
- [Xray Server/DC](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/adaptadores/xray_dc.py): `scripts/gestion/adaptadores/xray_dc.py`
- [k0lmenaTMT](https://github.com/underc0delabs/k0lmenia/blob/main/scripts/gestion/adaptadores/k0lmena_tmt.py): `scripts/gestion/adaptadores/k0lmena_tmt.py`

### Other components

- **QA user**
- **Claude Code**

## Connections

- QA user → Claude Code: requests QA (evidence: `README.md`)
- Claude Code → Story analysis: analyzes stories (evidence: `README.md`)
- Claude Code → Test design: designs tests (evidence: `README.md`)
- QA user → Guided execution: runs guided cases (evidence: `README.md`)
- QA user → Web automation: runs suites (evidence: `README.md`)
- QA user → API automation: runs suites (evidence: `README.md`)
- QA user → Mobile automation: runs suites (evidence: `README.md`)
- QA user → Database checks: checks saved data (evidence: `README.md`)
- QA user → Performance runner: runs performance (evidence: `README.md`)
- Site exploration → Shared browser: launches browser (evidence: `herramientas/k0lmena/tools/explorador/explorar.js`)
- Cross-browser checks → Shared browser: uses browser (evidence: `herramientas/k0lmena/tools/cross-browser/cross-browser.js`)
- Cross-browser checks → Visual comparison: compares visuals (evidence: `herramientas/k0lmena/tools/cross-browser/cross-browser.js`)
- Visual regression → Visual comparison: compares visuals (evidence: `herramientas/k0lmena/tools/pixel-perfect/pixel-perfect.js`)
- Visual regression → Shared browser: launches browser (evidence: `herramientas/k0lmena/tools/pixel-perfect/pixel-perfect.js`)
- Site exploration → Run history: archives runs (evidence: `herramientas/k0lmena/tools/explorador/explorar.js`)
- Cross-browser checks → Run history: archives runs (evidence: `herramientas/k0lmena/tools/cross-browser/cross-browser.js`)
- Visual regression → Run history: archives runs (evidence: `herramientas/k0lmena/tools/pixel-perfect/pixel-perfect.js`)
- Performance runner → Performance report: generates report (evidence: `herramientas/k0lmena/run-perf.js`)
- Performance runner → Project paths: resolves paths (evidence: `herramientas/k0lmena/run-perf.js`)
- Management workflow → Management client: uses client (evidence: `scripts/gestion/gestion.py`)
- Management workflow → Xray Cloud: dispatches to (evidence: `scripts/gestion/gestion.py`)
- Management workflow → Xray Server/DC: dispatches to (evidence: `scripts/gestion/gestion.py`)
- Management workflow → k0lmenaTMT: dispatches to (evidence: `scripts/gestion/gestion.py`)
- Xray Cloud → Adapter base: inherits from (evidence: `scripts/gestion/adaptadores/xray_cloud.py`)
- Xray Server/DC → Adapter base: inherits from (evidence: `scripts/gestion/adaptadores/xray_dc.py`)
- k0lmenaTMT → Adapter base: inherits from (evidence: `scripts/gestion/adaptadores/k0lmena_tmt.py`)
- Report portal → Artifact reports: uses reports (evidence: `scripts/portal_informes.py`)
- Report portal → Report styling: uses styling (evidence: `scripts/portal_informes.py`)
- Report portal → Report localization: uses localization (evidence: `scripts/portal_informes.py`)
