This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
cargo build- Build the projectcargo run- Build and run the TUI applicationcargo test- Run all testscargo test <test_name>- Run a single testcargo clippy- Run lintercargo fmt- Format code
TaskFlow is a TUI project management application built with Rust using the Elm Architecture (TEA) pattern.
- TEA Pattern: Model → Update → View cycle with message passing
- Ratatui + Crossterm: Terminal UI framework
- Configuration-based extensibility: Themes, keybindings, custom views via TOML files
- Multiple storage backends: Designed to support Markdown, YAML, JSON, SQLite
src/domain/- Core entities: Task, Project, Tag, TimeEntry, Filter, Goal, Habit, WorkLogsrc/domain/filter_dsl/- Advanced filter query language (lexer, parser, AST, evaluator)src/domain/git/- Git integration for branch linking and TODO extraction
src/app/- TEA architecture: Model (state), Message (events), Update (state transitions)src/ui/- View rendering and UI componentssrc/ui/components/- Reusable widgets (task_detail, daily_review, evening_review, etc.)
src/storage/- Storage abstraction with 4 backends (JSON, YAML, SQLite, Markdown), plus import/export (CSV, ICS, DOT, Mermaid, HTML)src/config/- Configuration system: settings, keybindings (70+ actions), and themessrc/bin/taskflow/- CLI binary with pipe interface for scripting
j/kor arrows - Navigate up/downxor Space - Toggle task completeior Enter - View task detailsc- Toggle show completed tasksf/F- Focus mode / Full-screen focusAlt+d/w/e- Daily/Weekly/Evening review?- Show helpqor Esc - Quit