Cómo sobreingenieré mi propio libro

Fuentes: How I over-engineered my book

Ben Balter, ex empleado de GitHub y autor del libro 'Open and Async', relata en detalle el flujo de trabajo que empleó para escribir y producir su obra como si fuera un proyecto de software. En lugar de recurrir a Word o Google Docs, Balter escribió todo el libro en archivos Markdown dentro de un repositorio Git, principalmente desde un iPad con GitHub Codespaces y un teclado Bluetooth. Cada capítulo es un archivo independiente y un index.yml define el orden, lo que facilita reordenar y añadir secciones.

El autor integró una pila de linters de prosa equivalente a los linters de código. En tiempo real, dentro de VS Code, utilizó Markdownlint para formato, Harper para gramática en el dispositivo, LanguageTool, Vale con reglas propias y términos prohibidos, Alex para lenguaje excluyente y Write-good para detectar voz pasiva, muletillas y clichés. Todos ellos también corren en integración continua (CI), junto con un suite propio de validadores en Node, Vitest y Playwright que suman unas 5.500 comprobaciones automatizadas.

Algunos validadores personalizados se encargan de reglas muy específicas: que 'open source' nunca aparezca hifenado, evitar fórmulas típicas de textos generados por IA, no repetir la misma palabra al inicio de tres frases seguidas, mantener el equilibrio entre llamadas para responsables y para contributors individuales, o resolver todas las referencias cruzadas. Otros verifican versalitas, rayas de doble longitud, palabras duplicadas o la longitud del TL;DR. En total, la suite ejecuta unos 70 archivos de prueba con 2.204 casos y 3.900 aserciones, más 1.600 comprobaciones estructurales por capítulo.

Balter añade una segunda capa de auditorías para detectar repeticiones entre capítulos que los linters no pueden ver. Combina jscpd para bloques idénticos, análisis de n-gramas para frases repetidas y auditorías semánticas con un modelo de lenguaje ejecutadas en pasadas cortas (intra, cruzada y de argumentos) para localizar ideas reiteradas con palabras distintas. El texto incluye, además, una mención al final sobre el ecosistema de citas, figuras y referencias, aunque la entrada queda truncada.