Administración
Configuración global de la plataforma: personas, roles conceptuales, ciclo de vida e integraciones.
Personas de la organización
Cargando…
Roles de plataforma
Platform Admin
Gobierno global de la plataforma, no pertenece a un proyecto concreto.
Project Manager
Responsable de uno o varios proyectos.
Developer
Acceso principalmente a los proyectos en los que participa.
Designer
Acceso principalmente a los proyectos en los que participa.
Finance
Acceso a información económica según permisos.
Member
Usuario interno con acceso limitado.
Ciclo de vida del proyecto
- 01Oportunidad
- 02Briefing
- 03Estimación
- 04Presupuesto
- 05Presupuesto aprobado
- 06Alta del proyecto
- 07Planificación
- 08Diseño
- 09Prototipado
- 10Desarrollo
- 11Integraciones
- 12QA
- 13Producción
- 14Garantía
- 15Mantenimiento
- 16Cierre
Integraciones previstas
- HoldedClientes, presupuestos y facturaciónPendiente
- GitHubActividad técnica y desarrolloPendiente
- Claude / Claude CodeEventos técnicos estructuradosPendiente
- FigmaDiseños y prototipos por proyectoPendiente
Claude Code
Registra automáticamente las sesiones de desarrollo. Cada equipo usa un token personal revocable; el contenido se sanitiza antes de guardarse.
Sin tokens generados
Genera un token por equipo de developer para activar la captura de sesiones.
Instalación en el equipo del developer
- Genera un token y guárdalo como variable de entorno
MYP_CC_TOKEN. - Crea el script de hook y regístralo en la configuración de Claude Code.
- En el proyecto de MyP, registra la ruta local del repositorio para que las sesiones se asocien automáticamente.
Script de hook
// ~/.claude/hooks/myp-command-center.mjs
// Envía cada evento de Claude Code a MyP Command Center.
const ENDPOINT = "https://myp-compass.lovable.app/api/public/claude-code/events";
const TOKEN = process.env.MYP_CC_TOKEN;
let raw = "";
process.stdin.on("data", (chunk) => (raw += chunk));
process.stdin.on("end", async () => {
const hook = JSON.parse(raw || "{}");
const body = {
event: hook.hook_event_name,
session_id: hook.session_id,
cwd: hook.cwd,
transcript_path: hook.transcript_path,
model: hook.model?.id ?? hook.model,
occurred_at: new Date().toISOString(),
device: process.env.HOSTNAME || process.env.COMPUTERNAME,
prompt: hook.prompt,
message: hook.message ?? hook.last_assistant_message,
tool_name: hook.tool_name,
command: hook.tool_input?.command,
files: [hook.tool_input?.file_path].filter(Boolean),
error: hook.tool_response?.error,
reason: hook.reason,
};
await fetch(ENDPOINT, {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: `Bearer ${TOKEN}` },
body: JSON.stringify(body),
}).catch(() => {});
process.exit(0);
});Configuración de hooks
// ~/.claude/settings.json
{
"hooks": {
"SessionStart": [{ "hooks": [{ "type": "command", "command": "node ~/.claude/hooks/myp-command-center.mjs" }] }],
"UserPromptSubmit": [{ "hooks": [{ "type": "command", "command": "node ~/.claude/hooks/myp-command-center.mjs" }] }],
"PostToolUse": [{ "hooks": [{ "type": "command", "command": "node ~/.claude/hooks/myp-command-center.mjs" }] }],
"Stop": [{ "hooks": [{ "type": "command", "command": "node ~/.claude/hooks/myp-command-center.mjs" }] }],
"SessionEnd": [{ "hooks": [{ "type": "command", "command": "node ~/.claude/hooks/myp-command-center.mjs" }] }]
}
}Administración avanzada: sin datos todavía
Esta área del proyecto está reservada en el routing y se implementará en una fase posterior.
Contenido previsto
- Auditoría de acciones y eventos de sistema
- Invitaciones por email con enlace de alta
