Operaciones de Guide Library¶
Este documento es la guia de mantenimiento de la biblioteca y de la web-app Guide Library.
Debe leerse junto con:
AGENTS.mdGUIA_DESPLIEGUE_GUIDE_LIBRARY.mdREADME.md
1. Idea principal¶
El repositorio tiene dos capas:
- Biblioteca de trabajo en Markdown
- Es la fuente de verdad.
- Se edita desde Obsidian, Codex o GitHub.
-
Incluye guiones, manuales, fichas, indices, fuentes brutas y control factual.
-
Web-app estatica
- Se genera automaticamente desde los Markdown.
- Se publica en Cloudflare Pages.
- Sirve para leer comodo desde movil, tablet o PC.
Nunca editar a mano .mkdocs/ ni site/. Son carpetas generadas.
2. Estado de produccion¶
- Repo GitHub:
curiositasmundus/guides-library - Rama de produccion:
main - Proyecto Cloudflare Pages:
guides-library - Dominio previsto:
library.curiositasmundus.com - URL temporal de Cloudflare:
https://guides-library.pages.dev - Build command:
pip install -r requirements.txt && python scripts/build_guide_library.py && mkdocs build
- Build output directory:
site
3. Archivos importantes¶
AGENTS.md: reglas de trabajo para IA y humanos.README.md: entrada rapida y estado de importacion.OPERACIONES_GUIDE_LIBRARY.md: esta guia operativa.GUIA_DESPLIEGUE_GUIDE_LIBRARY.md: despliegue, dominio y acceso.mkdocs.yml: configuracion de la web-app.requirements.txt: dependencias Python para construir la web.scripts/build_guide_library.py: prepara los Markdown para MkDocs.webapp/: icono, PWA, estilos y overrides..gitignore: excluye carpetas generadas.
4. Flujo normal para anadir documentos¶
- Conservar la fuente bruta.
- Guardar el documento completo en la carpeta
Fuentes/adecuada. - No reescribir la fuente para "mejorarla".
-
Anotar dudas o falsedades dentro de la fuente cuando proceda.
-
Clasificar el conocimiento.
- Global:
Conocimiento_General/ - Pais:
Belgica/Conocimiento_Belgica/u otro pais futuro. - Ciudad:
Pais/Ciudad/Manual_Ciudad.md -
Tour: guion, fichas e indice del tour.
-
Integrar sin sustituir.
- Leer antes los archivos existentes.
- Anadir o fusionar secciones concretas.
-
No borrar contenido util anterior.
-
Actualizar navegacion.
00_Inicio.mdPais/00_Pais.mdPais/Ciudad/00_Ciudad.md-
Indices rapidos y fichas cuando haya tour usable.
-
Actualizar control.
Control_Factual/Cola_importacion_tours_drive.mdControl_Factual/Informaciones_para_confirmar_por_humanos.mdControl_Factual/Inventario_documentos_origen.md-
README.md, si cambia el estado de importacion. -
Probar la web.
python scripts/build_guide_library.py
mkdocs build
En esta maquina puede ser necesario:
py -3.14 scripts/build_guide_library.py
py -3.14 -m mkdocs build
5. Flujo normal para cambios pequenos¶
Ejemplos: corregir una errata, anadir un enlace, mejorar un indice, cambiar estilos.
- Hacer una rama
codex/...si el cambio no es trivial. - Editar solo los archivos necesarios.
- Ejecutar build local.
- Commit claro.
- Push.
- Crear PR a
main. - Fusionar cuando el build sea correcto.
Cloudflare despliega desde main, asi que cualquier cambio fusionado a main debe ser publicable.
6. Politica de ramas¶
main: produccion. Debe construir correctamente.codex/...: trabajo en curso o integraciones automaticas.backup/...: puntos de vuelta antes de cambios grandes.
Antes de grandes importaciones o reestructuraciones:
git branch backup/nombre-fecha HEAD
No usar git reset --hard ni revertir cambios ajenos sin permiso explicito.
7. Que hace build_guide_library.py¶
El script:
- Copia los Markdown a
.mkdocs/docs. - Convierte enlaces tipo Obsidian
Textoa enlaces Markdown. - Usa
00_Inicio.mdcomo portada web (index.md). - Copia archivos de apoyo necesarios para que el README web no tenga enlaces rotos.
- Copia assets de
webapp/assets.
Si en el futuro se crea un nuevo pais o una carpeta raiz nueva con contenido real, revisar SOURCE_DIRS dentro de scripts/build_guide_library.py.
8. Reglas para enlaces¶
Preferir enlaces Obsidian dentro del contenido de trabajo:
[Ayuntamiento](Belgica/Lovaina/Guion_Lovaina_2h.md#03-ayuntamiento)
El script los convierte para la web.
Tambien funcionan enlaces Markdown relativos:
[Ayuntamiento](Guion_Lovaina_2h.md#03-ayuntamiento)
Si se cambia un encabezado de un guion, revisar sus indices rapidos. Muchos avisos de build vienen de anclas antiguas.
9. Warnings habituales del build¶
Ancla no encontrada¶
Significa que un indice enlaza a una seccion cuyo titulo ha cambiado.
Accion:
- Buscar el enlace en el indice rapido.
- Buscar el encabezado real en el guion/manual.
- Actualizar el enlace o el titulo.
No bloquea siempre el despliegue, pero afecta a la navegacion durante tours.
Archivo no encontrado¶
Puede significar:
- Falta crear el archivo enlazado.
- El archivo existe, pero no esta incluido en
SOURCE_DIRS. - El enlace esta mal escrito.
Esto si debe revisarse antes de dar por terminada una ciudad o tour.
requirements.txt no encontrado en Cloudflare¶
Cloudflare esta desplegando una rama que no tiene la web-app.
Accion:
- Confirmar que Cloudflare usa
main. - Confirmar que
maincontienerequirements.txt,mkdocs.ymlyscripts/build_guide_library.py.
10. Cloudflare y dominio¶
Cloudflare Pages debe desplegar desde main.
No usar la carpeta de cPanel como destino principal de esta web-app. La carpeta de cPanel puede existir, pero el dominio library.curiositasmundus.com debe apuntar al proyecto de Cloudflare Pages.
Si el dominio falla:
- Revisar
Custom domainsen Cloudflare Pages. - Revisar DNS de
library.curiositasmundus.com. - Debe apuntar a
guides-library.pages.devmediante CNAME, salvo que Cloudflare lo gestione automaticamente.
11. Acceso privado y futuro pago¶
Estado recomendado ahora:
- Cloudflare Access.
- Login por email con one-time PIN.
- Permitir emails del dominio
curiositasmundus.como una lista concreta.
Si en el futuro se convierte en app de pago:
- No rehacer la biblioteca desde cero.
- Mantener Markdown como fuente de contenido mientras sea posible.
- Cambiar la capa de acceso: lista de emails de clientes, grupos, Stripe/Auth externo o backend especifico.
- Solo introducir base de datos o backend cuando haya necesidad real: usuarios, pagos, edicion web, permisos por plan o analitica avanzada.
12. Checklist para futuras IAs¶
Antes de tocar el repo:
- Leer
AGENTS.md. - Leer este documento si la tarea afecta a la web, despliegue o flujo de trabajo.
- Comprobar rama y estado con
git status. - No editar
.mkdocs/nisite/. - No mezclar cambios de contenido masivos con cambios tecnicos de despliegue salvo que el usuario lo pida.
Antes de cerrar:
- Ejecutar
scripts/build_guide_library.py. - Ejecutar
mkdocs build. - Explicar warnings relevantes.
- Actualizar README/control factual si se ha importado contenido.
- Confirmar que los cambios estan en la rama correcta.
- Si se despliega en Cloudflare, confirmar que
maincontiene los archivos necesarios.
13. Checklist para humanos¶
Despues de meter nuevos documentos:
- Confirmar que la fuente bruta quedo guardada.
- Confirmar que el contenido esta en el nivel correcto.
- Confirmar que los indices enlazan el nuevo material.
- Confirmar que las dudas factuales estan registradas.
- Esperar al deploy automatico de Cloudflare o lanzar uno manual.
- Abrir
library.curiositasmundus.comy probar busqueda/navegacion.
14. No hacer¶
- No copiar grandes bloques a varios niveles si basta con enlazar.
- No borrar fuentes brutas.
- No presentar leyendas como hechos.
- No editar carpetas generadas.
- No cambiar Cloudflare a una rama temporal salvo para una prueba puntual.
- No dejar Cloudflare permanentemente apuntando a una rama que no sea
main. - No meter imagenes pesadas sin decidir antes estrategia de almacenamiento.