MarkeUp Blog Obsidian System
Auditoría de Arquitectura Actual por terminal

Auditoría de Arquitectura Actual por terminal

🛠️ Auditoría de Arquitectura Actual: Proyecto markeup

1. Entorno de Ejecución Global

A partir de las pruebas directas en consola, se constata la configuración del siguiente entorno base:

  • [[Node.js]]: v22.22.3 (Versión activa del entorno de ejecución).
  • Gestor de Paquetes: NPM v10.9.8 (Instalado y gestionando el proyecto activo).

2. Automatización y Ciclo de Vida (Scripts)

El manifiesto package.json declara los siguientes comandos nativos de ejecución para el framework:

  • [[npm run dev]]: Inicializa el entorno de desarrollo local mediante astro dev.
  • [[npm run start]]: Alias alternativo que ejecuta astro dev.
  • [[npm run build]]: Compila el proyecto para producción ejecutando astro build.
  • [[npm run preview]]: Lanza un servidor local para previsualizar el build estático generado con astro preview.
  • [[npm run astro]]: Acceso directo al CLI binario de Astro (astro).
  • [[npm run validate]]: Ejecuta astro sync para sincronizar y validar los tipos del proyecto (Content Collections/Schemas).

3. Estado Físico vs. Declarado de Dependencias

Cruzando el manifiesto de configuración (package.json) con el volcado real de la carpeta node_modules, este es el estado verificado del ecosistema:

🚀 Framework y Core

  • [[Astro]]: Ejecutando físicamente la versión 6.3.8 en el entorno.
  • [[Vite]]: Operando en versión 7.3.3 como motor de compilación[cite: 1].

🎨 Capa de Estilos e Integraciones de UI

  • [[tailwindcss]]: Declarado en [[package.json]] como ^4.3.0 e instalado de manera efectiva en la versión 4.3.0[cite: 1].
  • [[@tailwindcss/vite]]: Declarado como ^4.0.0 e instalado físicamente en la versión 4.3.0[cite: 1].
  • [[daisyui]]: Instalado físicamente en la versión 5.5.20[cite: 1].
  • [[theme-change]]: Instalado físicamente en la versión 2.5.0[cite: 1].

📝 Motores de Contenido y Utilidades

  • [[remark-obsidian]]: Instalado físicamente en la versión 1.12.1[cite: 1].
  • [[remark-wiki-link]]: Instalado físicamente en la versión 2.0.1[cite: 1].
  • [[@astrojs/sitemap]]: Declarado como ^3.7.2 e instalado físicamente en la versión 3.7.3[cite: 1].
  • [[astro-og-canvas]]: Instalado físicamente en la versión 0.11.1[cite: 1].
  • [[sharp]]: Instalado físicamente en la versión 0.34.5[cite: 1].
  • [[lenis]]: Instalado físicamente en la versión 1.3.23[cite: 1].

⚠️ Alertas de Dependencias (extraneous)

El gestor detecta paquetes físicamente descargados en disco pero ausentes en las declaraciones del manifiesto principal:

  • @emnapi/runtime@1.10.0 (Estado: No listado en dependencias del sistema)[cite: 1].
  • tslib@2.8.1 (Estado: No listado en dependencias del sistema)[cite: 1].

4. Configuración de Archivos Existentes en Raíz

El escaneo de archivos del sistema arroja un hallazgo crítico sobre cómo conviven las configuraciones de estilos:

  • [[tailwind.config.mjs]]: Archivo físico existente en la raíz, modificado por última vez hoy 31 de mayo a las 14:01.
  • [[astro.config.mjs]]: Configura las integraciones inyectando el plugin tailwindcss() y pasando la declaración del tema personalizado biodanza y los temas por defecto (dark, synthwave, retro, autumn, business) como objeto JavaScript inline de Vite.

📝 Nota sobre la coexistencia: El proyecto contiene una configuración híbrida. Aunque usa Tailwind v4 (que se integra de forma nativa mediante Vite y directivas CSS), conserva el archivo [[tailwind.config.mjs]] en el directorio de trabajo y pasa configuraciones inline desde [[astro.config.mjs]].


5. Mapeo del Árbol de Directorios Base

La estructura de carpetas física de la raíz de la aplicación se compone únicamente de los siguientes directorios:

  • src/ -> Directorio de desarrollo (Componentes, layouts, páginas o scripts de Astro).
  • public/ -> Assets estáticos servidos directamente sin procesar (fuentes, imágenes fijas, favicons).
  • dist/ -> Directorio de salida generado al ejecutar el script de producción npm run build.
  • node_modules/ -> Almacenamiento local físico de paquetes y dependencias del sistema.
  • [[Excalidraw/]] -> Directorio local dedicado dentro de la raíz del proyecto.
  • scratch/ -> Carpeta local de notas sueltas o código borrador.
  • storage/ -> Espacio local de almacenamiento o persistencia de datos.

Enlaces de navegación de Obsidian:

  • [[Estructura de Componentes de Astro]]
  • [[Configuración de Estilos Globales]]
  • [[Gestión del Tema biodanza]]

