Convenciones
Reglas que cualquier instancia de Claude Code o Claude Chat debe seguir al crear o editar páginas en esta wiki. Esteban solo consulta — nunca edita directamente — así que la consistencia depende enteramente de que el agente siga esto sin excepción.
Estructura de carpetas
content/
personal-hub/
conkafecito/
trivasa/
meta/
index.md
Subcarpetas dentro de cada proyecto por dominio técnico, no por fecha ni por herramienta suelta. Cada carpeta de proyecto lleva un index.md (página MOC) que enlaza a sus subpáginas clave — le da nodos centrales bien conectados al grafo de Quartz y un punto de entrada natural para Esteban.
Nombre de archivo
kebab-case descriptivo, nunca genérico. content/conkafecito/cloudflare/vm-ubuntu-tunnel.md, no content/conkafecito/tunnel1.md.
Frontmatter obligatorio
---
title: Túnel Cloudflare vm-ubuntu (Conkafecito)
project: conkafecito
host: vm-ubuntu
tags: [cloudflare, tunnel, on-premise, networking]
status: active
updated: 2026-07-30
---- title — descriptivo, no repite el nombre de archivo literal.
- project — uno de
personal-hub | conkafecito | trivasa | meta. - host — identificador canónico de
hosts.md, ohost: nonesi la página no está asociada a ninguna máquina (decisiones de diseño, comparativas, notas conceptuales). Si involucra genuinamente más de un host:hosts: [host-a, host-b]— excepción, no regla. - tags — solo del vocabulario controlado en
tags.md. - status —
active | deprecated | planned. - updated — fecha de la última edición real. Sirve para que el agente priorice la versión más reciente si hay contradicción entre páginas.
Registro de tags y hosts nuevos
Si una tarea introduce un tag o un host que no está en tags.md o hosts.md, se agrega ahí en el mismo commit en que se usa por primera vez. Nunca se usa un tag o host suelto sin registrarlo — la lista es la fuente de verdad; si no está ahí, no existe.
Estilo de redacción
-
Tercera persona descriptiva, no bitácora de sesión. El hecho vive como estado actual del sistema, no como evento que pasó.
- Así sí: “Corre en Docker (
network_mode: host) para llegar a un servicio bindeado en localhost del propio host.” - Así no: “Hoy configuré esto en Docker con network_mode host porque no llegaba al servicio.”
- Así sí: “Corre en Docker (
-
Explicar el porqué, no solo el qué. No basta con documentar el patrón usado; hay que explicar el problema que resuelve, para que la página sea consultable sin reconstruir el razonamiento.
- Así sí: “El patrón
network_mode: hostse repite en tres servicios de este host, siempre por el mismo motivo: un contenedor en la red bridge por default de Docker no puede llegar a un servicio bindeado en 127.0.0.1 o en la IP de NetBird del host (hairpin NAT).” - Así no: “Se usa network_mode: host en el docker-compose.”
- Así sí: “El patrón
-
La fecha/historial vive en el frontmatter (
updated), no en la prosa. El texto se mantiene en presente; evita que se llene de “actualmente” / “por ahora” que envejecen mal. -
Cross-referencia explícita al cierre (“Véase también”), además de lo que el grafo conecte solo. Cada página termina con una sección corta de enlaces relacionados.
-
Cada entrada de “Véase también” lleva una anotación breve del porqué, no solo el link pelón.
- Así sí: “[Docker] — mismo patrón de network_mode: host”
- Así no: “[Docker]“
Manejo de status desactualizado
Si una página describe algo que deja de estar vigente (servicio decomisionado, decisión revertida), se cambia status: deprecated en el frontmatter en vez de borrar la página — mantiene el historial consultable sin que el agente la cite como verdad actual.