Guía práctica para crear una wiki de equipo o personal con Markdown usando GitHub Wikis, Wiki.js, Obsidian Publish, MkDocs y otras herramientas.
Una wiki es una base de conocimiento organizada donde un equipo o una persona documenta procesos, decisiones y conocimiento. Markdown es el formato perfecto para wikis: fácil de escribir, fácil de versionar y fácil de migrar.
.md funcionan en cualquier otra.grep funciona en archivos de texto. Las herramientas modernas añaden búsqueda instantánea.Cada repositorio de GitHub incluye una wiki gratuita. Es la opción más rápida si tu equipo ya usa GitHub.
Cómo crear una wiki en GitHub:
Home)La wiki de GitHub es un repositorio Git independiente. Esto significa que puedes clonarla con git clone y editarla localmente con tu editor favorito, lo cual es mucho más cómodo que usar el editor web para cambios grandes.
Estructura recomendada:
Una buena organización desde el principio te ahorrará dolores de cabeza cuando la wiki crezca. Esta estructura separa la documentación general de los procedimientos operativos y las decisiones de arquitectura:
Home.md # Pagina principal
_Sidebar.md # Navegacion lateral
_Footer.md # Pie de pagina
Onboarding.md # Guia para nuevos miembros
Architecture.md # Arquitectura del proyecto
Deployment.md # Proceso de despliegue
Runbooks/
Incident-Response.md # Respuesta a incidentes
Database-Migration.md # Migraciones de BD
ADR/
001-Use-PostgreSQL.md # Decision de arquitectura
002-Migrate-to-AWS.md # Otra decisionEl archivo _Sidebar.md es especial: GitHub lo usa para generar la barra de navegación lateral de tu wiki. Sin él, GitHub mostrará una lista automática de todas las páginas, pero el orden será alfabético y poco útil. Definir tu propio sidebar te permite agrupar las páginas por temática:
Sidebar personalizado (_Sidebar.md):
**General**
- [[Home]]
- [[Onboarding]]
- [[Architecture]]
**Operaciones**
- [[Deployment]]
- [[Runbooks/Incident-Response]]
- [[Runbooks/Database-Migration]]
**Decisiones**
- [[ADR/001-Use-PostgreSQL]]
- [[ADR/002-Migrate-to-AWS]]Limitaciones:
Si necesitas algo más potente que la wiki de GitHub, como permisos por página, búsqueda avanzada o autenticación con el sistema de tu empresa, Wiki.js es la mejor opción open source. Es una aplicación web completa que puedes instalar en tu propio servidor o en la nube.
Ventajas:
Instalación con Docker:
La forma más rápida de probar Wiki.js es con Docker. El siguiente comando descarga la imagen oficial, configura una base de datos SQLite (suficiente para equipos pequeños) y expone la interfaz en el puerto 3000:
docker run -d \
-p 3000:3000 \
-e "DB_TYPE=sqlite" \
-e "DB_FILEPATH=/data/wiki.db" \
-v /ruta/datos:/data \
ghcr.io/requarks/wiki:2Después de ejecutarlo, abre http://localhost:3000 en tu navegador y sigue el asistente de configuración inicial. Para producción, se recomienda usar PostgreSQL en lugar de SQLite.
Si tu wiki no necesita edición en el navegador y prefieres un flujo basado en Git (escribes en local, haces commit, y se publica automáticamente), MkDocs con el tema Material es la opción ideal. Genera un sitio web estático que puedes alojar gratis en GitHub Pages, Netlify o Vercel.
La configuración se define en un archivo mkdocs.yml en la raíz del proyecto. Aquí se especifica el nombre del sitio, el tema, los plugins y la estructura de navegación:
# mkdocs.yml
site_name: Wiki del equipo
theme:
name: material
features:
- search.highlight
- navigation.tabs
- navigation.sections
- navigation.expand
plugins:
- search
- tags
nav:
- Home: index.md
- Onboarding: onboarding.md
- Arquitectura: architecture.md
- Runbooks:
- Incidentes: runbooks/incidents.md
- Migraciones: runbooks/migrations.mdVentajas:
Para una wiki que solo vas a usar tú, ya sean notas de estudio, investigación personal o un segundo cerebro, Obsidian es difícil de superar. Funciona completamente offline, tus archivos son Markdown puro almacenado en tu disco, y la interfaz es rápida e intuitiva. Estas son sus funcionalidades más destacadas para uso como wiki:
[[página]] crea enlaces bidireccionales#etiquetaPublicar la wiki: Obsidian Publish (8$/mes) convierte tu vault en un sitio web con navegación, búsqueda y grafo. Si prefieres una alternativa gratuita, puedes usar MkDocs o Quartz para generar un sitio estático a partir de tus notas de Obsidian.
| Herramienta | Tipo | Precio | Colaboración | Búsqueda | Git |
|---|---|---|---|---|---|
| GitHub Wiki | Cloud | Gratis | Sí | Básica | Sí |
| Wiki.js | Self-hosted | Gratis | Sí | Avanzada | Sí |
| MkDocs | Estático | Gratis | Via PR | Buena | Sí |
| Obsidian | Local | Gratis | Limitada | Excelente | Manual |
| GitBook | Cloud | Gratis (básico) | Sí | Buena | Sí |
| Docsify | Estático | Gratis | Via PR | Plugin | Sí |
Toda wiki de equipo debería tener al menos estas páginas. No hace falta crearlas todas el primer día: empieza con Home y Onboarding, que son las más urgentes, y añade el resto cuando surja la necesidad.
1. Home / Índice
La página principal es el punto de entrada a tu wiki. Debe funcionar como un mapa: cualquier persona del equipo debería poder encontrar lo que busca en menos de 10 segundos. Organízala por categorías con enlaces directos:
# Wiki del equipo
Bienvenido a la wiki del equipo de ingenieria.
## Empezar aqui
- [Onboarding](onboarding.md) - Primeros pasos
- [Arquitectura](architecture.md) - Como funciona todo
## Procesos
- [Deployment](deployment.md) - Como desplegar
- [Code Review](code-review.md) - Guia de revisiones
- [Incidentes](incidents.md) - Que hacer si algo falla
## Referencias
- [Stack tecnico](stack.md) - Tecnologias que usamos
- [Glosario](glossary.md) - Terminos del dominio2. Onboarding
La página de onboarding es probablemente la más valiosa de toda tu wiki. Cada vez que entra alguien nuevo al equipo, esta página le guía paso a paso en su primera semana. Sin ella, el conocimiento queda atrapado en la cabeza de los veteranos y cada incorporación requiere horas de explicaciones repetidas. Usa checkboxes para que la nueva persona pueda marcar su progreso:
# Onboarding
Bienvenido al equipo! Sigue estos pasos en tu primera
semana.
## Dia 1: Setup
- [ ] Configurar acceso a GitHub
- [ ] Clonar el repositorio principal
- [ ] Instalar dependencias (`npm install`)
- [ ] Ejecutar el proyecto en local
- [ ] Leer la [arquitectura](architecture.md)
## Dia 2-3: Contexto
- [ ] Leer los ultimos 5 ADRs
- [ ] Revisar los 3 PRs mas recientes
- [ ] Hablar con tu buddy (asignado en Slack)
## Primera semana
- [ ] Resolver tu primer issue (etiqueta: good-first-issue)
- [ ] Abrir tu primer PR
- [ ] Asistir a la retro del viernes3. ADRs (Architecture Decision Records)
Los ADRs documentan decisiones técnicas importantes y, sobre todo, el porqué detrás de cada decisión. Seis meses después, cuando alguien pregunte "¿por qué usamos PostgreSQL y no MySQL?", la respuesta estará en el ADR correspondiente. Cada ADR sigue un formato estándar con estado, contexto, decisión, motivos y consecuencias:
# ADR-001: Usar PostgreSQL como base de datos
## Estado
Aceptado (2024-11-15)
## Contexto
Necesitamos una base de datos relacional para el
servicio de usuarios. Las opciones son PostgreSQL,
MySQL y SQLite.
## Decision
Usaremos PostgreSQL.
## Motivos
- Soporte nativo de JSON (jsonb) para datos flexibles
- Mejor rendimiento en consultas complejas
- El equipo tiene experiencia previa
- Extensiones utiles (PostGIS, pgvector)
## Consecuencias
- Necesitamos configurar un servidor PostgreSQL
- El backup requiere pg_dump en lugar de copiar archivos
- Migraciones con Prisma o similar4. Runbooks
Un runbook es un procedimiento paso a paso para situaciones críticas. La idea es que cualquier persona del equipo pueda seguir el runbook y resolver el problema, incluso si es su primer día o son las 3 de la madrugada. Cuanto más detallado y claro, mejor. Incluye comandos exactos que se puedan copiar y pegar:
# Runbook: Respuesta a incidentes
## Severidad critica (produccion caida)
1. **Comunicar**: Mensaje en #incidents de Slack
2. **Evaluar**: Revisar dashboards en Grafana
3. **Mitigar**: Rollback si es un deploy reciente
```bash
git revert HEAD && git push origin main
```
4. **Investigar**: Revisar logs en Datadog
5. **Resolver**: Aplicar fix y desplegar
6. **Postmortem**: Crear documento en /postmortemsÚltima actualización: 2026-03-12 para saber si la información es reciente.👋 Hola! Soy Edu, me encanta crear cosas y he redactado este tutorial. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirlo en Twitter.
Sígueme en Twitter para estar al día con mi contenido. 😊