https://github.com/ingfranciscastillo/rust-cli-task-manager
Un gestor de tareas simple y elegante desarrollado en Rust para la línea de comandos.
https://github.com/ingfranciscastillo/rust-cli-task-manager
chrono clap clap-rs colored rust- rust-lang serde serde-json
Last synced: 13 days ago
JSON representation
Un gestor de tareas simple y elegante desarrollado en Rust para la línea de comandos.
- Host: GitHub
- URL: https://github.com/ingfranciscastillo/rust-cli-task-manager
- Owner: ingfranciscastillo
- Created: 2025-09-06T05:42:10.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2025-09-06T06:09:14.000Z (about 1 month ago)
- Last Synced: 2025-09-06T07:24:59.746Z (about 1 month ago)
- Topics: chrono, clap, clap-rs, colored, rust-, rust-lang, serde, serde-json
- Language: Rust
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📋 ToDo CLI - Gestor de Tareas en Terminal
Un gestor de tareas simple y elegante desarrollado en Rust para la línea de comandos.
## 🚀 Características
- ✅ Añadir tareas nuevas
- 📝 Listar todas las tareas con colores
- ✓ Marcar tareas como completadas
- 🗑️ Eliminar tareas
- 🧹 Limpiar todas las tareas
- 💾 Persistencia automática en JSON
- 🎨 Interfaz colorida y amigable
- 📅 Timestamps de creación y finalización## 🛠️ Tecnologías Utilizadas
- **Rust 1.89.0**
- **clap** - Parser de argumentos CLI
- **serde & serde_json** - Serialización JSON
- **chrono** - Manejo de fechas y timestamps
- **colored** - Salida colorizada en terminal## 📂 Estructura del Proyecto
```
todo-cli/
│── Cargo.toml
│── README.md
└── src/
├── main.rs // Punto de entrada
├── cli.rs // Parser de argumentos con clap
├── task.rs // Definición de la struct Task
├── storage.rs // Persistencia en JSON
└── commands.rs // Implementación de comandos
```## 📦 Instalación
1. Clona o crea el proyecto:
```bash
cargo new todo-cli
cd todo-cli
```2. Copia todos los archivos del proyecto
3. Compila el proyecto:
```bash
cargo build --release
```## 🎯 Uso
### Añadir una tarea
```bash
cargo run -- add "Aprender Rust"
cargo run -- add "Escribir documentación"
```### Listar todas las tareas
```bash
cargo run -- list
```Salida esperada:
```
📋 Task List:[ ] 1 - Aprender Rust
Created: 2024-01-15 10:30[x] 2 - Escribir documentación
Created: 2024-01-15 10:31 | Completed: 2024-01-15 11:45📊 Summary:
Total: 2 | Completed: 1 | Pending: 1
```### Marcar tarea como completada
```bash
cargo run -- done 1
```### Eliminar una tarea
```bash
cargo run -- delete 1
```### Limpiar todas las tareas
```bash
cargo run -- clear
```### Ver ayuda
```bash
cargo run -- --help
```## 🎨 Características de la Interfaz
- **Colores intuitivos**: Verde para completadas, rojo para pendientes
- **Iconos visuales**: Checkboxes, emojis y símbolos
- **Timestamps**: Fechas de creación y finalización
- **Resumen estadístico**: Total, completadas y pendientes
- **Texto tachado**: Para tareas completadas## 📄 Formato del archivo JSON
Las tareas se guardan en `tasks.json`:
```json
{
"tasks": [
{
"id": 1,
"description": "Aprender Rust",
"done": false,
"created_at": "2024-01-15T10:30:00.000Z",
"completed_at": null
},
{
"id": 2,
"description": "Escribir README",
"done": true,
"created_at": "2024-01-15T10:31:00.000Z",
"completed_at": "2024-01-15T11:45:00.000Z"
}
],
"next_id": 3
}
```## 🧪 Ejemplos de Uso
```bash
# Flujo típico de uso
cargo run -- add "Comprar leche"
cargo run -- add "Estudiar para el examen"
cargo run -- add "Hacer ejercicio"cargo run -- list
cargo run -- done 2
cargo run -- listcargo run -- delete 1
cargo run -- listcargo run -- clear
```## 🔧 Compilación y Distribución
### Compilar para producción:
```bash
cargo build --release
```El binario estará en `target/release/rust-cli-task-manager`
### Instalar globalmente:
```bash
cargo install --path .
```Después podrás usar directamente:
```bash
todo-cli add "Nueva tarea"
todo-cli list
```## 📝 Licencia
Este proyecto está bajo la licencia MIT.
---
**¡Disfruta gestionando tus tareas con estilo! 🎉**