CLI que hizo mi vida más fácil

CLI en C++ que empaqueta el contexto de un repositorio para modelos LLM, facilitando a ChatGPT entender el proyecto mediante ruta local, historial de git y estructura de archivos.

19 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Objetivo de la herramienta CLI

RepositoryContextPackager nace para empaquetar datos de un repositorio siguiendo instrucciones y entregar a los modelos LLM información correctamente formateada para resolver problemas de código de forma sencilla. Al trabajar con ChatGPT y otros LLM en problemas de programación me cansé de copiar y pegar archivos uno por uno. En cambio, si proporcionamos datos específicos relacionados con dependencias y la estructura del proyecto, los modelos comprenden mejor el contexto y pueden guiarnos con precisión.

Problema y motivación

Dar al modelo solo la porción relevante del proyecto evita abrumarse con información total y nos permite centrarnos en las partes que importan, extraer conocimiento específico y seguir haciendo crecer el proyecto. Además evita perder contexto cuando pedimos ayuda a un LLM.

Mi solución

Desarrollé un programa en C++ que se ejecuta con un solo comando, analiza el proyecto y genera un documento de contexto completo que incluye ruta local, historial de git, árbol de directorios, todos los archivos fuente con sus extensiones y estadísticas generales. Permite incluir o excluir carpetas y ficheros según preferencias. No más selección manual de archivos ni pérdida de contexto al consultar a los modelos.

Qué aprendí y beneficios técnicos

El desarrollo me expuso profundamente a lectura y escritura de ficheros, bibliotecas y características de C++17, y a la necesidad de usar recursividad para representar árboles de directorios. std::filesystem fue esencial para recorrer directorios recursivamente. Por primera vez configuré un proyecto con CMake e integré librerías externas usando vcpkg, lo que me obligó a salir de la zona de confort.

Primer reto: obtener información de git

La idea inicial fue ejecutar comandos git y parsear su salida, pero eso falla si git no está instalado o no está en la ruta. La solución fue integrar libgit2 a través de vcpkg para leer la información del repositorio de forma programática. Al profundizar en git repasé conceptos de código en estilo C y punteros incluso trabajando en C++. Aprendí cómo git genera los identificadores de commit: git toma todo el contenido relevante del commit, autor, fecha y calcula una función hash SHA-1 que produce datos binarios que se convierten en la cadena de identificación del commit.

Segundo reto: redirigir la salida estándar

En muchos momentos confié demasiado en usar std::cout. Llegó un punto en que necesitaba escribir la salida a un fichero sin reescribir todo el código. Aprendí a capturar y redirigir std::cout sustituyendo su streambuf por un ostringstream, ejecutar la función que genera la salida y luego restaurar el buffer original para volcar el contenido capturado al fichero deseado. Esto evitó duplicar lógicas y mantuvo limpio el diseño.

Detalles de lenguaje

Detecté ventajas de usar constexpr junto con estructuras conocidas en tiempo de compilación. Intenté usar constexpr con std::array de std::string y apareció un problema: std::string implica asignación dinámica y no puede ser constante en tiempo de compilación. La alternativa correcta fue usar std::string_view para representar cadenas inmutables conocidas en compilación, lo que resulta más eficiente y seguro en este caso.

Recursos y mejoras personales

El proyecto mejoró mi capacidad para pensar en casos borde, manejo de errores y diseño antes de escribir código espagueti. También me familiaricé con conceptos como streambufs y técnicas de integración entre proyectos, además de fortalecer el uso de CMake, vcpkg y bibliotecas modernas de C++.

Sobre Q2BSTUDIO

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones personalizadas, inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos desde software a medida hasta despliegues en plataformas cloud como AWS y Azure, así como servicios de inteligencia de negocio y visualización con power bi. Si buscas desarrollar aplicaciones a medida con un enfoque profesional y escalable conoce nuestros servicios de desarrollo de aplicaciones y software a medida y descubre cómo la inteligencia artificial para empresas puede potenciar tus procesos con agentes IA y automatizaciones.

Palabras clave

Este artículo toca conceptos relacionados con aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi con el fin de mejorar posicionamiento y ofrecer valor práctico.

Conclusión

Una CLI bien diseñada que empaqueta el contexto de un repositorio facilita la colaboración con modelos LLM, acelera la resolución de problemas y permite a los equipos centrarse en lo que realmente importa. Si te interesa aplicar soluciones similares en tu empresa o necesitas asesoramiento en software a medida, cloud, seguridad o inteligencia de negocio, en Q2BSTUDIO podemos ayudarte a llevarlo a producción.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat