Skip to content

Getting Started

This guide will help you get up and running with kasl quickly.

Install kasl using curl:

Terminal window
sh -c "$(curl -fsSL https://raw.githubusercontent.com/lacodda/kasl/main/tools/install.sh)"

Or using wget:

Terminal window
sh -c "$(wget https://raw.githubusercontent.com/lacodda/kasl/main/tools/install.sh -O -)"

Requirements:

  • Rust 1.70 or higher
  • Git
Terminal window
git clone https://github.com/lacodda/kasl.git
cd kasl
cargo build --release
cargo install --path .

Check that kasl is installed correctly:

Terminal window
kasl --version

Run the interactive configuration wizard:

Terminal window
kasl init

This will guide you through setting up:

  • Monitor settings (pause thresholds, activity detection)
  • API integrations (GitLab, Jira, SiServer)
  • Server configuration for report submission

Configuration files are stored in:

  • Windows: %LOCALAPPDATA%\lacodda\kasl\config.json
  • macOS: ~/Library/Application Support/lacodda/kasl/config.json
  • Linux: ~/.local/share/lacodda/kasl/config.json

Example configuration:

{
"monitor": {
"min_pause_duration": 20,
"pause_threshold": 60,
"poll_interval": 500,
"activity_threshold": 30,
"min_work_interval": 10
},
"si": {
"login": "your.email@company.com",
"auth_url": "https://auth.company.com",
"api_url": "https://api.company.com"
},
"gitlab": {
"access_token": "your-token",
"api_url": "https://gitlab.com"
},
"jira": {
"login": "your.email@company.com",
"api_url": "https://jira.company.com"
}
}

Begin tracking your work sessions:

Terminal window
# Start monitoring in the background
kasl watch
# Or run in foreground for debugging
kasl watch --foreground

Configure kasl to start automatically on system boot:

Terminal window
kasl autostart enable

Add a task to track your work:

Terminal window
kasl task add --name "Set up kasl" --completeness 100

Check your work summary:

Terminal window
kasl report
  1. Check yesterday’s report (if needed):

    Terminal window
    kasl report --last
  2. Create today’s tasks:

    Terminal window
    kasl task add --name "Code review" --completeness 0
    kasl task add --name "Team meeting" --completeness 0
  3. Start monitoring (if not already running):

    Terminal window
    kasl watch
  1. Update task progress:

    Terminal window
    kasl task edit 1 # Edit task by ID
  2. Add new tasks as needed:

    Terminal window
    kasl task add --name "Bug fix" --completeness 0
  3. View current status:

    Terminal window
    kasl task list # Show today's tasks
  1. View today’s report:

    Terminal window
    kasl report
  2. Submit report (if configured):

    Terminal window
    kasl report --send
  3. End workday manually (if needed):

    Terminal window
    kasl end
Terminal window
# Create a task
kasl task add --name "Task name" --comment "Description" --completeness 0
# List tasks
kasl task list
# Edit a task
kasl task edit 1
# Remove a task
kasl task remove 1
# Use templates
kasl task add --from-template
Terminal window
# Adjust work start time
kasl adjust --mode start --minutes 30
# Add a pause
kasl adjust --mode pause --minutes 15
# Adjust work end time
kasl adjust --mode end --minutes 20
Terminal window
# Export today's data
kasl export --format csv
# Export all data
kasl export all --format json
# Export to specific file
kasl export --output my_report.csv
Terminal window
# View monthly summary
kasl sum
# Submit monthly report
kasl sum --send
Terminal window
kasl watch --stop # Stop any running instances
kasl watch --foreground # Start in foreground to see logs

Enable debug logging:

Terminal window
KASL_DEBUG=1 kasl watch --foreground

If you need to start over:

Terminal window
kasl init --delete