626d06327c
New domain `browser` under frontend/functions/ with 6 Playwright helpers: - pw_launch_browser: chromium + context + page bootstrap with storageState support and baseUrl navigation. - pw_kanban_login: authenticates a Page against /api/auth/login; sets the kanban_session cookie via shared storageState; verifies login page no longer visible after navigation. - pw_drag_drop: human-like pointer drag (mousedown + activateOffset + stepped move + mouseup) compatible with @dnd-kit/core's 8px activation threshold; supports hoverMs for time-based dropzones. - pw_keyboard_sequence: ordered focus/type/press/wait steps for scripting realistic input flows (typing then arrow-key navigating autocompletes). - pw_wait_predicate: thin wrapper over page.waitForFunction with friendlier defaults and custom error messages. - pw_assert_class: poll-based assertion that a Locator has/lacks a CSS class within a timeout; useful for visual-state checks. Each function ships with vitest tests (5-8 cases each) covering both happy and error paths, plus self-documenting .md (Ejemplo + Cuando usarla + Gotchas + frontmatter with params/output schema). Adds frontend/functions/package.json with `"type": "module"` so consumers can ESM-import the .ts files from anywhere in the registry (Playwright's tsx loader respects nearest package.json). Capability page docs/capabilities/playwright.md documents the group with a canonical end-to-end example, frontiers, prerequisites, and gotchas. Index updated. First consumer (issue 0088): apps/kanban requester-input.spec.ts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
47 lines
2.3 KiB
Markdown
47 lines
2.3 KiB
Markdown
# Capability Groups
|
|
|
|
Indice de grupos de capacidades del registry. Cada grupo agrupa >=3 funciones que comparten dominio operativo. Lee la pagina madre del grupo ANTES de buscar funciones sueltas — desbloqueas el conjunto entero en un solo read.
|
|
|
|
## Como leer este indice
|
|
|
|
| Columna | Que |
|
|
|---|---|
|
|
| Grupo | Tag canonico. Coincide con el slug del archivo `<grupo>.md` |
|
|
| N | Numero de funciones en el grupo (auditado por `fn doctor capabilities`) |
|
|
| Que cubre | Frase corta — accion principal |
|
|
|
|
## Grupos vigentes
|
|
|
|
| Grupo | N | Que cubre |
|
|
|---|---|---|
|
|
| [bigquery](bigquery.md) | 26 | _(editar — promovido automaticamente)_ |
|
|
| [nlp](nlp.md) | 33 | _(editar — promovido automaticamente)_ |
|
|
| [docker](docker.md) | 38 | _(editar — promovido automaticamente)_ |
|
|
| [android](android.md) | 37 | _(editar — promovido automaticamente)_ |
|
|
| [metabase](metabase.md) | 106 | _(editar — promovido automaticamente)_ |
|
|
| [doctor](doctor.md) | 11 | Diagnostico read-only del registry: artefactos, servicios, drift, funciones huerfanas |
|
|
| [notebook](notebook.md) | 5 | Operar Jupyter Lab colaborativo (discover/read/exec/write/kernel) |
|
|
| [cpp-windows](cpp-windows.md) | 7 | Compilar, desplegar, lanzar y verificar apps C++ en Windows desde WSL2 |
|
|
| [git](git.md) | 19 | Operaciones git y Gitea: clonar, commit, push/pull, hooks, TBD, webhooks, sync entre PCs |
|
|
| [playwright](playwright.md) | 6 | E2E browser: launch chromium, login kanban, drag dnd-kit, keyboard sequence, wait predicate, assert class |
|
|
|
|
## Como anadir grupo
|
|
|
|
1. Reservar tag plano (sin prefijos). Ej: `metabase`, `android-emu`, `deploy`.
|
|
2. Anadir el tag al frontmatter `.md` de >=3 funciones afines (`fn index` lo registra).
|
|
3. Crear `docs/capabilities/<grupo>.md` con plantilla:
|
|
- Lista de funciones (ID + firma corta).
|
|
- 1-2 ejemplos canonicos de uso.
|
|
- Fronteras (que NO hace el grupo).
|
|
4. Anadir fila a la tabla "Grupos vigentes" arriba.
|
|
5. Correr `fn doctor capabilities` para auditar drift tag<->doc.
|
|
|
|
## Minimo por grupo
|
|
|
|
- **3 funciones**: minimo para crear pagina madre.
|
|
- **<3 funciones**: tag sigue valido para FTS pero no genera pagina madre.
|
|
|
|
## Auto-generacion
|
|
|
|
`fn doctor capabilities --update` reescribe la tabla "Funciones" de cada pagina preservando bloques curated ("Ejemplo canonico", "Fronteras", "Notas"). Las secciones curated nunca se sobrescriben.
|