Solo es una lista de tareas.

Tareator es una herramienta para gestionar la típica lista de tareas. Sí, otra más. Pero esta tiene lo mínimo, tanto en características como en código, para ser funcional y práctica.

/índice:

Motivación

La gracia es que una herramienta de estas sea lo más simple posible, de manera que usarla no suponga un esfuerzo. También conviene que sea fácil leer cómo está programada, para que quien quiera pueda cambiarla y extenderla.

Escribí este script para cumplir con dos necesidades que tengo todos los días en mi trabajo:

  • Anotar las tareas pendientes
  • Rellenar cómodamente el registro de horas con lo que he hecho

Funcionamiento

El funcionamiento de tareator se basa simplemente en dos ficheros de texto: una lista (que podría llamarse, por ejemplo, tareas.md) y register.csv como histórico.

Durante la jornada, veo qué tareas tengo por hacer y las voy marcando como en progreso o completadas. También apunto qué otras cosas he hecho y no estaban en la lista.

Cuando termino todo (o al día siguiente, si salgo con prisa), envío a la empresa el reporte de en qué he estado trabajando. Esto lo hago con el commando /commit, que vuelca lo que se ha escrito en register.csv desde el último commit.

Antes de enviar nada, se ajustan automáticamente el inicio y fin de cada acción, se redondean al cuarto de hora y se abren en un editor de texto para poder modificarlos. Mediante la función register2shptime(), le paso los argumentos correspondientes a la herramienta que actuará como “publicador”, llamada shptime. Es una utilidad interna que publica en el timetracker de mi empresa, pero cualquiera puede modificar esa parte del código y adaptarla a su caso. Finalmente, al guardar y cerrar el fichero las líneas se ejecutarán.

Una funcionalidad muy interesante es etiquetar con alias de proyectos cada acción que se introduce. Si escribo “explicar cómo funciona #tareator”, cuando haga /commit, el publicador recibirá “tareator” como proyecto al que debe asignar esas horas.

Además, también se pueden usar conjuntos de subtareas para agrupar tareas relacionadas bajo un mismo título. Esto puede ser de ayuda a nivel organizativo, si quieres tener varias listas en un único fichero (por ejemplo, tareas.md). Por lo demás, funcionan igual.

A partir de ahora, no dependes de aplicaciones web complejas que tardan en cargar, metodologías fijas, post-its desperdigados ni nada externo a tu ordenador. Todas tus tareas están en un mismo fichero, y tu progreso en otro csv igual de accesible. Coge ese to-do.txt perdido por ahí en tu proyecto, o empieza uno nuevo directamente: python3 -m tareator Si te convence, puedes ejecutar ./install.sh para tener el comando tareator siempre a cuatro teclas y un tabulador de distancia. Y ¡manos a la obra!