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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat