# Guía de proyectos

Crea espacios de trabajo de proyectos personales, gestiona asociaciones de memorias, realiza el seguimiento de TODOs y decisiones, y delimita el contexto de los agentes.

- Canonical: https://docs.xmemo.dev/es/docs/guides/projects
- Locale: es-ES
- Content-Locale: es-ES
- Canonical-Content-Digest: 7f95ace70e5137cfc69dccdd21827d3a6a830c65f25f2cff83b344d35824c8ef
- Edition-Digest: 84142dba1081b3ca5a3f0055333dc7cada99691b40b34e373c1e77e1093c0360
- Source-Revision: sha256:192851794c728ed3868a5be3be886563c1566aa6aec82e2a9d21109e443f6368

## Objetivo del usuario

Establece un espacio de trabajo de proyecto exclusivo para organizar memorias contextuales, realizar el seguimiento de decisiones operativas y tareas activas, recuperar contexto de proyecto enfocado en agentes conectados y verificar que desvincular asociaciones de proyecto conserve intactas las memorias personales centrales.

## Disponibilidad y requisitos previos

Los espacios de trabajo de proyectos están disponibles para todas las cuentas personales en Memory Console en https://xmemo.dev/me#projects y a través de los perfiles de cliente MCP compatibles:

- Límite personal: los proyectos son estrictamente personales hoy en día; cualquier intento de crear un proyecto con team_id es rechazado por el servidor (HTTP 400). La documentación no promete soporte para proyectos de equipo.
- Cuotas sin límite: la creación de espacios de trabajo no está limitada por cuotas numéricas de planes ni restricciones artificiales de proyectos. Las cuentas aprovisionan espacios según sus necesidades.
- Vista particionada: la vista "Atención requerida" (Attention Needed) y las particiones de memoria de conocimiento (Knowledge) frente a memoria de trabajo (Working) funcionan si están habilitadas para su cuenta (el modo de evaluación de convergencia está desactivado de forma predeterminada).
- Conectividad de agentes: los agentes conectados acceden a herramientas de proyecto según su perfil de cliente, tal como se especifica en config/mcp-documentation-contract.json.

## 1. Navegar a Proyectos en Memory Console

Inicia sesión en tu panel personal y abre https://xmemo.dev/me#projects. En la navegación izquierda, selecciona la sección Workspace y haz clic en Projects. El encabezado del panel muestra "Browse project workspaces, context, and project memories." y exhibe métricas de nivel superior para Total Projects, Active, Attention Needed y Archived.

```text
https://xmemo.dev/me#projects
Workspace -> Projects -> Total Projects (0) | Active (0) | Attention Needed (—) | Archived (0)
```

## 2. Aprovisionar un nuevo espacio de trabajo de proyecto personal

Haz clic en Create New Project en el área de acción superior para abrir el diálogo del espacio de trabajo:

