Features
kasl provides comprehensive work activity tracking and task management capabilities. This guide covers all major features and their usage.
🔍 Activity Monitoring
Section titled “🔍 Activity Monitoring”Automatic Work Session Detection
Section titled “Automatic Work Session Detection”kasl automatically detects when you start and end your workday based on your activity patterns:
- Activity Threshold: Configurable duration of continuous activity required to start a workday
- Smart Detection: Distinguishes between brief interactions and actual work sessions
- Background Operation: Runs silently without interrupting your workflow
Break Detection
Section titled “Break Detection”Intelligent pause detection that adapts to your work patterns:
- Inactivity Threshold: Configurable time before a pause is detected
- Minimum Pause Duration: Only records breaks longer than the specified duration
- Automatic Resume: Detects when you return to work and resumes tracking
Configuration Options
Section titled “Configuration Options”{ "monitor": { "min_pause_duration": 20, // Minutes - minimum break to record "pause_threshold": 60, // Seconds - inactivity before pause "poll_interval": 500, // Milliseconds - activity check interval "activity_threshold": 30, // Seconds - activity before workday start "min_work_interval": 10 // Minutes - minimum work interval }}🎯 Productivity Optimization
Section titled “🎯 Productivity Optimization”Recording Missed Absences
Section titled “Recording Missed Absences”The monitor only sees keyboard and mouse, so an absence spent away from the machine leaves no trace. Manual pauses put it on the record:
- Explicit Times: You state when the absence began and how long it lasted
- Protection:
--keepexempts an entry from threshold filtering and merging - Conflict Prevention: An entry overlapping a recorded pause is rejected
# Record an hour-long lunch the monitor missedkasl pauses add --start 13:00 --minutes 60 --reason "lunch"
# Record a short absence that must survive the duration filterkasl pauses add --start 16:20 --minutes 10 --keepProductivity Metrics
Section titled “Productivity Metrics”Real-time productivity tracking and validation:
- Threshold Validation: Configurable minimum productivity for report submission
- Low-Productivity Warning: Flags a day that falls below the threshold
- Report Integration: Blocks low-productivity report submission
Available Work Time = Workday Length - Long PausesNet Work Time = Available Work Time - Short PausesProductivity = Net Work Time / Available Work Time * 100Long pauses - detected absences at or above min_pause_duration, plus every manual pause - leave the denominator entirely. Short pauses lower the numerator only.
Configuration
Section titled “Configuration”{ "productivity": { "min_productivity_threshold": 75.0, "workday_hours": 8.0, "min_workday_fraction_before_suggest": 0.5 }}📋 Task Management
Section titled “📋 Task Management”CRUD Operations
Section titled “CRUD Operations”Complete task lifecycle management:
# Create taskskasl task add --name "Review PR" --comment "Security review" --completeness 0
# Read taskskasl task listkasl task list --all # Show all tasks, not just today's
# Update taskskasl task edit 1 # Interactive editingkasl task edit # Pick several tasks to edit interactively
# Remove taskskasl task remove 1kasl task remove --today # Remove all today's tasksTask Templates
Section titled “Task Templates”Save frequently used tasks as reusable templates:
# Create a templatekasl template add --name "daily-standup"
# Use a templatekasl task add --from-templatekasl task add --template "daily-standup"Tagging System
Section titled “Tagging System”Organize tasks with custom tags and colors:
# Create tagskasl tag add "urgent" --color "red"kasl tag add "backend" --color "blue"
# Assign tags to taskskasl task add --name "Fix bug" --tags "urgent,backend"
# Filter by tagskasl task list --tag "urgent"Progress Tracking
Section titled “Progress Tracking”Track task completion with percentage-based progress:
- 0%: Not started
- 1-99%: In progress
- 100%: Completed
kasl task add --name "Feature implementation" --completeness 25kasl task edit 1 # Update progress interactively📊 Reporting & Analytics
Section titled “📊 Reporting & Analytics”Daily Reports
Section titled “Daily Reports”Comprehensive daily work summaries:
# View today's reportkasl report
# View yesterday's reportkasl report --last
# Submit report to configured APIkasl report --sendReport includes:
- Work intervals with precise timing
- Break periods and durations
- Task completion status
- Productivity metrics
- Total work hours
Monthly Summaries
Section titled “Monthly Summaries”Aggregated monthly statistics:
# View monthly summarykasl sum
# Submit monthly reportkasl sum --sendFeatures:
- Daily work hour totals
- Average daily hours
- Productivity trends
- Working day count
- Rest day integration
Productivity Metrics
Section titled “Productivity Metrics”Calculate and track productivity:
- Gross Time: Total time from start to end
- Net Time: Actual work time minus breaks
- Productivity Percentage: Net time / Gross time
- Break Analysis: Break frequency and duration patterns
Short Interval Filtering
Section titled “Short Interval Filtering”Automatically filter out brief work periods for cleaner reporting:
- Automatic Detection: Short intervals are filtered based on
min_work_intervalconfiguration - Display-Level Filtering: Original data remains intact in the database
- Consistent Behavior: Same filtering applies to both display and API submission
- User Notification: Information about filtered intervals is shown in reports
# Reports automatically filter short intervalskasl report
# Configuration controls the filtering threshold# (set via min_work_interval in monitor config)⚙️ Advanced Features
Section titled “⚙️ Advanced Features”Correcting the Record
Section titled “Correcting the Record”Record an absence the monitor missed, or remove a pause entered by mistake:
# Record an absence on a given datekasl pauses add --date 2026-08-07 --start 11:30 --minutes 45
# Keep a short absence that the duration filter would dropkasl pauses add --start 16:20 --minutes 10 --keep
# Remove a pause by idkasl pauses remove 42Features:
- Explicit times - nothing is inferred
- Overlapping entries are rejected
--keepexempts an entry from filtering and merging- Date-specific entries
Data Export
Section titled “Data Export”Export data in multiple formats:
# Export to CSVkasl export --format csv --output report.csv
# Export to JSONkasl export --format json --output data.json
# Export to Excelkasl export --format excel --output report.xlsx
# Export all datakasl export all --format jsonSupported formats:
- CSV: Universal compatibility
- JSON: Structured data
- Excel: Formatted reports with multiple sheets
Database Management
Section titled “Database Management”Safe database operations:
# View migration status (debug builds only)kasl migrations status
# View migration history (debug builds only)kasl migrations historyFeatures:
- Automatic schema migrations
- Safe database updates
- Migration history tracking
- Rollback capabilities (debug builds)
🔗 API Integrations
Section titled “🔗 API Integrations”GitLab Integration
Section titled “GitLab Integration”Import commits as completed tasks:
# Configure GitLabkasl init # Interactive setup
# Find tasks from GitLabkasl task findFeatures:
- Automatic commit import
- User activity tracking
- Repository-specific filtering
- Commit message parsing
Jira Integration
Section titled “Jira Integration”Import completed issues:
# Configure Jirakasl init # Interactive setup
# Find tasks from Jirakasl task findFeatures:
- Issue status tracking
- Automatic completion detection
- Custom field mapping
- Project-specific filtering
SiServer Integration
Section titled “SiServer Integration”Submit reports to internal systems:
# Configure SiServerkasl init # Interactive setup
# Submit daily reportkasl report --send
# Submit monthly reportkasl sum --sendFeatures:
- Secure authentication
- Report formatting
- Error handling
- Retry logic
🚀 System Integration
Section titled “🚀 System Integration”Autostart Support
Section titled “Autostart Support”Configure automatic startup:
# Enable autostartkasl autostart enable
# Check statuskasl autostart status
# Disable autostartkasl autostart disablePlatform support:
- Windows: Task Scheduler and Registry
- macOS: LaunchAgent (planned)
- Linux: systemd user service (planned)
Background Monitoring
Section titled “Background Monitoring”Silent background operation:
# Start background monitoringkasl watch
# Stop monitoringkasl watch --stop
# Check if runningkasl watch --statusFeatures:
- Daemon process management
- Automatic restart on failure
- Resource optimization
- Signal handling
Debug Logging
Section titled “Debug Logging”Comprehensive debugging capabilities:
# Enable debug modeKASL_DEBUG=1 kasl watch --foreground
# Use Rust loggingRUST_LOG=kasl=debug kasl report
# Trace level loggingRUST_LOG=kasl=trace kasl watchLog levels:
- Error: Critical issues
- Warn: Important warnings
- Info: General information
- Debug: Detailed debugging
- Trace: Maximum verbosity
📱 Cross-Platform Support
Section titled “📱 Cross-Platform Support”Operating Systems
Section titled “Operating Systems”- Windows 10+: Full native support
- macOS 10.15+: Full native support
- Linux: Full native support
Architecture Support
Section titled “Architecture Support”- x86_64: Primary target
- ARM64: Planned support
Installation Methods
Section titled “Installation Methods”- Binary releases: Pre-compiled executables
- Package managers: Platform-specific packages
- Source compilation: From Rust source code
🔒 Security Features
Section titled “🔒 Security Features”Data Protection
Section titled “Data Protection”- Local storage: All data stored locally
- Encrypted credentials: API tokens encrypted at rest
- Session management: Secure session handling
- Permission isolation: Minimal system permissions
Privacy
Section titled “Privacy”- No telemetry: No data sent without explicit consent
- Local processing: All analysis done locally
- Configurable sharing: Control over data export
- Audit trails: Complete operation logging
📈 Performance
Section titled “📈 Performance”Resource Usage
Section titled “Resource Usage”- Memory: ~50MB RAM
- CPU: Minimal background usage
- Storage: ~10MB application + data
- Network: Optional API calls only
Optimization
Section titled “Optimization”- Efficient polling: Configurable activity check intervals
- Database optimization: Indexed queries and transactions
- Memory management: Automatic cleanup and garbage collection
- Background processing: Non-blocking operations