Tu avatar de GameCode y tu progreso, dentro del editor.
Estado
Primera versión (scaffold): inicio de sesión con OAuth + vista lateral con los
datos de tu avatar. El render del avatar (LPC en canvas) y las estadísticas
(XP, racha, misiones) llegan en las siguientes versiones.
Cómo funciona el login
Reutiliza el flujo OAuth del backend (el mismo patrón de deep-link que la app
móvil, con gamecode://, aquí con vscode://):
GameCode: Iniciar sesión abre el navegador en la página de conexión
(/connect/vscode) con un state anti-CSRF.
Entrás con email/contraseña, Google o GitHub y autorizás.
El backend redirige a vscode://gamecode.gamecode/auth/callback?code=…&state=….
La extensión valida el state, canjea el code en POST /auth/oauth/exchange
y guarda los tokens en el SecretStorage de VS Code.
El accessToken se renueva solo con POST /auth/refresh.
Desarrollo
npm install
npm run build # o: npm run watch
Abrí la carpeta en VS Code y pulsá F5 (Extension Development Host).
Ajustes
gamecode.apiBaseUrl — URL de la API (default https://api.gamecode.me).
gamecode.webBaseUrl — URL del sitio (default https://gamecode.me).
Pendiente en el backend / front
Backend: aceptar ?client=vscode en /auth/google y /auth/github y
redirigir a la URI vscode:// (con allowlist), más un endpoint para autorizar
a un usuario ya logueado (caso email/contraseña). oauth/exchange y refresh
se reutilizan tal cual.
Front: página /connect/vscode (login con los tres métodos + botón
"Autorizar VS Code").