How rlynx0/timetrack works
timetrack is a command-line time tracker. Users start and end named activities, then inspect recorded time or generate a configured export. The map also includes activity-catalog management and attendance/configuration support. The excerpts show command dispatch, log reconstruction, grouping, and export behavior; unsampled command and storage details are represented only where the tree or CLI declarations support them.
Main entry points: main.rs Command dispatch · generate.rs Generate export · entry_commands.rs Entry commands · show.rs Show activities
Components 17
CLI and commands
- Command options
src/cli.rs - Command dispatch
src/main.rs
Time tracking
- Entry commands
src/entry_commands.rs - Entry model
src/activity_entry.rs - Time ranges
src/activity_range.rs - Time entry log
src/files.rs
Catalog and configuration
- Activity commands
src/activity_commands.rs - Activity hierarchy
src/trackable.rs - User configuration
src/config.rs - Config setup
src/main.rs
Reports and export
- Show activities
src/entry_commands/show.rs - Activity grouping
src/activity_entry/activity_groupings.rs - Generate export
src/entry_commands/generate.rs - Format templates
src/format_string.rs
Other components
- Terminal user
- Terminal output
- Generated file
Connections 26
- Terminal user → Command options: provides options
- Command options → Command dispatch: parsed by
- Command dispatch → Entry commands: dispatches tracking
- Command dispatch → Show activities: dispatches show
- Command dispatch → Generate export: dispatches export
- Command dispatch → Activity commands: dispatches catalog
- Command dispatch → Config setup: dispatches setup
- Entry commands → Time entry log: reads and writes log
- Entry commands → Entry model: builds tracked activities
- Entry commands → Time ranges: filters by range
- Activity commands → Time entry log: reads activity file
- Activity commands → Activity hierarchy: builds hierarchy
- Entry commands → Activity hierarchy: resolves activity
- Command dispatch → User configuration: loads configuration
- Config setup → User configuration: creates configuration
- Show activities → Entry commands: requests activities
- Show activities → Activity grouping: groups activity data
- Show activities → User configuration: reads attendance labels
- Show activities → Terminal output: prints report
- Generate export → Entry commands: requests recent activities
- Generate export → Activity grouping: collapses activities
- Generate export → User configuration: reads export settings
- Generate export → Format templates: evaluates templates
- Generate export → Terminal output: prints or confirms
- Generate export → Generated file: writes export
- Terminal user → Terminal output: views output