Folio

Wiki de equipo autohospedada respaldada por Git: busca, lee, crea y actualiza páginas, tablas de datos y pizarras a través de MCP. OAuth o token de acceso personal.

Documentación

Folio

La alternativa de código abierto, creada con vibe-coding, a Notion y Confluence. La wiki de tu equipo vive en Git. Las personas escriben en el navegador, juntas, en tiempo real. Los agentes de IA leen y escriben las mismas páginas. Un solo comando para ejecutarlo tú mismo.

Sitio web: https://foliowiki.online · Destacado en Self-Host Weekly (9 Oct 2026)

👉 Prueba la demo en vivo

Sin instalación, sin registro: ábrela y elige a Sam en la pantalla de inicio de sesión. Inicio de sesión compartido, los datos se restablecen cada 24 horas; no introduzcas datos personales ni claves de API.

A page in Folio

Folio fue creado para reemplazar a Confluence y Notion para un equipo real — y fue creado por agentes de IA, en abierto. Los planes, especificaciones y notas de entrega con los que trabajan los agentes están en este repositorio, junto al código que escribieron. Más sobre esto abajo.

git clone https://github.com/evergreen-it-dev/folio.git
cd folio
docker compose up -d

Abre http://localhost:4870, crea la primera cuenta, empieza a escribir.

¿No estás listo para instalar? Prueba la demo en vivo primero.


Por qué Folio

  • Tú eres dueño del contenido. Cada página es un archivo plano en un repositorio Git que tú controlas. Sin paso de exportación, sin bloqueo: deja de usar Folio mañana y los archivos siguen ahí, legibles en cualquier editor.
  • Funciona como debe funcionar una wiki. Edición en tiempo real, árbol de páginas, búsqueda, derechos de acceso, historial, uso compartido — y sigue funcionando sin conexión.
  • Los agentes son usuarios de primera clase. No es un chatbot añadido a un lado: un asistente integrado, tu propio agente en cada espacio, un servidor MCP completo y enlaces Markdown hechos para agentes.
  • Documentos, tablas, pizarras, diagramas y archivos en un solo árbol. Una tabla de hoja de ruta junto a la especificación, junto al tablero de arquitectura, junto al PDF firmado.
  • Un solo comando para ejecutarlo. Docker, y nada que configurar para el primer inicio.

Véalo en acción

Breves tutoriales, sin diapositivas. La voz en los vídeos es sintética.


Git primero, hasta el fondo

La mayoría de las wikis guardan tu contenido en una base de datos y ofrecen Git como exportación. Folio hace lo contrario: el repositorio Git es la wiki. La base de datos contiene el índice, los derechos de acceso y el estado de la edición en vivo — nunca la única copia de tus palabras.

Así es como se ve un espacio en el disco:

acme-handbook/
├── index.md
├── welcome-to-acme.md
├── engineering.md
├── engineering/
│   ├── onboarding-checklist.md
│   ├── release-process.md
│   ├── incident-runbook.md
│   └── how-folio-fits-together.excalidraw.svg    ← a whiteboard
├── meeting-notes.md
├── meeting-notes/
│   └── product-sync-september-28.md
├── roadmap.table.md                               ← a data table
├── onboarding-feedback.table.md
├── onboarding-feedback/
│   └── onboarding-feedback.form.md                ← a form
├── security-policy.md
├── security-policy.pdf                            ← files are pages too
└── security-policy.docx

Y este es su historial — commits ordinarios, con las personas que hicieron los cambios como autores:

$ git log --format='%h  %an  %s'
be529a0  Maria Chen  folio:update
aeac3bb  Maria Chen  folio:update
6c2c061  Sam Rivera  folio:update
026d9ec  Maria Chen  folio:update
...
4e9ec49  Folio       init: create space

