Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rustask

Gestor de tareas estilo kanban, en la terminal (TUI), donde cada tarea es un archivo Markdown con metadatos YAML guardado en una carpeta de tu disco. No hay base de datos ni servidor: los propios archivos son la base de datos. Lo que hagas después con esa carpeta (llevarla a git, a la nube, o dejarla tal cual) es cosa tuya — Rustask no lo sabe ni le importa.

estado

Índice

¿Qué es Rustask?

Rustask es una aplicación de terminal escrita en Rust para organizar tareas en un tablero kanban con tres columnas: Por hacer, En progreso y Completado. Está pensada para gente que ya vive en la terminal y prefiere archivos de texto plano antes que depender de un servicio en la nube propietario para algo tan simple como una lista de tareas.

La interfaz se construye con ratatui y crossterm. Rustask solo lee y escribe archivos en el disco — no habla con ninguna API externa, no necesita red, y no depende de ningún otro programa del sistema para funcionar.

Cómo se guardan los datos

Cada proyecto en Rustask es, literalmente, una carpeta normal. Dentro de esa carpeta:

mi-proyecto/
├── tareas/
│   ├── revisar-pull-requests.md
│   ├── escribir-documentacion.md
│   └── arreglar-bug-login.md
└── etiquetas.yaml

Cada tarea es un archivo .md con un bloque de metadatos YAML al principio (front matter) y una descripción libre debajo, en Markdown normal:

---
titulo: Arreglar bug de login
prioridad: Alta
estado: En_progreso
fecha_limite: 2026-08-15
etiquetas:
  - backend
  - urgente
---
El login falla cuando el usuario tiene el correo en mayúsculas.
Revisar la normalización antes de comparar contra la base de datos.

Como no hay más que archivos de texto, puedes leer, editar o buscar tus tareas con cualquier editor o grep — Rustask es solo una forma cómoda de trabajar con ellos desde la terminal.

Instalación

Arch Linux (AUR)

yay -S rustask-es-git
# o con paru:
paru -S rustask-es-git

Esto compila siempre desde la última versión de la rama principal del repositorio (es un paquete -git, sin versiones fijas todavía).

Compilar manualmente

Necesitas tener Rust instalado (vía rustup, para que coincida con la edición de Rust que usa el proyecto).

git clone https://github.com/danicorgam/rustask-es.git
cd rustask-es
cargo build --release
./target/release/rustask

Primeros pasos

  1. Al abrir Rustask por primera vez verás una pantalla de selección de proyecto, vacía. Pulsa N para registrar uno nuevo.

    Pantalla de selección de proyecto

  2. Rellena nombre, descripción (opcional) y ruta: una carpeta de tu disco donde vivirá el proyecto. Si esa carpeta no existe, Rustask la crea, junto con la subcarpeta tareas/.

  3. Con Enter entras al tablero. Ya puedes crear tareas con N, moverlas entre columnas con M, y organizarlas con etiquetas.

    Tablero kanban con tareas, etiquetas y estadísticas

  4. Cuando quieras guardar tus cambios de verdad en disco, pulsa Enter en el tablero. Rustask te enseña cuántos cambios tienes pendientes y te pide confirmación antes de escribir los archivos.

Mientras no pulses ese Enter de guardar, todo lo que haces (crear, mover, borrar tareas) vive solo en memoria: nada toca el disco hasta que confirmas. Esto te da un punto de repaso antes de que cualquier cambio sea permanente.

Atajos de teclado

Selección de proyecto

Tecla Acción
/ Moverse entre proyectos registrados
Enter Abrir el proyecto seleccionado
N Registrar un proyecto nuevo
Q Salir

Tablero (modo normal)

Tecla Acción
/ Cambiar de columna
/ Moverse entre tareas de la columna actual
N Crear una tarea nueva
M Mover la tarea resaltada a la siguiente columna
D Borrar la tarea resaltada (pide confirmación)
E Crear una etiqueta nueva
T Asignar o quitar etiquetas de la tarea resaltada
F Filtrar el tablero por una etiqueta
R Recargar las tareas desde disco
P Volver a la selección de proyecto
Enter Guardar los cambios pendientes en disco
? Mostrar ayuda
Q Salir (avisa si hay cambios sin guardar)

Popups de formulario (nueva tarea, nueva etiqueta, nuevo proyecto…)

Tecla Acción
Tab Saltar al siguiente campo
Enter Confirmar
Esc Cancelar

¿Y git?

Rustask no ejecuta git en ningún momento, ni lee ni escribe configuración de ningún remoto. Cada proyecto es solo una carpeta con archivos de texto.

Si quieres llevar tus tareas a GitHub (o a cualquier otro sitio), lo haces tú, fuera de Rustask, como con cualquier otra carpeta:

cd mi-proyecto
git init
git add .
git commit -m "tareas iniciales"
git remote add origin git@github.com:tu-usuario/mi-proyecto.git
git push -u origin main

A partir de ahí, cada vez que quieras respaldar tus cambios, un simple git add . && git commit -m "..." && git push en esa carpeta basta — Rustask ni se entera ni necesita enterarse.

Estructura del proyecto

src/
├── main.rs      # Punto de entrada: bucle de eventos de la TUI
├── app.rs       # Estado de la aplicación y manejo de teclas
├── ui.rs        # Todo el dibujado de pantallas y popups (ratatui)
├── models.rs    # Tipos de datos: Proyecto, Tarea, Etiqueta...
├── config.rs    # Registro local de proyectos (qué carpetas conoce Rustask)
└── almacen.rs   # Lectura/escritura de tareas y etiquetas en disco

Requisitos

  • Una terminal que soporte los códigos ANSI habituales (cualquier terminal moderna vale)
  • Para compilar desde código fuente: un toolchain de Rust reciente (vía rustup)

No hace falta tener git instalado para usar Rustask — solo si quieres llevar tus tareas a un repositorio por tu cuenta, o si compilas desde código fuente (para clonar el repositorio).


Proyecto personal en desarrollo activo — la arquitectura de almacenamiento y algunos atajos de teclado pueden cambiar entre versiones.

About

Programa de gestion de tareas en terminal vinculado con git

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages