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.
- ¿Qué es Rustask?
- Cómo se guardan los datos
- Instalación
- Primeros pasos
- Atajos de teclado
- ¿Y git?
- Estructura del proyecto
- Requisitos
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.
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.
yay -S rustask-es-git
# o con paru:
paru -S rustask-es-gitEsto compila siempre desde la última versión de la rama principal del
repositorio (es un paquete -git, sin versiones fijas todavía).
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-
Al abrir Rustask por primera vez verás una pantalla de selección de proyecto, vacía. Pulsa
Npara registrar uno nuevo. -
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/. -
Con
Enterentras al tablero. Ya puedes crear tareas conN, moverlas entre columnas conM, y organizarlas con etiquetas. -
Cuando quieras guardar tus cambios de verdad en disco, pulsa
Enteren 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.
| Tecla | Acción |
|---|---|
↑ / ↓ |
Moverse entre proyectos registrados |
Enter |
Abrir el proyecto seleccionado |
N |
Registrar un proyecto nuevo |
Q |
Salir |
| 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) |
| Tecla | Acción |
|---|---|
Tab |
Saltar al siguiente campo |
Enter |
Confirmar |
Esc |
Cancelar |
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 mainA 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.
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
- 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.