- Nombre del proyecto: introduce un nombre descriptivo del proyecto (p. ej., "Incident Response Automation"). El campo indica "Required, 1-128 characters." y valida contra caracteres de control y separadores de ruta (/ o \).
- Vista previa del identificador del proyecto: revisa el identificador preliminar (#incident-response-automation). El texto de ayuda confirma: "Non-authoritative preview. The backend server assigns the authoritative project key."
- Descripción: de forma opcional, introduce una descripción de alcance de hasta 2000 caracteres (p. ej., "Operational runbooks, triage checklists, and automated incident response workflows.").
- Envío: haz clic en Create Project. El servidor asigna el identificador canónico y abre la vista de detalles del proyecto.

## 3. Asociar memorias, TODOs y decisiones

Una vez aprovisionado el espacio de trabajo, complétalo con contexto delimitado, tareas pendientes y decisiones de arquitectura:

- Asociar una memoria: escribe una memoria sintética de runbook operativo delimitada al proyecto (scope: "incident-response-automation"): "Runbook policy: P0 production outages trigger immediate secondary on-call escalation after 15 minutes of unacknowledged alerts."
- Registrar un TODO: en la vista de detalles del proyecto o a través de un agente, añade una tarea: "Draft post-incident review template for payment gateway timeouts."
- Registrar una decisión: registra una decisión de arquitectura: "Use PagerDuty webhook adapter for primary incident ingestion."
- Inspeccionar métricas principales: la barra de métricas refleja totales en vivo: Memories: 1, Open TODOs: 1, Decisions: 1.

```ts
await client.remember(
  "Runbook policy: P0 production outages trigger immediate secondary on-call escalation after 15 minutes of unacknowledged alerts.",
  {
    path: "projects/incident-response-automation/runbooks/p0-escalation",
    scope: "incident-response-automation",
  },
);
```

## 4. Verificar la recuperación contextual de los agentes

Conecta un cliente de agente autorizado para verificar que la recuperación de proyectos devuelva registros delimitados sin interferencias de otros proyectos:

- Cursor u Ordinary Full: los agentes invocan get_project_context(project_id="incident-response-automation") para recuperar memorias activas, TODOs pendientes y decisiones registradas.
- ChatGPT o Generic Public: los agentes invocan get_project_summary(project_id="incident-response-automation") o open_project_workspace para inspeccionar el estado del resumen.
- Widget interactivo de ChatGPT: el widget interactivo en el chat abierto por open_project_workspace proporciona tarjetas de tareas en línea dentro de la conversación; es independiente de Memory Console web completa en https://xmemo.dev/me#projects.

```json
{
  "project_id": "incident-response-automation",
  "status": "active",
  "memories_count": 1,
  "open_todos": 1,
  "decisions": 1,
  "summary": "Operational runbooks, triage checklists, and automated incident response workflows."
}
```

## 5. Desvincular memoria y verificar eliminación no destructiva

Verifica que eliminar una memoria del proyecto desvincule la asociación del espacio de trabajo al tiempo que conserva intacto el registro de memoria personal subyacente:

- Abrir panel de memoria: en la lista de memorias del proyecto, selecciona el runbook operativo para desplegar el panel de detalles.
- Iniciar eliminación: haz clic en Remove from Project en las acciones del panel.
- Confirmar desvinculación: el diálogo se abre con el encabezado "Remove from Project" y el subtítulo "This memory will be disassociated from this project workspace.". Observa la advertencia: "The memory content remains in your personal memory archive, but will no longer appear in this project context."
- Ejecutar confirmación: haz clic en Remove. El conteo de memorias del proyecto se decrementa a 0.
- Verificar persistencia global: navega a tu archivo de memoria personal (/me#memory) y confirma que la memoria del runbook permanece intacta y accesible.

## Resultado observable

Al completar este flujo de trabajo, tu espacio demuestra un aislamiento operativo completo:

- Estado del espacio de trabajo: el proyecto aparece listado en proyectos activos (Active) con el slug canónico #incident-response-automation.
- Aislamiento contextual: los agentes conectados consultan el contexto del proyecto y reciben datos delimitados sin contaminación de proyectos no relacionados.
- Seguridad de datos: desvincular registros de memoria de un espacio de trabajo reduce con éxito las métricas del proyecto mientras mantiene los registros de memoria personal de forma permanente en tu archivo.

## A qué pueden acceder los agentes

La disponibilidad de herramientas para agentes depende estrictamente del perfil de cliente configurado en config/mcp-documentation-contract.json:

- Perfiles chatgpt-public, generic-public y public-only: exponen project, get_project_summary y open_project_workspace.
- Perfil claude-plugin: expone project y get_project_context.
- Perfiles cursor-plugin y ordinary-full: exponen get_project_context, update_project_todo y update_project_decision.
- Límites de perfil: otros perfiles de cliente no exponen herramientas de proyecto. Intentar llamar a herramientas no contempladas dará lugar a rechazos de detección de herramientas.

## Límites de uso compartido y ciclo de vida

Los espacios de trabajo de proyectos imponen límites explícitos de operación y datos:

- Límite personal: todos los espacios de trabajo son exclusivamente personales hoy en día. No se admiten espacios de trabajo de equipo y las solicitudes que incluyan team_id fallan en la validación.
- Estados del ciclo de vida: el explorador de memoria categoriza registros en los estados Active, Superseded, Expired y Archived.
- Particiones de curación: si están habilitadas para tu cuenta, los espacios de trabajo ofrecen particiones de memoria de conocimiento (Knowledge) y de trabajo (Working). La partición de Knowledge conserva convenciones persistentes; la partición de Working almacena el estado transitorio de la sesión.
- Distinción de bases de conocimiento: las particiones de proyecto organizan memorias episódicas de conversaciones. Por contra, las bases de conocimiento proporcionan gestión formal de documentos versionados con instantáneas multirrevisiones. Para documentación curada, consulta /docs/concepts/knowledge-bases.
- Límite de cuota: los espacios de trabajo de proyectos personales no tienen cuotas numéricas.

## Recuperación de fallos

Casos extremos comunes y medidas de recuperación:

- Nombre de proyecto duplicado (HTTP 409): el servidor rechaza nombres duplicados con "A project with this name or identifier already exists in your workspace.". Proporciona un nombre de proyecto distinto.
- Nombre de proyecto no válido (HTTP 400): los nombres de proyectos no pueden contener barras (/ o \), superar los 128 caracteres ni utilizar tokens reservados (_project, ., ..). Corrige el nombre en el diálogo de creación.
- Discrepancia de herramientas del perfil de cliente: si un agente no encuentra get_project_context, verifica el perfil de cliente activo. El perfil chatgpt-public expone get_project_summary, mientras que get_project_context se expone en cursor-plugin y ordinary-full.
- Conflicto de versiones (HTTP 409): si otra sesión modifica el proyecto o la memoria simultáneamente, el panel muestra "Modified elsewhere, please reload" junto con un botón Reload. Haz clic en Reload para actualizar el estado.

## Referencia relacionada

Para funciones complementarias y referencias técnicas, explora:

- Referencia de conceptos de proyectos: detalles arquitecturales y convenciones de alcance en /docs/concepts/projects.
- Guía de Memory Console: recorrido completo por la consola web en /docs/guides/memory-console.
- Guía de bases de conocimiento: gestión de documentación de referencia curada en /docs/concepts/knowledge-bases.
- API REST de proyectos: extremos programáticos autenticados en /docs/api/projects.

## Usuario de ChatGPT

Dale a ChatGPT acceso duradero a tus preferencias de XMemo, datos de proyecto, decisiones y TODOs sin pegar fichas bearer en un chat.

Conecte el servidor XMemo MCP alojado a través de la aplicación ChatGPT/OpenAI OAuth flow, luego apruebe la subvención de memoria:read y memoria:write para su cuenta XMemo.

Guarde una nota de preferencia sintética o de proyecto, inicie un nuevo chat y luego pida a ChatGPT que la recuerde a través de XMemo antes de continuar el trabajo.

Si OAuth falla o las herramientas no aparecen, salir del servidor MCP en la aplicación host, volver a conectar la URL del servidor XMemo y volver a probar antes de crear tokens directos.

## Copiloto / Codex desarrollador

Lleve decisiones de repo, convenciones de codificación, notas de corrección de errores e historial de tareas entre los agentes IDE y CLI.

Use OAuth para VS Code / GitHub Copilot y Gemini CLI cuando esté disponible. Para Copilot CLI, Codex, Cursor u otros clientes MCP directos, mantenga XMEMO_KEY en el entorno local o en el almacén de secretos y establezca un XMEMO_AGENT_INSTANCE_ID estable.

Grabe una decisión de base de código o corrección de errores, y luego pida al siguiente agente IDE o CLI que recuerde el contexto XMemo relevante antes de editarlo.

Si las memorias están vacías, verifique la ruta de configuración MCP seleccionada, la variable de entorno XMEMO_KEY para clientes directos y cualquier credencial OAuth rancio en la aplicación host.

## Equipo / propietario del piloto de la empresa

Evalúe la memoria compartida con controles de cuenta, atribución de origen, flujos de trabajo export/delete y pruebas de configuración seguras para los revisores.

Cree o introduzca el espacio de trabajo protegido de XMemo, invite a usuarios aprobados, luego conecte a cada cliente a través de OAuth o una credencial directa con alcance de acuerdo con las insignias de preparación.

Haga que un miembro piloto guarde una memoria sintética del equipo, confirme la atribución de origen en XMemo, luego revise delete/export y las rutas de soporte.

Si un miembro no puede conectarse, compruebe los permisos de rol, la aprobación de OAuth, el estado de preparación del cliente y la orientación de soporte antes de emitir un nuevo token.

## Operador de agente autónomo

Deje que los agentes sin cabeza o programados registren el progreso, recuperen decisiones previas y mantengan una identidad estable de instancia no secreta.

Obtener /api/v1/mcp/config/autonomous-agent. Preferir auth_modes.oauth cuando el runner soporta OAuth + cabeceras personalizadas; utilice auth_modes.xmemo_key con XMEMO_KEY de una tienda secreta sólo para runners totalmente sin cabeza.

Ejecute una tarea sintética que escriba el progreso a XMemo, reinicie el runner y confirme que recuerda que el progreso usando el mismo XMEMO_AGENT_INSTANCE_ID.

Si la atribución cambia o recuerda dividida entre instancias, persistir XMEMO_AGENT_INSTANCE_ID fuera de git y verificar que el runner no lo esté regenerando en cada inicio.
