A CLI productivity tool that roasts you for slacking off.
Project description
Guilt-3P
░██████ ░██░██ ░██ ░██████ ░█████████
░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██
░██ ░██ ░██ ░██░██ ░████████ ░██ ░██ ░██
░██ █████ ░██ ░██ ░██░██ ░██ ░█████ ░█████████
░██ ██ ░██ ░██ ░██░██ ░██ ░██ ░██
░██ ░███ ░██ ░███ ░██░██ ░██ ░██ ░██ ░██
░█████░█ ░█████░██ ░██░██ ░████ ░██████ ░██
Guilt 3P (is read as Guilt Trip)
The 3Ps stands for Petty Productivity Patrol or an old tamil meme Parama-Poi-Padi da Guilt-3P is a simple CLI system - By dev for devs - which roasts you when you get distracted. This makes you guilt trip instead of blocking webpages (no blocking only roasting)
🤡 Stop Being a Failure: A Detailed Guide
Do you have the attention span of a goldfish on espresso? Do you find yourself doom-scrolling on Youtube or Insta when you should be debugging that memory leak?
Welcome to Guilt-3P, the only productivity tool that doesn't "block" sites—because blocking is for cowards. I believe in Psychological Warfare.
🛠️ Features (or "Ways I hurt you")
- The Roaster-Speaker™: My system uses Text-to-Speech to literally yell at you. It won't stop until your self-esteem hits rock bottom. Imagine being roasted by a machine (that too in the default google voice). That should make you feel more than shameful 😂.
- The Hall of Shame: Every time you visit a "forbidden" site, we log it in a file called
HALL_OF_SHAME.txtright on your desktop. Perfect for when your parents, partner, or boss walk by. - Aggressive Context Switching: Watching YouTube? BAM. Guilt-3P will forcefully teleport your VS Code or Terminal to the front. You can run, but you can't hide from your unfinished PRs.
- The Nag Engine: Constant notifications that remind you how disappointed your ancestors are in your lack of focus.
🍱 The "Secret Sauce" (Data)
We have curated lists of:
forbidden.py: Sites that trigger the roast (your digital sins).roasts.py: High-quality, artisanal insults crafted for maximum emotional damage.nagging.py: Small pokes to keep you awake.praises.py: Rare occurrences when you actually do work (don't get used to it, you're still a slacker).
🚀 How to start your misery (For local running)
- Clone :
git clone https://github.com/Astrasv/Guilt-3Pandcd Guilt-3P - Setup: Install dependencies using
uv sync. - Ignition: Run the main script:
python tracker.py. - The Test: Open a browser and add the
src/guilt-3p/asset/extensionsfolder as a extention. - The Result: Cry as your computer tells you how useless you are while forcing you back to your terminal.
⚠️ Disclaimer
This tool is not responsible for:
- Broken monitors.
- Loss of friends (because you're always "working" but actually being roasted).
- The fact that you still haven't finished that side project from 2022.
Installation (as python package)
pip install -e .
Setup
-
Initialize Config: Create a customization file for your own roasts/forbidden sites.
guilt-3p init-configThis creates a
config.json(location shown in output) where you can add:custom_roasts: List of strings.custom_forbidden: List of domain keywords (e.g., "twitter").custom_browsers: List of browser process names.
-
Install Extension: The browser extension is required to track URLs.
guilt-3p setup-extensionFollow the on-screen instructions to load the unpacked extension in Chrome/Edge/Brave.
Usage
Standard CLI Mode
Runs the tracker with console output.
guilt-3p run
Commands while running:
break 5: Take a 5-minute break.quit: Exit.
Customization (IN BETA MIGHT BREAK)
You can edit config.json to personalize your experience.
Example config.json:
{
"general": {
"extend_defaults": true
},
"custom_roasts": [
"Why are you watching cat videos?",
"Your code is crying."
],
"custom_forbidden": [
"reddit",
"youtube"
]
}
Git😉 back to work. Adios!!!
🐳 Docker Support
You can run Guilt-3P using Docker, but be aware of some limitations due to the containerized environment (headless nature).
Limitations
- Window Tracking: By default, Docker containers cannot see your host's active windows. The "distraction detection" based on window titles might not work without advanced configuration (mounting X11 sockets, etc.).
- Audio: Text-to-speech audio might require passing audio devices to the container (
--device /dev/snd). - Window Switching: The feature to force-switch windows (bring VS Code to front) will not work from inside a standard container.
Building the Image
docker build -t guilt-3p .
Running the Container
To run the application (server and basic logic):
docker run -p 5000:5000 --name guilt-3p-app guilt-3p
Running Helper Commands
To run setup commands or initialize config:
docker run --rm guilt-3p setup-extension
docker run --rm -v $(pwd):/app/config guilt-3p init-config
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file guilt_3p-0.1.0.tar.gz.
File metadata
- Download URL: guilt_3p-0.1.0.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5d525a8dd14dc8c7ce0c0a0399eaaa0916fdf708bfc71c9fd8b80ad56034450
|
|
| MD5 |
80b3aa4714c6721d8ffc81c93b79fcfa
|
|
| BLAKE2b-256 |
caa998d60b57529af215bffa721783fdab98e4b383e342b3e3d92dd0ad27fc06
|
File details
Details for the file guilt_3p-0.1.0-py3-none-any.whl.
File metadata
- Download URL: guilt_3p-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
016dde52753ab53755a27c736a0455e412454a903a0afcf83927333c20e047de
|
|
| MD5 |
213cc0737b51bd33c0d5e887bdd43a75
|
|
| BLAKE2b-256 |
f00277e5a1adea33ad1768923295b53c5b94f2dd2ed1f0474c71e51881633ca5
|