@gonrocca/zero-pi-todo
zero-pi-todo — TODOs persistentes para pi, con tool, slash command y overlay aboveEditor.
Package details
Install @gonrocca/zero-pi-todo from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@gonrocca/zero-pi-todo- Package
@gonrocca/zero-pi-todo- Version
0.1.0- Published
- May 23, 2026
- Downloads
- not available
- Author
- gonrocca
- License
- MIT
- Types
- extension
- Size
- 26.3 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./extensions/zero-pi-todo.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
zero-pi-todo
TODOs persistentes para pi: crealos con el tool todo, miralos con /todos y tenelos a mano en un overlay arriba del editor.
Instalación
pi install @gonrocca/zero-pi-todo
Uso del tool todo
El tool todo acepta estas acciones:
create: crea un TODO pendiente. Requieretitley puede recibirblockedBy.update: cambiatitle,statusoblockedByde un TODO existente.list: lista TODOs agrupados; conincludeDeleted: trueincluye tombstones.get: muestra un TODO porid.delete: marca un TODO comodeletedsin borrar historia.clear: marca comodeletedtodos los TODOs activos, o sólo los defilterStatus.
Ejemplo:
{ "action": "create", "title": "Revisar el PR", "blockedBy": [] }
Después podés moverlo:
{ "action": "update", "id": "t-001", "status": "in_progress" }
Slash command /todos
/todos muestra una notificación con grupos en Rioplatense: En curso, Pendientes y Completadas.
/todos
Si querés ver también los eliminados:
/todos all
Los eliminados salen con prefijo 🗑.
Overlay aboveEditor
El overlay se actualiza cuando cambia el store y se oculta si no hay TODOs activos.
Screenshot placeholder: el widget muestra
Tus TODOs (N)arriba del editor con los primeros ítems y… +N máscuando hay muchos.
Cómo persiste
Cada mutación exitosa llama a appendEntry("zero-pi-todo", op). En session_start, la extensión lee la rama actual con getBranch() y, si no existe, usa getEntries(). Después filtra entries custom de zero-pi-todo y hace replay de las operaciones en orden. Eso lo vuelve branch-aware y tolerante a compactaciones o recargas.
Sin dependencias
El paquete no declara dependencies: los runtime files son TypeScript directo para pi, y la suite corre con node --test --experimental-strip-types.