shitlint


Nameshitlint JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/iteebz/shitlint
SummaryYour code is shit. Here's why.
upload_time2025-07-16 18:20:29
maintainerNone
docs_urlNone
authorTyson Chan
requires_python<4.0,>=3.10
licenseMIT
keywords shitlint shit lint your code is bad and you should feel bad brutal honest roast
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ShitLint 💩🔍

**Your code is shit. Here's why.**

ShitLint is the AI code reviewer that cuts through the fluff and calls out the architectural dumpster fires hiding in your codebase. No sugar, no fluff — just the cold, hard truth.

## Why ShitLint Exists

Ever wonder why your "simple feature" took 3 weeks to implement? It's because your code is a tangled mess of:
- Copy-pasted functions everywhere (DRY? Never heard of it)
- 200+ line files of spaghetti bullshit
- Abstractions that abstract nothing
- Imports that look like some shat on your keyboard

Traditional linters catch typos. ShitLint catches **architectural bullshit**.

## What ShitLint Actually Does

```bash
$ shitlint .
```

```
⏺ FLAGGED BULLSHIT:

🚨 DRY VIOLATION:
- user_service.py:45-67 and admin_service.py:12-34 are literally the same function
- Did you copy-paste this? Be honest.

🚨 GIANT FILE ALERT:
- database.py:847 lines - This isn't a file, it's a novel
- Split this monstrosity before it gains sentience

🚨 BULLSHIT ABSTRACTION:
- utils.py:23 - A function called "doStuff" that does 47 different things
- Name your functions like a human, not a caffeinated squirrel

🚨 IMPORT CEREMONY:
- 23 imports for a 15-line file
- This isn't dependency injection, it's dependency addiction

VERDICT: Your code looks like it was written during a earthquake
```

## Installation

```bash
npm install -g shitlint
# or
pip install shitlint
# or just clone this repo and suffer with the rest of us
```

## Usage

```bash
# Scan current directory
shitlint .

# Scan specific file
shitlint path/to/your/disaster.py

# Get roasted in real-time
shitlint --watch ./src

# Extra brutal mode (not recommended for sensitive developers)
shitlint --brutal ./src
```

## Configuration

Create a `.shitlint.json` file to customize how brutally honest you want the feedback:

```json
{
  "brutality": "gordon-ramsay",
  "roast_level": "professional-chef",
  "ignore_patterns": ["legacy/*", "vendor/*"],
  "custom_insults": true
}
```

## Language Support

- Python ✅ (your FastAPI spaghetti)
- JavaScript ✅ (your React component soup)
- TypeScript ✅ (your over-engineered type gymnastics)
- Go ✅ (your "simple" microservice that imports 47 packages)
- More languages coming (unfortunately)

## FAQ

**Q: Is this just a joke?**
A: No. Your code genuinely needs help.

**Q: Why so aggressive?**
A: Because your linter has been lying to you. Someone has to tell the truth.

**Q: Can I disable the roasting?**
A: You can, but then you're just running a regular linter. Where's the fun in that?

**Q: Will this hurt my feelings?**
A: Probably. But your code will be better for it.

## Contributing

Found a new way code can be terrible? We'd love to hear about it.

1. Fork this repo
2. Add your horror stories to the detection engine
3. Submit a PR
4. Watch other developers suffer

## Roadmap

- [ ] Integration with popular IDEs (so you can be roasted in real-time)
- [ ] Team dashboard (shame your colleagues publicly)
- [ ] AI-generated refactoring suggestions (because apparently you need help)
- [ ] Slack integration (get roasted in meetings)
- [ ] Custom personality modes (Gordon Ramsay, Disappointed Parent, etc.)

## License

MIT - Because even terrible code deserves freedom

---

**Remember: The first step to writing better code is admitting your current code is shit.**

