A powerful, secure, and user-friendly command-line interface for time tracking with Clockify. Track your time, manage projects, and generate reportsβall from your terminal.
- β‘ Fast & Lightweight: Start tracking in milliseconds
- π Secure: API keys stored in OS keychain/credential manager
- π Rich Reports: Daily, weekly, monthly summaries with export options
- π― Project Management: Create and manage projects, tasks, and clients
- π Cross-Platform: Works on macOS, Linux, and Windows
- π± Offline Support: Cache data for offline viewing
- π¨ Beautiful Output: Colorized, formatted tables and status indicators
npm install -g clockify-clibrew install clockify-cliDownload pre-built binaries from GitHub Releases.
-
Get your API key from Clockify Settings
-
Login and configure:
clockify auth login
-
Start tracking time:
clockify start -p "My Project" -d "Working on awesome features"
-
Check your status:
clockify status
-
Stop tracking:
clockify stop
# Configure API key
clockify auth login --key YOUR_API_KEY
# Check authentication status
clockify auth status
# Remove credentials
clockify auth logout# Start timer
clockify start --project "Web Development" --task "Frontend" --description "Building UI components"
# Quick start (with aliases)
clockify start -p "Web Dev" -t "Frontend" -d "Building UI"
# Stop current timer
clockify stop
# Pause/resume timer
clockify pause
clockify resume
# Check current status
clockify status# Add time entry with duration
clockify add 2h30m -p "Project" -d "Past work"
# Add with specific start/end times
clockify add 1h --start-time "09:00" --end-time "10:00"
# Edit existing entry
clockify edit ENTRY_ID --description "Updated description"
# Delete entry
clockify delete ENTRY_ID# List projects
clockify projects list
# Create new project
clockify projects create "New Project" --client "Client Name"
# List tasks for project
clockify tasks list "Project Name"
# Create task
clockify tasks create "New Task" --project "Project Name"# Today's summary
clockify report today
# This week's summary
clockify report week
# Custom date range
clockify report custom --start 2023-10-01 --end 2023-10-31
# Export data
clockify export csv --start 2023-10-01 --output timesheet.csv# Show current config
clockify config show
# Set default project
clockify config set defaultProject "My Main Project"
# Switch workspace
clockify workspace switch "Other Workspace"This project takes security seriously:
- π Secure Credential Storage: API keys stored in OS keychain/credential manager
- π‘οΈ Input Validation: All inputs sanitized and validated
- π‘ HTTPS Only: All API communications over encrypted connections
- π Dependency Scanning: Regular security audits with Snyk and npm audit
- π« No Secrets in Code: Zero hardcoded credentials or sensitive data
- Never share your API key in code or commit it to version control
- Use environment variables for CI/CD:
CLOCKIFY_API_KEY=your_key - Regularly rotate your API keys in Clockify settings
- Report security issues via our security policy
# Morning: Start work
clockify start -p "Client Project" -d "Daily standup and planning"
# Switch tasks
clockify stop
clockify start -p "Client Project" -t "Development" -d "Implementing user authentication"
# Lunch break (automatic pause)
clockify pause
# Resume after lunch
clockify resume
# End of day
clockify stop
clockify report today# Generate weekly report
clockify report week --format table
# Export for timesheet
clockify export csv --start $(date -d 'last monday' +%Y-%m-%d) --output weekly-timesheet.csv
# Project breakdown
clockify report custom --start $(date -d 'last monday' +%Y-%m-%d) --project "Main Project"- Node.js 16+
- npm 7+
# Clone repository
git clone https://github.com/yourusername/clockify-cli.git
cd clockify-cli
# Install dependencies
npm install
# Build project
npm run build
# Run in development
npm run dev -- auth status# Run tests
npm test
# Watch mode
npm run test:watch
# Coverage report
npm run test:coverage
# Security audit
npm run security- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Run security checks:
npm run security - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
Please read our Contributing Guidelines and Code of Conduct.
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Full documentation
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Security: Security Policy
- Clockify for providing an excellent time tracking API
- Commander.js for CLI framework
- All contributors and users who make this project better
Made with β€οΈ for developers who value their time