Ignorando cambios en git localmente

Es bien conocido que en un repositorio de git podemos usar un archivo .gitignore para omitir el seguimiento de archivos que no queremos que se suban (se "empujen") al repositorio remoto. Si un archivo coincide con el patrón de un .gitignore, entonces no se mostrará en un git status para añadir sus eventuales cambios a un commit.

Típicamente se usan para ignorar directorios donde se instalan dependencias (e.g. el virtualenv para proyectos Python generalmente instalado en .venv), archivos temporales generados por el intérprete o compilador, archivos específicos para IDEs, etc.

Son tan comunes que GitHub ofrece plantillas de gitignore curadas para distintos lenguajes de programación, y herramientas específicas para inicializar proyectos como uv init generan un .gitignore básico como parte del boilerplate.

Un .gitignore forma parte del proyecto (está commiteado) y es importante que esté en el repositorio para que todos los colaboradores tengan la misma configuración.

¿Pero qué pasa si queremos ignorar archivos solo localmente?

Leer más…

Un cheatsheet automático para tu CLI Typer

Typer es gran framework de CLIs del mismo autor que creó FastAPI. Permite crear interfaces de línea de comandos robustas e intuitivas basándose en anotaciones sobre los argumentos de funciones. Sin hacer mucho esfuerzo te ofrece autocompletado y ayuda en línea de comandos, que de paso se ve muy bonita al estar basada en rich.

También permite facilmente registrar grupos de comandos y subcomandos, lo que facilita la organización y mantenimiento de aplicaciones grandes. Pero, ¿qué pasa cuando tu aplicación crece, con múltiples subcomandos, grupos y opciones anidadas?

Para los usuarios (¡o incluso para vos mismo después de un tiempo!), puede ser un desafío recordar todos los comandos disponibles, sus funciones y cómo interactúan. La ayuda integrada y la documentación son clave, pero ¿no sería fantástico tener un "mapa" en vivo de tu aplicación, accesible directamente desde la terminal?

¡Acá es donde entra typer-cheatsheet-command!

Leer más…