prueba de proyecto

This commit is contained in:
2026-03-25 00:29:33 -03:00
parent aedc647fff
commit a3dcdb8577
13 changed files with 596 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
{
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(python3:*)",
"Bash(python:*)"
]
}
}

21
CLAUDE.md Normal file
View File

@@ -0,0 +1,21 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
This is a personal tracker project. The codebase is currently empty (initial commit only) — no build configuration, tests, or source files exist yet.
## Development Commands
Commands will be added once the project has a build system and test setup.
## Resumen
- Cuando te pida realizar un resumen del proyecto debes crear un archivo con el siguiente formato de nombre yyyy-mm-dd-HHMM-resumen.md en la carpeta resumen.
- Si no existe crea una carpeta resumen en la raiz del proyecto.
- Crearemos resumenes de forma incremental y el primero debe contener todo lo existente hasta el momento.
- El archivo debe ser creado con el horario local.
## Commit
- evitar agregar lo siguiente: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

246
backlog/mvp-1.md Normal file
View File

@@ -0,0 +1,246 @@
Construye un MVP v1 de un sistema local de seguimiento de proyectos personales.
Objetivo:
Crear una herramienta CLI que opere sobre archivos Markdown y YAML para ayudar a seguir proyectos personales con foco en continuidad entre sesiones. El sistema combina Kanban liviano, documentación viva, changelog y bitácora técnica por sesiones.
Restricciones obligatorias:
- usar persistencia en archivos legibles
- Markdown como formato principal
- YAML/JSON simple para metadatos
- sin base de datos
- sin interfaz web
- sin dependencias cloud
- todo debe seguir siendo usable manualmente aunque la CLI no exista
- una sola sesión activa a la vez en v1
- LOG.md append-only
- README.md solo puede modificarse en secciones autogeneradas delimitadas por marcadores AUTOGEN
Stack preferido:
- Python 3.11+
- Typer
- Jinja2
- PyYAML
- GitPython opcional
Estructura del repositorio esperada:
- README.md principal
- pyproject.toml
- tracker.yaml
- paquete tracker/ con cli, services, models, storage, utils y templates
- carpeta projects/
- carpeta tests/
- carpeta examples/
Cada proyecto debe generarse así:
projects/<slug>/
README.md
LOG.md
CHANGELOG.md
TASKS.md
sessions/
docs/
assets/
meta/project.yaml
Comandos mínimos a implementar:
- tracker init-project
- tracker list
- tracker show <slug>
- tracker start <slug>
- tracker note <text>
- tracker stop <slug>
- tracker change <slug>
- tracker next <slug>
- tracker review
Comportamiento requerido:
1. init-project
- crea estructura de carpetas
- genera README.md, LOG.md, CHANGELOG.md, TASKS.md y meta/project.yaml desde plantillas
- acepta name, type, tags, repo-path y description
2. list
- muestra nombre, slug, estado, última sesión y próximo paso si existe
3. show <slug>
- muestra estado actual, contexto, último resumen, bloqueos, próximos pasos y última actividad
4. start <slug>
- valida que no exista otra sesión activa
- registra hora de inicio
- crea sesión activa en un archivo tipo .active_session.json
- puede aceptar objective
- muestra contexto reciente
5. note <text>
- agrega nota a la sesión activa
- soporta tipos: work, change, blocker, decision, idea, reference
6. stop <slug>
- registra fin
- calcula duración
- consolida notas
- genera resumen heurístico
- sugiere próximos pasos
- crea archivo detallado en sessions/YYYY-MM-DD_HHMM.md
- actualiza LOG.md
- actualiza README.md en bloques AUTOGEN
- opcionalmente actualiza CHANGELOG.md
- limpia sesión activa
7. change <slug>
- añade una entrada manual al CHANGELOG.md
8. next <slug>
- sugiere próximos pasos por reglas simples, sin IA obligatoria
9. review
- muestra proyectos activos, últimas sesiones, bloqueos abiertos y proyectos sin actividad reciente
Modelo mínimo:
Proyecto:
- id
- name
- slug
- description
- type
- status
- tags
- root_path
- repo_path
- created_at
- updated_at
- last_session_at
Sesión:
- id
- project_slug
- started_at
- ended_at
- duration_minutes
- objective
- summary
- work_done
- changes
- decisions
- blockers
- next_steps
- references
- raw_notes
Cambio:
- date
- type
- title
- impact
- references
Valores sugeridos de type:
- code
- homelab
- automation
- agent
- research
- misc
Valores sugeridos de status:
- inbox
- next
- active
- blocked
- waiting
- done
- archived
README.md del proyecto debe incluir:
- nombre
- descripción
- objetivo
- estado actual
- contexto actual
- stack / herramientas
- arquitectura breve
- decisiones técnicas
- riesgos / bloqueos
- próximos pasos
- últimas sesiones
Usa bloques delimitados, por ejemplo:
<!-- AUTOGEN:STATUS_START -->
...
<!-- AUTOGEN:STATUS_END -->
LOG.md debe ser append-only y usar entradas como:
## 2026-03-23 10:0011:20
**Objetivo**
...
**Trabajo realizado**
- ...
**Cambios relevantes**
- ...
**Bloqueos**
- ...
**Decisiones**
- ...
**Próximos pasos**
- ...
**Resumen**
...
CHANGELOG.md debe registrar solo cambios relevantes:
- code
- infra
- config
- docs
- automation
- decision
TASKS.md debe tener secciones:
- Inbox
- Próximo
- En curso
- Bloqueado
- En espera
- Hecho
Heurísticas mínimas:
- si hay bloqueos abiertos, priorizar destrabar
- si hubo cambios sin validación, sugerir validar
- si hubo trabajo parcial, sugerir cerrar el hilo abierto
- si no hubo avances, sugerir redefinir objetivo
- si hubo commits recientes no documentados, sugerir registrarlos
Integración Git:
- opcional
- leer commits recientes si repo_path existe
- no hacer commit, push ni cambios de ramas
Requisitos de calidad:
- código modular
- mensajes de error claros
- paths multiplataforma
- UTF-8
- tests básicos del flujo principal
Entregables:
- estructura completa del repositorio
- CLI funcional
- plantillas base
- README principal
- ejemplos de uso
- tests básicos
- proyecto demo
Prioriza claridad, mantenibilidad y bajo acoplamiento.
Además:
- implementa primero la estructura y los comandos base
- evita sobreingeniería
- usa funciones pequeñas y testeables
- separa claramente CLI, lógica de dominio y persistencia
- no escondas datos importantes en formatos opacos
- añade ejemplos de salida de comandos
- incluye un proyecto demo ya generado
- incluye tests del flujo init-project → start → note → stop → show

