Skip to main content

TUI para capturar y gestionar ideas de proyectos

Project description

💤 LazyPlan

TUI (interfaz de terminal) para capturar y gestionar ideas de proyectos, sin salir de la consola. Anotá una idea en 5 segundos, hacé seguimiento de su estado, y creá el repo en GitHub cuando estés listo para arrancar — todo desde el teclado.


✨ Características

  • Captura rápida de ideas desde la TUI o directo desde la terminal (lazyplan new).
  • Estados de proyecto: 🟡 Cruda · 🟢 Activa · ⚪ Pausada · 🔴 Descartada.
  • Búsqueda y filtros en tiempo real por título, descripción o stack.
  • Vista de detalle con toda la info del proyecto.
  • Editor integrado para crear y modificar proyectos sin salir de la app.
  • Integración con GitHub CLI (gh): creá un repositorio (público o privado) directamente desde la TUI, sin abrir el navegador.
  • Persistencia local en JSON, sin bases de datos ni servicios externos.
  • Tema oscuro propio (onyx-violet) 🎨

📦 Requisitos

  • Python 3.11 o superior
  • GitHub CLI (gh) instalado y autenticado — solo si querés usar la creación de repos desde la app (ctrl+g). El resto de LazyPlan funciona sin gh.

🚀 Instalación

Con pipx (recomendado)

pipx install lazyplan

Con pip

pip install lazyplan

Desde el código fuente

git clone https://github.com/tu-usuario/lazyplan.git
cd lazyplan
pip install -e .

🕹️ Uso

Abrir la TUI

lazyplan

Crear un proyecto sin abrir la TUI

lazyplan new -t "Mi idea genial" -s "python,textual" -d "Una app de terminal" --status cruda
Opción Descripción
-t, --title Título del proyecto (obligatorio)
-s, --stack Tecnologías, separadas por coma
-d, --desc Descripción breve
--status Estado inicial: cruda, activa, pausada, descartada (default: cruda)

Listar proyectos desde la terminal

lazyplan ls

⌨️ Atajos de teclado (dentro de la TUI)

Pantalla principal

Tecla Acción
n Nuevo proyecto
enter Ver detalle
e Editar proyecto
d Eliminar proyecto
j / k Mover cursor abajo / arriba
ctrl+f Buscar
esc Limpiar búsqueda
q Salir

Detalle del proyecto

Tecla Acción
e Editar
d Eliminar
ctrl+g Crear repositorio en GitHub
esc Volver

Editor

Tecla Acción
ctrl+s Guardar
esc Cancelar

💾 Dónde se guardan los datos

LazyPlan guarda todo en un archivo JSON local, sin necesidad de conexión a internet ni servicios externos:

~/.local/share/lazyplan/projects.json

🏗️ Estructura del proyecto

lazyplan/
├── lazyplan/
│   ├── app.py              # App principal de Textual
│   ├── cli.py               # Entry point y comandos (typer)
│   ├── models.py             # Modelo Project / Status
│   ├── storage.py            # Persistencia en JSON
│   ├── github.py             # Integración con GitHub CLI
│   ├── lazyplan.tcss          # Estilos (Textual CSS)
│   └── screens/
│       ├── main.py           # Listado principal
│       ├── detail.py          # Vista de detalle
│       ├── editor.py          # Crear/editar proyecto
│       ├── confirm_delete.py   # Confirmación de borrado
│       └── github_screen.py    # Modal de creación de repo
└── pyproject.toml

🛠️ Desarrollo

Cloná el repo e instalá las dependencias de desarrollo (incluye herramientas de build y empaquetado):

git clone https://github.com/tu-usuario/lazyplan.git
cd lazyplan
pip install -e ".[dev]"

Correr la app en modo desarrollo:

python -m lazyplan.cli

Generar el paquete

python -m build

Publicar en PyPI

twine upload dist/*

🤝 Contribuir

Las contribuciones son bienvenidas. Si encontrás un bug o tenés una idea:

  1. Abrí un issue describiendo el problema o la propuesta.
  2. Forkeá el repo y creá una rama (git checkout -b feature/mi-mejora).
  3. Hacé tus cambios y abrí un Pull Request.

📄 Licencia

Este proyecto no tiene licencia definida todavía. Si pensás distribuirlo o aceptar contribuciones externas, considerá agregar una (por ejemplo, MIT).


✍️ Autor

Marcelo Mastroianimastroianimarcelo04@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lazyplan-0.1.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lazyplan-0.1.1-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file lazyplan-0.1.1.tar.gz.

File metadata

  • Download URL: lazyplan-0.1.1.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for lazyplan-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cc4c2ada8f962e30b759cd6789156b7c40b3c3d1b4940b4121949c038fe1eef6
MD5 26226f3b07b57fc921a9450da37c0639
BLAKE2b-256 00be6ab5cb65cc88cfbd6d3fef782ea23994028270b6317cb207c982181b7269

See more details on using hashes here.

File details

Details for the file lazyplan-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: lazyplan-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for lazyplan-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d63041559333afb94261002e7086fd6b077f7606cc97190226167693052b2e78
MD5 c9709bd74738ae2569c86adddb336001
BLAKE2b-256 5c35a22cbdfec559ffa9064c2157d0d5959f171bdc26000b81042bf72da24679

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page