Lo que eso te da:

  • Edita desde cualquier lugar. Cambia una página en el navegador o en tu IDE y haz push — ambos llegan al mismo historial. Los enlaces entre páginas son enlaces Markdown relativos ordinarios, no un dialecto privado.
  • Trae tu propio repositorio. Empieza con un espacio vacío, clona un repositorio existente o conéctalo más tarde. Varios espacios pueden compartir un repositorio, cada uno en su propia carpeta — para que la documentación pueda vivir justo al lado del código.
  • Revisa como código. Las solicitudes de fusión, blame, diff y revert funcionan en tu wiki porque es un repositorio.
  • Nada se pierde en silencio. El estado de sincronización siempre es visible — limpio, adelantado, atrasado, conflicto — y los conflictos se listan para todo el espacio. "Tomar la versión de Git" restablece un espacio a la rama remota y guarda lo que había allí en una rama de respaldo primero.
  • Formatos legibles. Una pizarra es un SVG que se abre en cualquier navegador y aún conserva la escena editable. Una tabla de datos es un solo archivo Markdown — los tipos de columna y las vistas guardadas en el front matter, las filas como una tabla que puedes leer:
# Roadmap

| Initiative | Status | Owner | Team | Due | Effort, days | Urgent | id |
| --- | --- | --- | --- | --- | ---: | --- | --- |
| Single sign-on for enterprise plans | In progress | @alex | Engineering | 2026-10-09 | 8 | [x] | 1787nfg3 |
| New onboarding flow | In review | @sam | Design | 2026-10-02 | 5 | [ ] | b227mwwh |
| Pricing page redesign | Planned | @sam | Design | 2026-10-16 | 3 | [ ] | ndxvtpa3 |

Page history with authors


Escriban juntos

Documentos, tablas de datos y pizarras son editados por varias personas a la vez. Ves quién está en la página y dónde está su cursor; los cambios aparecen mientras se escriben. Cuando la página queda en silencio, Folio hace commit — con la persona que editó como autora.

Three people editing one page

Lo que escribes no se pierde entre la edición en vivo y la lectura: el navegador guarda una copia local hasta que el servidor confirma que tiene tus ediciones. Si no puede confirmarlas, el encabezado dice No guardado y al cerrar la pestaña pregunta primero.


Funciona sin conexión

En un tren, en un avión, con mal Wi-Fi de hotel — sigue escribiendo.

  • Las páginas y pizarras que has abierto siguen siendo editables sin conexión.
  • Se pueden crear nuevas páginas y pizarras sin conexión y aparecen en el árbol de inmediato.
  • Todo se guarda en el dispositivo y llega al servidor por sí solo cuando la conexión regresa — en la misma dirección, sin duplicados.
  • Nada se pierde si cambias de página o cierras la pestaña.
  • Un indicador en el encabezado muestra lo que está esperando para enviarse.

Writing a new page without a connection

Las tablas de datos, formularios y cargas de archivos necesitan conexión.


Documentos

Un editor de Markdown que no te hace pensar en Markdown. Tres modos — Lectura, Edición en vivo y Código fuente — para que escritores e ingenieros estén ambos a gusto.