View File

@@ -0,0 +1,4 @@
# Changelog
_Project changes_

View File

@@ -0,0 +1,50 @@
# Log
_Project activity log_
## 2026-03-24 23:4000:07
**Objetivo**
No especificado
**Trabajo realizado**
- Sin trabajo registrado
**Cambios relevantes**
- Sin cambios
**Bloqueos**
- Sin bloqueos
**Decisiones**
- Sin decisiones
**Próximos pasos**
- Definir próximos pasos
**Resumen**
Session de 27 minutos sin progreso registrado.
## 2026-03-25 00:0900:13
**Objetivo**
No especificado
**Trabajo realizado**
- Sin trabajo registrado
**Cambios relevantes**
- Sin cambios
**Bloqueos**
- Sin bloqueos
**Decisiones**
- Sin decisiones
**Próximos pasos**
- Definir próximos pasos
**Resumen**
Session de 3 minutos sin progreso registrado.

View File

@@ -0,0 +1,50 @@
# mi-proyecto
_No description_
## Objective
_TODO: Define objective_
## Status
**Current Status:** inbox
<!-- AUTOGEN:STATUS_START -->
Status: inbox
<!-- AUTOGEN:STATUS_END -->
## Context
_Current context and background_
## Stack / Tools
- _Tool 1_
- _Tool 2_
## Architecture
_Brief architecture description_
## Technical Decisions
_No decisions recorded yet_
## Risks / Blockers
_No blockers_
<!-- AUTOGEN:NEXT_STEPS_START -->
- Definir próximos pasos
- Definir próximos pasos
<!-- AUTOGEN:NEXT_STEPS_END -->
## Recent Sessions
<!-- AUTOGEN:SESSIONS_START -->
- 2026-03-24 23:40 (27 min): Session de 27 minutos sin progreso registrado....
- 2026-03-25 00:09 (3 min): Session de 3 minutos sin progreso registrado....
<!-- AUTOGEN:SESSIONS_END -->
_Last updated: 2026-03-24_

View File

@@ -0,0 +1,20 @@
# Tasks
## Inbox
-
## Próximo
- [ ] Test task 1
## En curso
-
## Bloqueado
-
## En espera
-
## Hecho
- [x] Test task 2
- [x] New test task

View File

@@ -0,0 +1,12 @@
id: d7443ae2-9d23-4dc9-85c2-50437d6ab993
name: mi-proyecto
slug: mi-proyecto
description: ''
type: misc
status: inbox
tags: []
root_path: projects/mi-proyecto
repo_path: null
created_at: '2026-03-24T23:39:35.125241'
updated_at: '2026-03-24T23:39:35.125246'
last_session_at: null

