track/lib.rs
1//! # Track - Git Worktree-Based Task Management CLI
2//!
3//! `track` is a command-line tool for managing development tasks and TODOs using Git worktrees.
4//! It helps developers organize their work by creating isolated Git worktrees for each task,
5//! managing TODOs, tracking progress, and maintaining context through notes (scraps) and links.
6//!
7//! ## Features
8//!
9//! - **Task Management**: Create, list, switch between, and archive development tasks
10//! - **TODO Tracking**: Add, update, and complete TODOs with optional Git worktree creation
11//! - **Git Worktree Integration**: Automatically create and manage Git worktrees for isolated work
12//! - **Repository Linking**: Associate multiple Git repositories with tasks
13//! - **Context Preservation**: Keep work notes (scraps) and relevant links with each task
14//! - **Sync Operations**: Synchronize repositories and set up task branches across worktrees
15//!
16//! ## Quick Start
17//!
18//! ```bash
19//! # Create a new task
20//! track new "Implement feature X" --description "Add new feature"
21//!
22//! # Add a TODO with automatic worktree creation
23//! track todo add "Write tests" --worktree
24//!
25//! # Sync repositories and create worktrees
26//! track sync
27//!
28//! # View current task status
29//! track status
30//!
31//! # Complete a TODO (automatically merges worktree)
32//! track todo done 1
33//! ```
34//!
35//! ## Modules
36//!
37//! - [`cli`]: Command-line interface definitions and handlers
38//! - [`db`]: Database initialization and management
39//! - [`models`]: Data models for tasks, TODOs, links, and scraps
40//! - [`services`]: Business logic for task, TODO, repository, and worktree operations
41//! - [`use_cases`]: Multi-step workflows with explicit transaction boundaries
42//! - [`utils`]: Utility functions and error types
43//! - [`webui`]: Web-based user interface with real-time updates
44
45// Re-export modules for testing and external use
46pub mod cli;
47pub mod db;
48pub mod models;
49pub mod services;
50pub mod use_cases;
51pub mod utils;
52pub mod webui;