The editor with a diagram, a checklist and a callout

  • Llamadas, listas de verificación, tablas con celdas combinadas y colores, bloques de código, secciones plegables, resaltados, ++underline++ y etiquetas de estado de color como :status[Done]{color=green}.
  • Pegar desde Excel y Google Docs conserva tablas y formato; copiar desde la edición en vivo también lo conserva.
  • [[ enlaza una página, @ menciona a una persona, / inserta cualquier cosa.
  • ::pagetree pone un árbol en vivo de páginas hijas directamente en el texto.
  • Panel de esquema y notas, enlaces de retroceso, iconos y portadas de página, plantillas, términos del glosario con tarjetas emergentes.
  • Temas claro y oscuro, que siguen al sistema o se eligen manualmente.

The same page in the dark theme


Diagramas que dibujas, no que escribes

Los diagramas Mermaid vienen con un editor visual. Construyes el diagrama en un lienzo, y Folio escribe el código Mermaid por ti — o escribes el código y ves cómo el lienzo lo sigue. Ambos lados permanecen sincronizados.

The visual Mermaid editor

  • Haz clic para construir. Un signo más en un nodo añade uno conectado, un signo más en un enlace inserta un nodo en él, un controlador arrastra un nuevo enlace de nodo a nodo.
  • Nueve tipos de diagrama desde plantillas: diagrama de flujo, secuencia, clases, estados, ER, Gantt, línea de tiempo, circular, mapa mental.
  • Código y lienzo lado a lado, a pantalla completa cuando necesitas espacio, y un mensaje legible en lugar de una imagen rota cuando la sintaxis es incorrecta.
  • Sigue siendo Markdown plano. El diagrama se almacena como un bloque de código mermaid ordinario, por lo que GitHub y GitLab también lo renderizan.

Tablas de datos

Hojas de cálculo que pertenecen a la wiki: columnas tipadas, vistas guardadas, filtros y ordenación — una pequeña base de datos que puedes enlazar desde cualquier página y consultar desde cualquier agente.

A roadmap as a data table

  • Tipos de columna: texto, texto largo, número, fecha, casilla de verificación, selección, estado, usuario, enlace.
  • Vistas como pestañas, cada una con sus propias columnas, orden, anchos, ordenación de varias columnas y filtros and/or — incluidos "yo", "hoy", "esta semana".
  • Se editan juntas en tiempo real, se almacenan como un archivo legible en Git.
  • Importación y exportación; hasta 20,000 filas por tabla.

Los formularios convierten una tabla en un cuestionario: cada respuesta se convierte en una fila. Un formulario puede ser público, para que las personas respondan sin una cuenta.

A form that writes into a table


Pizarras

Pizarras de Excalidraw dentro de la wiki — arquitectura, flujos, talleres. Dibujadas juntas en tiempo real y guardadas como archivos SVG que se renderizan en cualquier lugar.

A whiteboard

La pizarra de arriba no fue dibujada a mano. Un agente la creó a través de MCP a partir de una descripción breve de cajas y flechas; luego las personas siguen editándola como cualquier otra pizarra.

Reacciones. Selecciona una forma en modo Edición y aparece un pequeño botón en la esquina de su marco de selección: elige un emoji (👍 ❤️ 😂 🎉 🤔 👀 🔥 👏) y un contador aparece debajo de la forma. Haz clic en un contador para añadir o quitar el tuyo; pasa el cursor sobre él para ver quién reaccionó. Las reacciones están en vivo para todos en la pizarra, y las personas que solo pueden verla (o están en modo Vista) también las ven pero no pueden hacer clic en ellas. Se conservan con el estado en vivo de la pizarra, no en su archivo SVG.


Vista previa de documentos

Los archivos PDF, Word, Excel y PowerPoint también son páginas. Suelta uno en el árbol y se abre directamente dentro de Folio — sin descargas, sin otra aplicación, sin conversión en el servidor.

A PDF previewed inside Folio

A Word document previewed inside Folio

  • PDF en el visor propio del navegador: miniaturas, zoom, búsqueda, impresión.
  • Word, Excel y PowerPoint renderizados en el navegador.
  • El archivo está en el repositorio Git del espacio junto a las páginas sobre él, en el mismo árbol, bajo los mismos derechos de acceso.
  • Abrir en una nueva pestaña o descargar con un clic.
  • Folio nunca reescribe tu archivo: lo que subes es byte por byte lo que se almacena.
  • Una nueva versión del archivo, misma página. "Reemplazar con nueva versión…" en el menú del árbol, el botón en el encabezado de la página, o arrastra un archivo sobre la página abierta. La página conserva su enlace, lugar en el árbol y acceso; el nuevo archivo puede incluso ser de otro tipo (una presentación que se convirtió en PDF), y los enlaces hacia él desde otras páginas se reescriben. Un aviso ofrece Deshacer.
  • Cada versión permanece. Cada reemplazo es su propio commit. El historial de la página lista las versiones con su nombre de archivo y tamaño, te permite descargar cualquiera de ellas (o previsualizar un PDF) y restaurar una, lo que añade un commit más en lugar de reescribir nada.

Estos archivos son para ver: no se editan en Folio, y la búsqueda los encuentra por título.


Folio AI

Un asistente en el panel lateral que trabaja con tu wiki, no al lado de ella.

The assistant adds a row to the roadmap and answers from the data

En la captura de pantalla se pidió al asistente que añadiera una iniciativa a la hoja de ruta y que dijera cuáles son urgentes. Leyó el esquema de la tabla, insertó la fila — aparece en la tabla de la izquierda — y respondió a partir de los datos.

  • Preguntar — solo lectura. Encuentra, resume, compara, explica en las páginas a las que tienes acceso.
  • Agente — lee y escribe. Redacta una página, actualiza una tabla, dibuja una pizarra, reestructura una sección — dentro de tus derechos, nunca más allá de ellos.
  • Se ejecuta en vivo en el servidor. Cierra el navegador y el trabajo continúa; vuelve y retoma donde estaba.
  • Las mismas herramientas que todos los demás. El asistente trabaja a través de las mismas herramientas que un agente externo obtiene a través de MCP — no hay una segunda implementación más débil, y en modo Preguntar las herramientas de escritura se desactivan en el servidor, no solo se ocultan.

¿Está ayudando realmente el asistente?

Folio recopila tres señales sobre la calidad de las respuestas, sin pedir a nadie que rellene un formulario:

  • 👍 / 👎 en una respuesta. Cada respuesta guardada del asistente puede valorarse como "Respuesta útil" o "No útil". Una valoración por respuesta, y puedes cambiarla o eliminarla.
  • Una encuesta breve. Después de cada tercera respuesta en una conversación, el panel pregunta "¿Resolvió el asistente tu pregunta?" — Sí, Parcialmente, No o Ahora no — con un comentario opcional.
  • Preguntas sin respuesta. Cuando las páginas no contienen la respuesta, o el asistente no está seguro de ella, registra la pregunta y lo que faltaba — brevemente, con enlaces a las páginas que sí leyó — y luego responde a la persona con claridad. Los administradores de la instancia ven todo en una sola página, Analíticas del asistente (/admin/assistant, desde el menú de la cuenta): las conversaciones con sus calificaciones y resultados de encuestas, y una segunda pestaña, "Preguntas sin respuesta", que es una lista lista de lo que le falta a tu documentación: primero las palabras de la persona, debajo el reformulamiento del asistente y enlaces a las páginas que el asistente leyó. Ambas pestañas filtran por espacio, usuario y fecha. Un administrador de espacio ve la misma página limitada a los espacios que administra: solo las conversaciones que ocurrieron allí y solo los mensajes de esas ejecuciones. Un administrador puede abrir una conversación para leerla; la página de conversación lista quién la abrió y cuándo, y cada apertura se registra en el registro de auditoría. Otras personas no ven esta página.

Assistant analytics: the list of questions the pages could not answer, with the person's words, the space and what is missing

Tu propio agente en cada espacio: .agent

Cada espacio tiene una carpeta .agent. Todo lo que pongas allí se convierte en las instrucciones del asistente para ese espacio — y está escrito como páginas ordinarias de Folio, no como configuración.

  • Crea un agente escribiendo páginas. Su rol, su tono, el glosario, las reglas que debe seguir, las plantillas que debe usar, el proceso que debe guiar a las personas.
  • Un agente diferente para cada equipo. El espacio de soporte tiene un agente que responde como soporte. El espacio de ingeniería tiene uno que conoce el proceso de lanzamiento. Legal tiene uno que nunca improvisa. Mismo Folio, diferentes agentes.
  • Versionado como todo lo demás. Las instrucciones viven en Git: puedes ver quién cambió el comportamiento del agente, revisar el cambio y revertirlo.
  • Propiedad de los administradores. Solo los administradores de espacio ven y editan .agent; todos los demás solo obtienen un mejor asistente.

Las instrucciones se aplican a cada ejecución en el espacio, tanto en los modos Preguntar como Agente.

Trae tu propia suscripción

Folio no revende IA ni le aplica un margen. Conectas la suscripción que ya pagas y el asistente se ejecuta con ella.

ProveedorEstado
Cursordisponible — cada persona conecta su propia clave, o el operador establece una para todos
Otrospróximamente

Sin una suscripción, todo lo demás en Folio funciona como siempre.


Diseñado para agentes

Servidor MCP. 23 herramientas sobre /mcp con tokens de acceso personal: listar y buscar espacios, leer y escribir páginas, crear y editar pizarras, consultar y actualizar tablas de datos, leer historial.

claude mcp add folio --transport http https://wiki.example.com/mcp \
  --header "Authorization: Bearer folio_pat_…"

Configuraciones listas. Archivos para Claude Code (un plugin y una habilidad), Cursor, VS Code, Codex, n8n (dos flujos de trabajo importables), Open WebUI, ChatGPT y Claude viven en integrations/: configuraciones con marcadores de posición, reglas para el agente e instrucciones paso a paso.

Markdown para un agente. Cualquier página — con sus páginas hijas, si quieres — es un enlace que devuelve Markdown limpio. Sin scraping, sin HTML, sin flujo de inicio de sesión:

curl https://wiki.example.com/share/<token>.md

Sharing a page as Markdown for an agent

Exporta en los formatos que los agentes y las personas necesitan: Markdown, YAML, PDF, DOCX, o un zip de todo un espacio.

Seguro por diseño. Un token nunca tiene más derechos que su propietario, un token read no puede escribir, y las acciones administrativas no están disponibles para los tokens en absoluto. Detalles: docs/MCP.md.


Migración desde Confluence

Apunta Folio a una página de Confluence o a todo un árbol y trae las páginas como Markdown — con imágenes, código, listas de verificación y paneles convertidos en llamadas. Las páginas provienen de Confluence Cloud y de instalaciones locales; las pizarras de Confluence Cloud se convierten en tableros de Excalidraw.

Primero ejecuta una importación de prueba: no todos los macros tienen un equivalente. Lo que aún no está está documentado honestamente.


Gestión de accesos

Quién ve qué se decide en un solo lugar, y es visible de un vistazo.

The access matrix: people and spaces

  • Roles por espacio: administrador, editor, visor.
  • Espacios privados o abiertos. Un espacio privado es visible solo para sus miembros. Un espacio abierto a la instancia da acceso de lectura a todos, y los derechos de edición aún deben otorgarse.
  • La matriz de accesos. Personas en el lado, espacios en la parte superior, un rol en cada celda. Cambia una celda o muchas a la vez.
  • Un administrador no es un lector. El administrador de la instancia gestiona personas y accesos, pero no ve el contenido de un espacio privado del que no es miembro. Puede otorgarse acceso a sí mismo — y eso se registra en el registro de auditoría y se marca para que todos lo vean.
  • Registro de auditoría. Cada concesión, revocación y cambio de visibilidad se registra con quién lo hizo y cuándo.

Acceso a nivel de página. Cualquier página puede ser más restringida que su espacio: abierta a todos los miembros, solo a ti, o a personas seleccionadas con derechos de vista o edición.

Access to a single page

Cómo incorporar personas

  • Invitaciones por enlace con espacios y roles preestablecidos, una fecha de caducidad y un límite de uso.
  • Solicitudes de acceso. Alguien que abre un espacio que no puede ver puede pedir acceso; los administradores reciben una notificación de inmediato y eligen el rol.
  • Inicia sesión con Google, limitado a los dominios de correo que listes. Una persona nueva obtiene una cuenta y sin acceso hasta que alguien lo otorgue.
  • Desactiva una cuenta sin eliminar lo que la persona escribió.

Compartir fuera

  • Enlaces para compartir para personas sin cuenta: ver o editar, una página o todo un subárbol (las páginas con sus propias restricciones de acceso se omiten), revocables en cualquier momento.
  • Formularios que aceptan respuestas sin cuenta.

Para agentes y scripts

  • Tokens de acceso personal con alcance read o write. Un token nunca tiene más derechos que su propietario, y las acciones administrativas no están disponibles para los tokens en absoluto.
  • La carpeta .agent es visible solo para los administradores de espacio.

Ejecútalo

Necesitas Docker y Git. Nada más.

git clone https://github.com/evergreen-it-dev/folio.git
cd folio
docker compose up -d

El primer inicio compila la aplicación y tarda unos minutos. Luego abre http://localhost:4870 y crea la primera cuenta — se convierte en la administradora.

Una breve bienvenida continúa desde allí: elige qué crear primero — un documento, una pizarra o una tabla de datos — explora lo que Folio puede hacer y aterriza en tu primer espacio con esa página abierta. Conectar un repositorio Git existente está a un enlace de distancia en la misma pantalla.

The welcome screen: what do you want to create first

DóndeCómo
Tu computadoradocker compose up -d
Un servidor o VPSun comando desde la imagen publicada: deploy/vps, o el archivo compose anterior más --profile https para HTTPS automático
Coolify, Railway, Render, DigitalOcean, Dokploy, CapRover, Easypanel, Portainer, Fly.iokits listos en deploy/, consulta Un clic y PaaS
Cualquier otra plataforma de contenedoresdesde el Dockerfile, con PostgreSQL, Redis y un volumen persistente — consulta requisitos
Vercel, Netlify y otros alojamientos serverlessno compatible — Folio es un servidor de larga duración que mantiene repositorios Git en disco y mantiene conexiones en vivo

Un clic en Railway: Deploy on Railway

Dominios, HTTPS, actualizaciones y copias de seguridad: docs/INSTALL.md.

Sin telemetría. Un Folio que ejecutas no envía nada sobre su uso a nadie: no se carga ninguna biblioteca de analíticas y no se abre ninguna conexión con los autores de Folio o con un tercero. Hay una excepción opcional para quienes ejecutan una demostración pública: establece FOLIO_POSTHOG_KEY a un proyecto de PostHog propio y Folio envía eventos anónimos (tipos de página, slugs de espacio, nunca contenido). Sin esa clave no ocurre nada. Detalles: docs/INSTALL.md.


Vibe-coded, y no lo ocultamos

Folio está escrito por agentes de codificación de IA. Un propietario de producto humano decide qué construir, prueba cada cambio en el navegador y decide qué se publica; los agentes planifican el trabajo, escriben el código y las pruebas, y documentan lo que hicieron.

Desde el primer commit el 21 de agosto de 2026 hasta la versión 0.1.0 el 29 de septiembre de 2026: 39 días, más de 400 commits upstream, aproximadamente 90,000 líneas de TypeScript y otras 50,000 líneas de pruebas. Se ejecuta en producción para un equipo real.

Publicamos cómo se hace, no solo lo que se hizo:

ArchivoQué es
AGENTS.mdCómo está organizado el trabajo y las reglas que los agentes siguen en este repositorio
docs/HANDOFF.mdEl estado actual: cómo está compuesto Folio, qué nunca debe romperse, qué está abierto y las lecciones que nos costaron algo aprender
DEV-PLAN.mdLo que se ha construido, en el orden en que se construyó, y lo que viene después

Si tú también construyes con agentes, este repositorio es un ejemplo práctico de un producto no trivial hecho de esa manera. Si solo quieres una wiki, nada de esto te estorba.


Documentación

Desarrollo

cp .env.dev.example .env
docker compose -f docker-compose.dev.yml up -d   # PostgreSQL, Redis, MinIO
npm install
npm run dev                                      # http://localhost:4871

Node.js 22.12 o más reciente (22.13 o más reciente para el asistente). Consulta CONTRIBUTING.md — y AGENTS.md si tu colaborador es un agente.

Ayuda y seguridad

Preguntas e informes de errores: SUPPORT.md. Informa las vulnerabilidades de forma privada, como se describe en SECURITY.md.

Licencia

MIT