6. Enrutamiento y Páginas del Sitio (Sistema de Rutas de Astro)

El análisis del directorio src/pages revela que el sitio utiliza un sistema de páginas híbrido, combinando rutas estáticas, dinámicas ([...]) y un endpoint de servidor:

  • / (index.astro): Página de entrada principal del sitio.
  • /resumen (resumen.astro): Vista estática independiente.
  • /test (test.astro): Archivo local activo destinado a pruebas de desarrollo.
  • /admin/editor (admin/editor.astro): Panel o interfaz de edición local.
  • 📦 Módulo de Blog:
    • /blog (blog/index.astro): Directorio raíz o listado de artículos.
    • /blog/[...slug] (blog/[...slug].astro): Ruta dinámica encargada de capturar y renderizar de forma individual las notas/artículos mediante el slug.
  • 🏷️ Módulo de Etiquetas:
    • /tags/[tag] (tags/[tag].astro): Filtro dinámico por taxonomías o etiquetas.
  • 🖼️ Generación de Medios:
    • /open-graph/[...route] (open-graph/[...route].ts): Un endpoint de API / script de TypeScript dedicado a procesar y servir las imágenes [[Open Graph]] dinámicas en combinación con astro-og-canvas.

7. Arquitectura de Estilos y Puntos de Entrada de Tailwind v4

La búsqueda de archivos .css arroja la estructura real sobre cómo se procesa el diseño en la aplicación, dividida en tres áreas independientes:

7.1. Punto de Entrada Principal y Modularización

El diseño nativo del proyecto se organiza bajo el directorio src/styles/ con los siguientes archivos:

  • src/styles/global.css: El archivo [[CSS]] principal del proyecto (punto de entrada global).
  • src/styles/components.css y src/styles/base.css: Archivos de organización intermedios.
  • Subdirectorio de bases: src/styles/base/theme.css, src/styles/base/reset.css y src/styles/base/fonts.css.
  • Estilos de renderizado: src/styles/post-content.css y src/styles/components/post-content.css (dedicados previsiblemente a maquetar el Markdown inyectado).

7.2. Almacenamiento de Contenido e Integración con Obsidian

La terminal revela un dato clave: Tu carpeta src/content/blog/ contiene una bóveda (vault) real de [[Obsidian]] activa. Esto se confirma de forma irrefutable al listarse los archivos CSS internos de los plugins de Obsidian dentro de la carpeta de contenido de [[Astro]]:

  • src/content/blog/.obsidian/plugins/dataview/styles.css
  • src/content/blog/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css
  • src/content/blog/.obsidian/plugins/templater-obsidian/styles.css

🎯 Evidencia de Arquitectura: No estás procesando archivos Markdown planos cualquiera; tu carpeta de contenido es directamente una carpeta compartida con Obsidian que arrastra su propia configuración interna (.obsidian/), incluyendo plugins potentes de automatización y bases de datos como [[Dataview]], [[Templater]] y [[Excalidraw]].


8. Análisis de Tipado (TypeScript)

  • Resultado del escaneo: El comando grep tsconfig.json no devolvió ningún resultado.
  • Conclusión: El proyecto no cuenta con un archivo [[tsconfig.json]] en la raíz. Aunque tienes un archivo con extensión [[TypeScript]] ([...route].ts en la carpeta open-graph), el proyecto está configurado a nivel global sobre JavaScript nativo (ESM), delegando en Astro la compilación interna de los archivos .ts sueltos sin aplicar un tipado estricto en el resto de la aplicación.

9. Calidad de Código, Entorno y Estado de Compilación

La última fase de la auditoría mediante comandos verifica la estabilidad operativa de la arquitectura:

  • [[Variables de Entorno]]: Ausencia de archivos .env en la raíz del espacio de trabajo. El proyecto opera con configuraciones estáticas o agnósticas a tokens locales en esta capa.
  • Estándares de Código: No se detectan herramientas de [[linting]] o formateo automático (eslint, prettier, biome) declaradas en la raíz, operando un entorno de desarrollo simplificado.
  • Validación del Ecosistema de Contenidos (astro sync): Ejecutado con éxito absoluto. El motor de Astro sincronizó correctamente la bóveda de contenidos basada en Obsidian y generó el tipado dinámico del proyecto en un tiempo de respuesta crítico de 354ms sin reportar advertencias ni errores de compilación de esquemas.

10. Volumen de Datos y Definición de Colecciones

La última comprobación sobre la base de contenidos arroja las siguientes certezas métricas:

  • Esquemas de Contenido (src/content/config.ts o .js): El comando no devolvió contenido. Esto significa que el proyecto no utiliza un archivo de configuración de colecciones explícito para validar los Frontmatters mediante [[Zod]]. Astro está operando con colecciones de contenido implícitas o libres, lo cual es ideal para una integración directa y flexible con Obsidian, ya que el framework no rechazará notas que tengan metadatos variables.
  • Volumen Físico en el Blog: El directorio src/content/blog contiene exactamente 26 entradas (considerando el total de archivos [[Markdown]], carpetas internas, imágenes incrustadas o el propio directorio oculto .obsidian/).