Implement storage layer for MVP-1 Personal Tracker CLI

Add storage layer with FileStorage, MarkdownReader, and MarkdownWriter classes.
Add data models (Project, Session, Note, Change).
This commit is contained in:
2026-03-23 08:54:00 -03:00
parent 525996f60c
commit 4547c492da
16 changed files with 1013 additions and 0 deletions

22
tracker/models/note.py Normal file
View File

@@ -0,0 +1,22 @@
"""Note model definition."""
from enum import Enum
from pydantic import BaseModel, Field
from datetime import datetime
class NoteType(Enum):
"""Types of notes that can be recorded during a session."""
WORK = "work"
CHANGE = "change"
BLOCKER = "blocker"
DECISION = "decision"
IDEA = "idea"
REFERENCE = "reference"
class Note(BaseModel):
"""Represents a note recorded during a session."""
type: NoteType
text: str
created_at: datetime = Field(default_factory=datetime.now)