Skip to main content

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.txt right 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)

  1. Clone : git clone https://github.com/Astrasv/Guilt-3P and cd Guilt-3P
  2. Setup: Install dependencies using uv sync.
  3. Ignition: Run the main script: python tracker.py.
  4. The Test: Open a browser and add the src/guilt-3p/asset/extensions folder as a extention.
  5. 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

  1. Initialize Config: Create a customization file for your own roasts/forbidden sites.

    guilt-3p init-config
    

    This 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.
  2. Install Extension: The browser extension is required to track URLs.

    guilt-3p setup-extension
    

    Follow 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guilt_3p-0.1.0.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

guilt_3p-0.1.0-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

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

Hashes for guilt_3p-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c5d525a8dd14dc8c7ce0c0a0399eaaa0916fdf708bfc71c9fd8b80ad56034450
MD5 80b3aa4714c6721d8ffc81c93b79fcfa
BLAKE2b-256 caa998d60b57529af215bffa721783fdab98e4b383e342b3e3d92dd0ad27fc06

See more details on using hashes here.

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

Hashes for guilt_3p-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 016dde52753ab53755a27c736a0455e412454a903a0afcf83927333c20e047de
MD5 213cc0737b51bd33c0d5e887bdd43a75
BLAKE2b-256 f00277e5a1adea33ad1768923295b53c5b94f2dd2ed1f0474c71e51881633ca5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page