A command-line productivity app for developers who prefer ctrl+c over clicking buttons. Because who needs GUIs when you've got 256 colors of terminal glory?
-
Project Management: Create and organize your projects (both real and imaginary)
-
Task Tracking: Keep tabs on what you're avoiding
-
Focus Timer: Pomodoro technique without the tomato
-
Data Persistence: Your procrastination patterns saved in JSON for future analysis
-
Audible Alerts: Annoying beeps to match your internal panic
-
C++17 compatible compiler
-
nlohmann/json library
sudo apt-get install nlohmann-json3-dev g++
git clone https://github.com/Tacit1/focustimer.git
cd focustimer
g++ -std=c++17 main.cpp Project.cpp Task.cpp FileManager.cpp -o focustimer -lstdc++fs
brew install nlohmann-json
git clone https://github.com/yourrepo/focustimer.git
cd focustimer
g++ -std=c++17 main.cpp Project.cpp Task.cpp FileManager.cpp -o focustimer
pacman -S mingw-w64-x86_64-nlohmann-json
git clone https://github.com/yourrepo/focustimer.git
cd focustimer
g++ -std=c++17 main.cpp Project.cpp Task.cpp FileManager.cpp -o focustimer.exe
Run the program:
./focustimer
Main Menu Options:
1. View existing projects
2. Add new project
3. Select project
4. Exit
Project View Options:
1. List all tasks
2. Add task
3. Choose task for focus session
4. Back to main menu
Focus Session Flow:
- Select task
- Enter focus duration (minutes)
- Watch the countdown like it's New Year's Eve
- Hear the beeps of accomplishment (or despair)
All your projects and tasks are automatically saved in:
/projects_data/projects.json
Because nothing says "I'm organized" like a JSON file.
Q: Why CLI instead of a GUI?
A: Because real developers compile their productivity.
Q: The beep doesn't work on my system!
A: Congratulations! You've discovered why GUIs exist. Use a terminal that supports sounds (ASCII Bell) like iterm2 on macOS.
Q: Can I use this to time my coffee breaks?
A: Absolutely. We support all forms of productive procrastination.
-
Occasionally makes you feel guilty about your actual productivity
-
Terminal color schemes may reveal your questionable aesthetic choices
-
No dark mode (because your terminal already has one)
-
Fork it (because you're avoiding real work anyway)
-
Create your feature branch (
git checkout -b feature/amazing-feature) -
Commit your changes (
git commit -am 'Add some amazing feature') -
Push to the branch (
git push origin feature/amazing-feature) -
Open a Pull Request (and then go back to procrastinating)
MIT License - Do whatever you want, just don't blame us when you spend more time customizing this than actually working.