View File

@@ -0,0 +1,28 @@
# Sesion: 2026-03-24 23:4000:07
## Objetivo
No especificado
## Notas
- Sin notas
## Trabajo realizado
- Sin trabajo realizado
## Cambios
- Sin cambios
## Decisiones
- Sin decisiones
## Bloqueos
- Sin bloqueos
## Proximos pasos
- Definir próximos pasos
## Referencias
- Sin referencias
## Duracion
27 minutos

View File

@@ -0,0 +1,28 @@
# Sesion: 2026-03-25 00:0900:13
## Objetivo
No especificado
## Notas
- [idea] prueba de idea
## Trabajo realizado
- Sin trabajo realizado
## Cambios
- Sin cambios
## Decisiones
- Sin decisiones
## Bloqueos
- Sin bloqueos
## Proximos pasos
- Definir próximos pasos
## Referencias
- Sin referencias
## Duracion
3 minutos

View File

@@ -0,0 +1,18 @@
{
"id": "5f6b1f86-7ce1-4079-b886-9885cff9cca5",
"project_slug": "mi-proyecto",
"started_at": "2026-03-24T23:40:18.747800",
"ended_at": "2026-03-25T00:07:23.886040",
"duration_minutes": 27,
"objective": "",
"summary": "Session de 27 minutos sin progreso registrado.",
"work_done": [],
"changes": [],
"decisions": [],
"blockers": [],
"next_steps": [
"Definir próximos pasos"
],
"references": [],
"raw_notes": []
}

View File

@@ -0,0 +1,24 @@
{
"id": "6103e2ec-e40c-4a0b-8672-cd4db18ca487",
"project_slug": "mi-proyecto",
"started_at": "2026-03-25T00:09:38.396081",
"ended_at": "2026-03-25T00:13:11.888662",
"duration_minutes": 3,
"objective": "",
"summary": "Session de 3 minutos sin progreso registrado.",
"work_done": [],
"changes": [],
"decisions": [],
"blockers": [],
"next_steps": [
"Definir próximos pasos"
],
"references": [],
"raw_notes": [
{
"type": "idea",
"text": "prueba de idea",
"created_at": "2026-03-25T00:11:32.741023"
}
]
}

View File

@@ -0,0 +1,85 @@
# Resumen del Proyecto: Personal Tracker CLI
## Fecha: 2026-03-24 12:45
## Descripción General
**Personal Tracker** es una herramienta CLI para seguimiento de proyectos personales, enfocada en la continuidad entre sesiones de trabajo. Utiliza archivos Markdown y YAML como persistencia, sin base de datos ni dependencias cloud.
## Rama Actual
- **develop**
## Stack Tecnológico
- Python 3.11+
- Typer (CLI)
- PyYAML (metadatos)
- Jinja2 (plantillas)
- Pydantic (modelos)
- GitPython (opcional)
## Estructura del Proyecto
```
tracker/
├── cli/ # Comandos CLI (Typer)
├── models/ # Modelos de datos (Pydantic)
├── services/ # Lógica de negocio
├── storage/ # Persistencia archivos
├── utils/ # Utilidades
└── templates/ # Plantillas Jinja2
projects/ # Proyectos creados
tests/ # 72 tests
examples/demo-project/ # Proyecto demo
backlog/ # Requisitos (MVP-1.md)
```
## Comandos Implementados
| Comando | Descripción |
|---------|-------------|
| `init-project` | Crear nuevo proyecto |
| `list` | Listar proyectos |
| `show` | Ver detalles |
| `start` | Iniciar sesión |
| `note` | Agregar nota |
| `stop` | Finalizar sesión |
| `change` | Agregar al changelog |
| `next` | Sugerir próximos pasos |
| `review` | Vista general |
## Commits en Rama develop
1. `525996f` - Initial commit
2. `4547c49` - Implement storage layer
3. `b0c65a0` - Implement core services
4. `88a474a` - Implement CLI commands
5. `40a33d7` - Implement project templates
6. `b36b603` - Complete CLI commands
7. `4e67062` - Add demo project
8. `2735562` - Add comprehensive tests
9. `4d99213` - Update README with MVP-1 documentation
10. `b4593c6` - Add detailed installation guide
11. `cc52360` - Fix pyproject.toml package discovery
## Instalación
```bash
pip install -e .
```
## Tests
```bash
pytest tests/ -v
# 72 tests implementados
```
## Estado Actual
- MVP-1 implementado y funcional
- CLI operativa con todos los comandos
- Tests cubiertos
- Documentación completa en README.md