🚀 GitFacil — Plugin Oficial de Obsidian (v1.8.15)
Publicado en la Tienda Oficial de Obsidian
GitFacil está disponible oficialmente en el directorio de plugins de la comunidad de Obsidian:
- 🏪 Tienda Oficial: community.obsidian.md/plugins/git-facil
- 💻 Repositorio GitHub: github.com/Alecwce/obsidian-git-facil
- 🏷️ Última Versión:
v1.8.15(69 tests unitarios e integración con Vitest al 100%)
🎯 Propósito del Proyecto
Ofrecer sincronización de bóvedas de Obsidian con GitHub en un solo clic, pensado tanto para usuarios no técnicos como para desarrolladores que desean sincronizar sus notas entre PC (Linux, Windows, macOS) y Móvil (Android / iOS) sin usar la terminal ni sufrir conflictos de fusión.
🏗️ Arquitectura Dual-Engine (Escritorio + Móvil)
flowchart TD subgraph UI["🎨 Interfaz de Usuario en Obsidian"] Ribbon["🚀 Icono Ribbon\n(Sync 1-Clic + Contador de Cambios)"] Status["📊 Panel de Estado (GitStatusView)\n(Checkboxes + Pull + Últimos 5 Commits)"] Wizard["🪄 Asistente Paso a Paso\n(Setup Wizard & Clonador Móvil)"] Settings["⚙️ Ajustes\n(Token con Ojito + Auto-Sync + Idioma ES/EN)"] end subgraph Core["🧠 Motor de Sincronización (main.ts)"] PlatformCheck{"¿Plataforma?"} end subgraph Desktop["💻 Motor Escritorio (gitHelper.ts)"] NativeGit["Git Nativo (execFile)\n+ Auth Header In-Memory"] GHCli["GitHub CLI (gh)\nCreación automática de repos"] end subgraph Mobile["📱 Motor Móvil (mobileGit.ts)"] IsoGit["isomorphic-git\n100% JS puro sin binarios nativos"] FsAdapter["ObsidianIsomorphicFsAdapter\n(Puente con app.vault.adapter)"] HttpAdapter["obsidianHttpClient\n(Puente con requestUrl sin CORS)"] SmartMerge["smartMergeDriver\n(Resolución automática de conflictos)"] end UI --> PlatformCheck PlatformCheck -->|Platform.isDesktop = true| Desktop PlatformCheck -->|Platform.isDesktop = false| Mobile IsoGit --> FsAdapter IsoGit --> HttpAdapter IsoGit --> SmartMerge
✨ Características Principales (Hasta v1.8.15)
1. 📜 Historial Visual de Commits Recientes (v1.8.15)
- Muestra en la parte inferior del panel lateral de Estado de Git (
GitStatusView) los últimos 5 commits registrados en la rama actual. - Incluye hash abreviado, mensaje del commit y tiempo relativo (“hace 5 min”, “hace 2 h”).
- Permanece visible incluso cuando la bóveda está en estado “Todo limpio ✅”, dando certeza visual inmediata de que los cambios están respaldados.
- Funciona en escritorio mediante
git logy en móvil mediantegit.logdeisomorphic-git+ cálculo relativo puro (formatRelativeTime).
2. 🔄 Auto-Sync al Reanudar la Aplicación y Contador en Ribbon (v1.8.14)
- Sincronización al despertar (
visibilitychange): Detecta cuando vuelves a abrir o desbloquear Obsidian en el celular o la PC (con cooldown inteligente de 2 minutos) y descarga/sube los cambios automáticamente. - Badge / Tooltip dinámico en el icono del cohete: Muestra cuántos archivos tienes pendientes por sincronizar (
GitFacil (3 cambios pendientes)).
3. 📶 Detección Offline Inteligente y Seguridad de Token (v1.8.13)
- Modo Sin Conexión: Distingue entre errores de red (
ENOTFOUND,ETIMEDOUT, caída de Wi-Fi) y errores reales de Git. Si no hay internet, guarda el commit localmente y avisa con tranquilidad que se subirá al recuperar la conexión. - Token PAT Enmascarado: Campo tipo contraseña con botón de ojito (
👁️ / 🙈) para mostrar u ocultar el token de GitHub y redacción automática de secretos (redactSecrets) en cualquier log de error.
4. 🛡️ Resolución Automática de Conflictos en Móvil (v1.8.11 – v1.8.12)
smartMergeDriver: Si un archivo fue editado tanto en PC como en Android, fusiona automáticamente las líneas limpias o conserva ambas versiones sin abortar la sincronización ni corromper el árbol de trabajo.- Checkout Forzado Seguro: Sobrescribe limpiamente archivos de configuración inicial al clonar bóvedas en móvil evitando
CheckoutConflictError. - Filtro de Archivos Internos: Ignora automáticamente
data.jsondel propio plugin yworkspace-mobile.jsonpara evitar falsos positivos de cambios pendientes.
5. 🪄 Asistente de Configuración y Anti-Pánico
- Setup Wizard: Guía paso a paso para verificar Git, configurar nombre/correo, generar token en 1 clic y crear o vincular el repositorio remoto.
- Aviso Anti-Pánico: Si un
pushes rechazado porque hay cambios nuevos en la nube, ofrece un botón directo🔄 Sincronizar con GitHubque alinea el historial (pull --rebase) sin perder ni un carácter.
🛠️ Flujo de Desarrollo, Pruebas y Lanzamiento
# 1. Ir al directorio del proyecto
cd /home/alexwce/Documentos/dev/obsidian-git-facil
# 2. Ejecutar linter, verificación de tipos y los 69 tests en Vitest
pnpm biome check --write .
pnpm run typecheck
pnpm test
# 3. Compilar bundle de producción
pnpm run build
# 4. Desplegar directamente en la bóveda local ryukami-labs
node scripts/deploy.mjs /home/alexwce/Documentos/Obsidian/ryukami-labs
# 5. Validar cumplimiento estricto de la tienda oficial de Obsidian
pnpm run validate:submission🔗 Notas y Skills Relacionadas en la Bóveda
- obsidian-git-mobile-dev: Guía arquitectónica de desarrollo dual-engine y reglas de revisión de Obsidian.
- obsidian-plugin-release: Procedimiento de empaquetado, GitHub Releases y publicación en
community.obsidian.md. - obsidian-dev-rules: Buenas prácticas oficiales de la API de Obsidian.
- index-proyectos: Hub general de proyectos de Obsidian.