*Built with ❤️ and a concerning amount of coffee by [@iteebz](https://github.com/iteebz)*

---

⭐ **Star this repo if you're brave enough to face the truth about your 💩 code**

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/iteebz/shitlint",
    "name": "shitlint",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "shitlint, shit, lint, your, code, is, bad, and, you, should, feel, bad, brutal, honest, roast",
    "author": "Tyson Chan",
    "author_email": "tyson.chan@proton.me",
    "download_url": "https://files.pythonhosted.org/packages/74/fe/f2d77f211e4efda5c4fd2d5df5efb85d86abbae41ec3b152148f2835000b/shitlint-0.0.1.tar.gz",
    "platform": null,
    "description": "# ShitLint \ud83d\udca9\ud83d\udd0d\n\n**Your code is shit. Here's why.**\n\nShitLint is the AI code reviewer that cuts through the fluff and calls out the architectural dumpster fires hiding in your codebase. No sugar, no fluff \u2014 just the cold, hard truth.\n\n## Why ShitLint Exists\n\nEver wonder why your \"simple feature\" took 3 weeks to implement? It's because your code is a tangled mess of:\n- Copy-pasted functions everywhere (DRY? Never heard of it)\n- 200+ line files of spaghetti bullshit\n- Abstractions that abstract nothing\n- Imports that look like some shat on your keyboard\n\nTraditional linters catch typos. ShitLint catches **architectural bullshit**.\n\n## What ShitLint Actually Does\n\n```bash\n$ shitlint .\n```\n\n```\n\u23fa FLAGGED BULLSHIT:\n\n\ud83d\udea8 DRY VIOLATION:\n- user_service.py:45-67 and admin_service.py:12-34 are literally the same function\n- Did you copy-paste this? Be honest.\n\n\ud83d\udea8 GIANT FILE ALERT:\n- database.py:847 lines - This isn't a file, it's a novel\n- Split this monstrosity before it gains sentience\n\n\ud83d\udea8 BULLSHIT ABSTRACTION:\n- utils.py:23 - A function called \"doStuff\" that does 47 different things\n- Name your functions like a human, not a caffeinated squirrel\n\n\ud83d\udea8 IMPORT CEREMONY:\n- 23 imports for a 15-line file\n- This isn't dependency injection, it's dependency addiction\n\nVERDICT: Your code looks like it was written during a earthquake\n```\n\n## Installation\n\n```bash\nnpm install -g shitlint\n# or\npip install shitlint\n# or just clone this repo and suffer with the rest of us\n```\n\n## Usage\n\n```bash\n# Scan current directory\nshitlint .\n\n# Scan specific file\nshitlint path/to/your/disaster.py\n\n# Get roasted in real-time\nshitlint --watch ./src\n\n# Extra brutal mode (not recommended for sensitive developers)\nshitlint --brutal ./src\n```\n\n## Configuration\n\nCreate a `.shitlint.json` file to customize how brutally honest you want the feedback:\n\n```json\n{\n  \"brutality\": \"gordon-ramsay\",\n  \"roast_level\": \"professional-chef\",\n  \"ignore_patterns\": [\"legacy/*\", \"vendor/*\"],\n  \"custom_insults\": true\n}\n```\n\n## Language Support\n\n- Python \u2705 (your FastAPI spaghetti)\n- JavaScript \u2705 (your React component soup)\n- TypeScript \u2705 (your over-engineered type gymnastics)\n- Go \u2705 (your \"simple\" microservice that imports 47 packages)\n- More languages coming (unfortunately)\n\n## FAQ\n\n**Q: Is this just a joke?**\nA: No. Your code genuinely needs help.\n\n**Q: Why so aggressive?**\nA: Because your linter has been lying to you. Someone has to tell the truth.\n\n**Q: Can I disable the roasting?**\nA: You can, but then you're just running a regular linter. Where's the fun in that?\n\n**Q: Will this hurt my feelings?**\nA: Probably. But your code will be better for it.\n\n## Contributing\n\nFound a new way code can be terrible? We'd love to hear about it.\n\n1. Fork this repo\n2. Add your horror stories to the detection engine\n3. Submit a PR\n4. Watch other developers suffer\n\n## Roadmap\n\n- [ ] Integration with popular IDEs (so you can be roasted in real-time)\n- [ ] Team dashboard (shame your colleagues publicly)\n- [ ] AI-generated refactoring suggestions (because apparently you need help)\n- [ ] Slack integration (get roasted in meetings)\n- [ ] Custom personality modes (Gordon Ramsay, Disappointed Parent, etc.)\n\n## License\n\nMIT - Because even terrible code deserves freedom\n\n---\n\n**Remember: The first step to writing better code is admitting your current code is shit.**\n\n*Built with \u2764\ufe0f and a concerning amount of coffee by [@iteebz](https://github.com/iteebz)*\n\n---\n\n\u2b50 **Star this repo if you're brave enough to face the truth about your \ud83d\udca9 code**\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Your code is shit. Here's why.",
    "version": "0.0.1",
    "project_urls": {
        "Homepage": "https://github.com/iteebz/shitlint",
        "Repository": "https://github.com/iteebz/shitlint"
    },
    "split_keywords": [
        "shitlint",
        " shit",
        " lint",
        " your",
        " code",
        " is",
        " bad",
        " and",
        " you",
        " should",
        " feel",
        " bad",
        " brutal",
        " honest",
        " roast"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "186e5df25304569be9d9e96e4321926229303a83ade19c1c08ea5205e39c6c6e",
                "md5": "4ec7428de0326360940859e0228d79ad",
                "sha256": "2e8a75fae841dd34164259e60663d0acb5d48961c75885ca470dd99f948f0059"
            },
            "downloads": -1,
            "filename": "shitlint-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4ec7428de0326360940859e0228d79ad",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 4826,
            "upload_time": "2025-07-16T18:20:28",
            "upload_time_iso_8601": "2025-07-16T18:20:28.397188Z",
            "url": "https://files.pythonhosted.org/packages/18/6e/5df25304569be9d9e96e4321926229303a83ade19c1c08ea5205e39c6c6e/shitlint-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "74fef2d77f211e4efda5c4fd2d5df5efb85d86abbae41ec3b152148f2835000b",
                "md5": "7dc871f1d4df499773a1b44deeace29c",
                "sha256": "13a28370e8c16137c7b15514e6852930cbf1ee6d3f269800b8b27f27a7bdd2b7"
            },
            "downloads": -1,
            "filename": "shitlint-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "7dc871f1d4df499773a1b44deeace29c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 4101,
            "upload_time": "2025-07-16T18:20:29",
            "upload_time_iso_8601": "2025-07-16T18:20:29.816489Z",
            "url": "https://files.pythonhosted.org/packages/74/fe/f2d77f211e4efda5c4fd2d5df5efb85d86abbae41ec3b152148f2835000b/shitlint-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-16 18:20:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "iteebz",
    "github_project": "shitlint",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "shitlint"
}
        
Elapsed time: 0.62176s