Bitácora — 2026-10-26
Sprint: 0 (Configuración inicial)
Objetivo del día (uno solo): Conectar GitHub por SSH y construir el ecosistema de segundo cerebro (vault + web + auth).
Qué hice
- GitHub SSH: Generé un par de claves ed25519 (
~/.ssh/id_ed25519), el usuario las autorizó en GitHub y verifiqué el handshake (ssh -T git@github.com→ “successfully authenticated”). Probé acceso real congit ls-remote. - GitHub Access Console: Construí una consola web local (Python, sin dependencias) que muestra el estado real de la conexión SSH: clave, huella, handshake y registro en vivo. Diseño glassmorphism con tema morado. Desplegada en Cloudflare Pages (instantánea redactada).
- Segundo Cerebro (Quartz): Convertí la bóveda de Obsidian en un sitio estático con Quartz v5. Grafo interactivo, búsqueda, backlinks, modo oscuro, callouts, wikilinks. Tema morado. Desplegado en Cloudflare Pages (público).
- Auth Portal: Construí un portal de autenticación (login, registro, logout) con base de datos real (Cloudflare D1 / SQLite). Avatares DiceBear (8 estilos), personalización de color y avatar, preferencias persistentes. Diseño morado con animaciones y partículas.
- Vault en GitHub: Inicialicé el repo git de la bóveda y lo subí a GitHub (privado). Configuré CI/CD con GitHub Actions.
- Conexiones cruzadas: Enlaces entre GitHub Console, Segundo Cerebro, Auth Portal y Vault en GitHub en pies de página y página de inicio.
- Diseño: Unifiqué todo el ecosistema con tema morado (violeta 8b5cf6, lavanda a78bfa). Eliminé todos los emojis y los reemplacé por iconos SVG.
- Migración de archivos: Moví todo el código de
08_Proyectos/aDocumentos/Proyecto predeterminado/para que la bóveda solo contenga información.
Qué entendí con mis palabras
- SSH vs PAT: SSH es para operaciones git (clone, push, pull). Para API (issues, PRs) se necesita un token o
gh. SSH no da acceso a la API de GitHub. - Cloudflare Pages + Functions: Pages sirve archivos estáticos; Functions (en
functions/) son endpoints serverless que corren en el edge. D1 es SQLite en el edge, accesible desde Functions. - Quartz v5: Usa configuración YAML (no TS como v4). Los estilos se personalizan en
quartz/styles/custom.scss. El grafo y la búsqueda son plugins habilitados por defecto. - Symlink content: Quartz apunta a la bóveda via symlink, así que cualquier cambio en las notas se refleja al rebuild.
- Cloudflare Access: Requiere activar Zero Trust (plan gratuito). Sin activarlo, el sitio queda público.
Bloqueos
- Cloudflare Access: No se pudo activar porque requiere seleccionar un plan (posible verificación de tarjeta). El sitio quedó público.
- GitHub Actions CI/CD: El workflow está creado pero necesita secrets (
CLOUDFLARE_API_TOKEN,CLOUDFLARE_ACCOUNT_ID) que deben configurarse manualmente en GitHub. - D1 local: El desarrollo local requiere aplicar el schema manualmente al archivo sqlite local.
Uso de IA
- Le pregunté: Cómo estructurar un sistema de auth con D1, cómo configurar Quartz v5, cómo generar avatares SVG con DiceBear.
- Acepté: La arquitectura de Pages Functions + D1, el uso de DiceBear para avatares, el tema morado unificado.
- Error o límite de la IA: Las versiones de wrangler cambian rápidamente (v4 vs v3). Algunos comandos (
pages project create) ya no funcionan como antes. Hubo que usar la API REST directamente.
Evidencia
- Commits:
a81ea08,6d88857,4e86bc8,7f2fb6eensecond-brain - URLs desplegadas:
- Repositorio: https://github.com/gpb-codes/second-brain
- Clave SSH:
SHA256:hKWvgLYqIikdNkMoiCrzhpoPN8K7i7LtwmQ8UZgfsfA
Siguiente paso (uno solo)
Configurar los secrets de GitHub Actions para que el despliegue del segundo cerebro sea automático al hacer push.
Regla: si no hay evidencia, la entrada describe intención, no aprendizaje.