# Instrucciones para el agente: QM: comparte un agente de trabajo con espacios personales y de equipo

Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.

- Dificultad: avanzado
- Proyecto: https://github.com/yc-software/qm (licencia MIT)
- Guía completa: https://lab.wisd.ai/hub/qm-yc-agent-harness

---

## Para el agente: cómo acompañar al usuario

1. Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
2. Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
3. Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
4. Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
5. No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
6. Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.

---

## Pasos de configuración

### Preparación

Comprueba Node.js ≥24.22.1 y npm ≥11.10.0, según el [manifiesto actual](https://github.com/yc-software/qm/blob/main/package.json); Git, Docker con Buildx y openssl según la guía de despliegue, y acceso a la cuenta de Fly o AWS elegida. Crea y abre un directorio vacío de despliegue antes de inicializarlo; no uses la carpeta del producto.

### Paso 1: define la instalación

Lee deployment.md y SECURITY.md. Elige nube, organización, modelos y postura de permisos. Prepara un directorio de despliegue separado del código del producto.

### Paso 2: inicializa la configuración

En ese directorio, el README documenta:

```bash
npm exec --yes --package=@yc-software/qm@latest --   qm init . --org <slug> --target <fly-or-aws> --model-provider <anthropic-openai-openrouter>
npm install
```

Sustituye los marcadores por el slug real, `fly` o `aws`, y exactamente `anthropic`, `openai` u `openrouter`. La inicialización prepara una skill de despliegue y la configuración; no demuestra que exista ya un servicio operativo.

### Paso 3: sigue el recorrido generado

Para concretar la ruta Fly, instala Flyctl y autentícate; comprueba `fly auth whoami`, `fly orgs list` y `docker buildx version`. Configura `flyOrg`, `region`, un `appPrefix` libre, `publicUrl=https://<app-prefix>-portal.fly.dev` y `sandbox.app` en `qm.config.jsonc`. En el fichero privado e ignorado `.env` configura `ADMIN_GRANTS=<tu-email-verificado>:org_admin`; el asistente solicitará la clave del proveedor seleccionado.

Tras revisar cuenta, recursos y costes, sigue la [ruta Fly oficial](https://github.com/yc-software/qm/blob/main/cli/templates/deployment/references/fly.md), sustituyendo los dos marcadores:

```bash
fly apps create <sandbox-app> --org <fly-org>
npm exec qm -- setup .
npm exec qm -- slack render
npm exec qm -- check
npm exec qm -- secrets push
npm exec qm -- plan
npm exec qm -- up
npm exec qm -- doctor
npm exec qm -- check --live
npm exec qm -- conformance
npm exec qm -- outputs --json
```

En el asistente puedes posponer el transporte de correo para un ensayo exclusivo del administrador: `npm exec qm -- admin-login` genera un enlace privado de un solo uso y cinco minutos. Abre `webUiUrl` de outputs, inicia sesión y pide «Responde con 2 + 2»; exige respuesta real y título generado. El enlace no crea permisos: el administrador debe estar configurado. Para AWS usa su referencia generada en lugar de mezclar estos comandos de Fly.

### Paso 4: prueba ámbitos separados

En una instalación de prueba, crea una conversación personal y una compartida. Comprueba las concesiones para archivos y memoria antes de importar información real.

## Comprobación

Comprueba acceso web y, si lo habilitaste, Slack. Verifica que un recurso personal no aparece en otro ámbito sin permiso, que el registro muestra las acciones y que la postura de ejecución coincide con la elegida.

## Si algo falla

Si cambias código fuente y no ves el cambio, revisa si usas imágenes publicadas o construcciones propias: el README distingue ambas rutas. Para errores de permisos o conectores usa deployment.md y SECURITY.md antes de ampliar accesos.

Fuente: [documentación del proyecto](https://github.com/yc-software/qm/blob/2bf186190c8e80a79b99cf200e92d86de5d195b1/README.md).
