Tus tareas viven en tu terminal.
Gestor de tareas hecho para el teclado, tuyo y en tu propio servidor: TUI y CLI en Go, captura rápida en lenguaje natural, página web instalable y servidor MCP para Claude.
Página y demo en vivo · Instalar · Guía de uso · Servidor · MCP
- Rápido de verdad. Atajos estilo vim, deshacer de 50 pasos y todo a una tecla.
- Escribe como hablas.
Pagar luz mañana 18:00 p1 +Finanzas #casa cada meslleva fecha, hora, prioridad, proyecto, etiqueta y repetición en una línea. - Tuyo. Sin cuenta ni nube ajena: Markdown en una carpeta o SQLite en tu servidor. Exportas todo cuando quieras.
- En todas tus pantallas. Un servidor propio comparte las mismas tareas con la terminal, el navegador (PWA) y Claude por MCP.
- Bonito por defecto. Tema Aurora en color verdadero, o los colores de tu
terminal con
theme = "ansi".
Requiere Go 1.27 o superior.
go install github.com/alfonsoHR98/tasktui/cmd/tasktui@latest
tasktui demo # la TUI con tareas de ejemplo; no toca nada tuyo¿Sin instalar nada? La página del proyecto tiene una réplica interactiva.
| Escribe | Significa |
|---|---|
#casa |
etiqueta |
+Trabajo · +Mis_Cuentas |
proyecto (si no existe, se crea) |
p1 … p4 |
prioridad |
hoy, mañana, viernes, en 3 días, 15/11 |
fecha |
18:00, 9am |
hora |
limit 20/11 |
fecha límite |
cada mes, cada lunes, cada 2 semanas |
repetición |
La misma sintaxis sirve en la TUI, la CLI, la web, la API y el MCP. Tabla completa en docs/uso.md.
Hay dos formas de usarlo. Puedes empezar con la primera y pasar a la segunda
cuando quieras, sin perder tareas (tasktui server push).
go install github.com/alfonsoHR98/tasktui/cmd/tasktui@latest
tasktui # abre la TUI
tasktui add Pagar luz mañana 18:00 p1 +Finanzas # o desde la CLILas tareas se guardan como Markdown compatible con
Obsidian Tasks en ~/.local/share/tasktui.
Para verlas en Obsidian, apunta la carpeta a tu vault:
tasktui dir ~/ruta/a/tu/vault/Tareas. Más en docs/modos.md.
El servidor es un solo contenedor con la API, la página web y el MCP; las tareas viven en un archivo SQLite dentro de un volumen.
git clone https://github.com/alfonsoHR98/tasktui.git && cd tasktui
cp .env.example .env # pon un API_TOKEN: openssl rand -hex 24
docker compose up -d --buildAbre http://127.0.0.1:8787, entra con tu token y conecta la terminal:
tasktui server connect http://127.0.0.1:8787 # pide el tokenPara usarlo fuera de casa necesitas HTTPS: docs/docker.md explica Caddy, Cloudflare Tunnel y Tailscale, además de respaldos y actualizaciones.
Sin Docker: el servidor como binario
make server
API_TOKEN=$(openssl rand -hex 24) DATABASE_PATH=./tasktui.db ./tasktui-serverGo puro, sin cgo: corre igual en un VPS, una Raspberry Pi o tu Mac.
Desde el código
git clone https://github.com/alfonsoHR98/tasktui.git && cd tasktui
make install # instala tasktui en ~/go/bin
make test TUI / CLI ─┐
Web (PWA) ─┼── HTTPS + token ──► tasktui-server ──► SQLite
Claude ─┘ (MCP) API · web · MCP
Un servidor es la fuente de verdad y todos los clientes hablan la misma API.
La lógica (captura rápida, vistas, repeticiones) vive en un núcleo compartido,
internal/core, así que una tarea se interpreta igual en todas partes. Sin
servidor, ese mismo núcleo lee y escribe tus archivos .md.
| Guía | ||
|---|---|---|
| TUI | tres paneles, detalle con descripción y notas, avance del día | uso |
| CLI | cada comando acepta --json, para scripts y agentes |
uso |
| Servidor | API JSON con SQLite, en Docker o como binario | docker · API |
| Página web | PWA instalable servida por el mismo binario; lee sin conexión | web |
| MCP | Claude y otras IAs manejan tus tareas con las mismas reglas | MCP |
| Avisos en la Mac | alerta nativa a la hora de la tarea, con Completar y Posponer | abajo |
| Respaldo | tasktui export a Markdown y /api/export en JSON |
docker |
La app nativa de iPhone (ios/) está en desarrollo y todavía no forma parte de
una versión publicada; mientras tanto, la página web se instala en el celular.
| Tecla | Acción | Tecla | Acción |
|---|---|---|---|
j k |
moverse | a |
añadir |
h l |
barra lateral ↔ lista | x |
completar / reabrir |
gi gt gu ga |
Inbox · Hoy · Próximos · Todas | e |
editar |
/ |
buscar | s |
fecha, hora y límite |
u |
deshacer | ? |
todos los atajos |
tasktui notify install # arranca al iniciar sesión (launchd)
tasktui notify test # muestra una alerta de prueba
tasktui notify uninstallAl llegar la hora de una tarea (9:00 si solo tiene fecha) aparece una alerta que
se queda en pantalla hasta que la cierras, con Completar, Posponer 10 min
y Cerrar. Con terminal-notifier
instalado (brew install terminal-notifier) la alerta es nativa; sin él se usa
un diálogo del sistema.
# ~/.config/tasktui/config.toml
theme = "aurora" # o "ansi": usa los 16 colores de tu terminalTambién TASKTUI_THEME=ansi tasktui. Todas las opciones y variables están en
docs/modos.md.
| docs/uso.md | captura rápida, atajos de la TUI, tema y CLI |
| docs/modos.md | modo local y remoto, configuración, formato Markdown |
| docs/docker.md | servidor autoalojado, HTTPS, respaldos, variables |
| docs/mcp.md | conectar Claude u otra IA |
| docs/api.md | rutas de la API |
| docs/web.md | la página web / PWA |
| docs/ios.md | la app de iPhone (en desarrollo) |
| docs/desarrollo.md | estructura del código, pruebas y versiones |
- El token es la única llave: genera uno largo y no lo subas a ningún repo
(
.envestá en.gitignore). - Usa siempre HTTPS fuera de tu red. El secreto del MCP va en la URL; trátalo como una contraseña.
- Es una herramienta personal (un usuario, un token), no un servicio multiusuario.
Para reportar una vulnerabilidad, lee SECURITY.md.
- Siguiente: binarios e imagen de Docker publicados con cada versión,
instalación con
brew, avisos push en la página web. - Después: filtros guardados (
(hoy | vencidas) & #work), subtareas y reordenar desde la TUI, más temas de color, app de iPhone. - Ideas abiertas: otras bases además de SQLite, abrir la tarea en Obsidian.
Lo ya publicado está en CHANGELOG.md.
Las ideas, los reportes y los pull requests son bienvenidos. Empieza por CONTRIBUTING.md; la estructura del código está en docs/desarrollo.md.
MIT © alfonsoHR98


