🚀 Skill: Obsidian Plugin Release & Store
Resumen de la Skill
Procedimiento completo y estandarizado para compilar en producción, validar criterios de admisión, realizar releases en GitHub y distribuir actualizaciones en la tienda oficial de Obsidian Community Plugins.
🚦 1. Quality Gates Previos al Lanzamiento
Ejecutar siempre en la raíz del plugin:
# 1. Linter y formato de código (Biome)
pnpm biome check .
# 2. Verificación de tipos TypeScript estricta
pnpm run typecheck
# 3. Pruebas unitarias y de integración
pnpm test🔢 2. Sincronización de Versión y Compilación
- Actualizar número de versión semántica
x.y.zen:package.json→"version": "x.y.z"manifest.json→"version": "x.y.z"
- Compilar paquete para producción:
pnpm run build
🧪 3. Despliegue en Bóveda Local y Recarga en Caliente
Antes de publicar en la nube, probar la versión compilada en tu Obsidian en vivo:
# Copiar main.js, manifest.json y styles.css a la bóveda
node scripts/deploy.mjs /home/alexwce/Documentos/Obsidian/ryukami-labs
# Recargar el plugin en caliente sin cerrar Obsidian
obsidian plugin:reload id=git-facil
# Verificar que no haya errores en consola
obsidian dev:errors🏷️ 4. Publicación del Release en GitHub
- Confirmar y subir cambios de código a GitHub:
git add -A && git commit -m "feat: resumen de cambios (vX.Y.Z)" && git push origin main - Crear GitHub Release adjuntando los 3 assets individuales sin comprimir:
gh release create X.Y.Z main.js manifest.json styles.css --title "GitFacil X.Y.Z" --notes "Notas de versión..." - Validar con el script de la tienda comunitaria:
pnpm run validate:submission
📦 5. ¿Cómo se actualiza la Tienda de Obsidian?
- Plugins ya listados: Obsidian consulta directamente la API de GitHub Releases. Cuando detecta un nuevo tag semver con
main.jsymanifest.json, distribuye automáticamente la actualización a todos los usuarios. - Cambios de descripción / metadata: Se realiza mediante Pull Request editando
community-plugins.jsonen el repositorio oficialobsidianmd/obsidian-releases.