samedi.dev

module
v0.0.0-...-fe48d68 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2025 License: MIT

README ΒΆ

Samedi

A learning operating system for the terminal.

CI Go Report Card


What is Samedi?

Samedi is a CLI-native tool for tracking and managing your learning journey across any domainβ€”programming, languages, music, or anything else you want to master.

Key Features
  • πŸ€– LLM-Powered Curricula: Generate learning plans with Claude, Codex, or any LLM CLI
  • ⏱️ Time Tracking: Track sessions with simple start/stop commands
  • 🎴 Spaced Repetition: Built-in flashcard system with SM-2 algorithm
  • πŸ“Š Progress Dashboard: Beautiful TUI (samedi ui) to visualize your learning journey
  • πŸ“ Markdown-Based: All plans in git-trackable markdown
  • πŸ”„ Cloud Sync: Optional multi-device sync via Cloudflare (Phase 2)
The Philosophy

"Samedi doesn't teach. LLMs do. Samedi orchestrates, tracks, and motivates."

Learn anything with the same workflow:

samedi init "rust async programming" --hours 40
samedi start rust-async chunk-001
# ... learn for 1 hour ...
samedi stop
samedi review  # Flashcard review
samedi stats   # See your progress

Quick Start

Installation

Homebrew (macOS/Linux):

brew install samedi

Go Install:

go install github.com/pezware/samedi.dev/cmd/samedi@latest

From Source:

git clone https://github.com/pezware/samedi.dev.git
cd samedi.dev
make install
First Use
  1. Generate a learning plan:

    samedi init "french b1" --hours 50
    
  2. Start learning:

    samedi start french-b1 chunk-001
    # ... study for an hour ...
    samedi stop
    
  3. Review flashcards:

    samedi review french-b1
    
  4. Check your progress:

    samedi stats
    
  5. Explore the dashboard:

    samedi ui
    # Tab/Shift+Tab to switch modules, q to quit
    

Documentation

Full documentation: docs/


Features

Phase 1: Local MVP (Current)
  • βœ… Plan Generation: LLM-powered curriculum design
  • βœ… Session Tracking: Start/stop learning sessions
  • βœ… Flashcards: SM-2 spaced repetition
  • βœ… Stats Dashboard: TUI with progress visualization
  • βœ… Markdown Plans: Human-readable, git-trackable
  • βœ… SQLite Storage: Fast, local, reliable
Phase 2: Cloud Sync (Planned)
  • πŸ”„ Multi-Device Sync: Cloudflare Workers + D1
  • πŸ“± Web Dashboard: Mobile-friendly stats viewer
  • ☁️ Cloud Backups: Automatic to Cloudflare R2
  • πŸ” Email Auth: Magic link authentication
Phase 3: Intelligence (Future)
  • 🧠 Adaptive Learning: LLM-powered insights
  • 🎯 Smart Quizzing: Personalized tests
  • πŸ“… Calendar Integration: iCal export
  • πŸ† Achievements: Gamification (optional)

Examples

Learning Rust
samedi init "rust async programming" --hours 40
samedi start rust-async chunk-001
# Code along with Claude Code...
samedi stop --note "Built async web server"
samedi cards generate rust-async chunk-001  # Extract flashcards
Learning French
samedi init "french b1" --hours 50
samedi start french-b1 chunk-003
# Study with Duolingo, practice with Codex...
samedi stop
samedi review french-b1  # Review vocab flashcards
Cross-Domain Learning
samedi plan list
# rust-async     100%  βœ“
# french-b1       68%  in-progress
# music-theory    25%  in-progress

samedi stats --all
# Total: 187.5 hours across 3 domains
# Streak: 42 days πŸ”₯

Architecture

Tech Stack:

  • Language: Go 1.21+
  • TUI: Bubble Tea
  • CLI: Cobra
  • Database: SQLite
  • LLM Integration: Configurable (Claude, Codex, llm, etc.)

Project Structure:

samedi/
β”œβ”€β”€ cmd/samedi/           # Main entry point
β”œβ”€β”€ internal/             # Core application logic
β”‚   β”œβ”€β”€ cli/             # CLI commands
β”‚   β”œβ”€β”€ tui/             # TUI components
β”‚   β”œβ”€β”€ plan/            # Plan management
β”‚   β”œβ”€β”€ session/         # Session tracking
β”‚   β”œβ”€β”€ flashcard/       # Spaced repetition
β”‚   └── llm/             # LLM integration
β”œβ”€β”€ docs/                 # Documentation
└── templates/            # LLM prompts

See Architecture Documentation for details.


Contributing

We welcome contributions! Please read:

Quick Development Setup
# Clone and setup
git clone https://github.com/pezware/samedi.dev.git
cd samedi
make install-tools

# Run tests
make test

# Build and run
make build
./bin/samedi

License

MIT License - see LICENSE for details.


Acknowledgments

Built with:


Start your learning journey today:

brew install samedi
samedi init "your next skill"

Happy learning! πŸŽ“

Directories ΒΆ

Path Synopsis
cmd
samedi command
internal
cli
llm
tui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL