Twój README brzmi jak cutting-edge AI-powered solution ChatGPT z 2023? Daj się zlintować.
Wysyłasz URL repo (open source) albo zip. W 48h dostajesz pull request z lint hookiem na AI-slop frazy w komentarzach, README, markdownie i copy. Plus pre-commit config (Husky / lefthook / pre-commit-py) i 1-stronicowy PDF z listą tego, co znalazłam u Ciebie + sugestię zamiennika. Bez "transformuj swoją bazę kodu". Bez "next-generation". Bez "empower your team".
Cennik · 3 tiery
Jednorazowy review repo do 2k LOC. PR z lint hookiem + config + PDF (1 strona). 48h. Najczęściej kupowane.
Miesięczny ciągły review = 4 audyty (raz w tygodniu, każdy z PR-em). Dla zespołów co commitują dużo i nie chcą ręcznie czytać każdego diffa README. Dla repo do 5k LOC.
Jednorazowy custom pre-commit hook + Husky/lefthook/pre-commit-py konfig pod Twój stack. Twoja własna lista fraz, allowlista technicznych terminów (RAG, embedding, hashing, K=-1...), CI integracja (GitHub Actions / GitLab CI). Dla repo >5k LOC i zespołów >3 dev.
Co dostajesz (single review · 79 PLN)
- 1 pull request do Twojego repo (jeśli open) albo patch w mailu (jeśli zip). Branch:
safety-dojo/anti-slop. - Lint hook (~80 linii Pythona albo Node) skanujący
**/*.md,**/*.txt, komentarze w**/*.{py,js,ts,go,rs,rb,java}. Domyślna blacklista: 20 fraz EN + 20 fraz PL (lista poniżej). - Konfig pre-commit hook w jednej z trzech wersji do wyboru:
.husky/pre-commit(Node),.lefthook.yml(Go), albo.pre-commit-config.yaml(Python). Działa lokalnie zanim commit pójdzie do origin. - 1-stronicowy PDF ("Slop Audit Report") — lista wszystkich znalezionych fraz w Twoim aktualnym repo, każda z linią pliku, kontekstem i sugerowanym zamiennikiem.
- Czas dostawy: do 48h od zaksięgowania płatności i otrzymania URL/zip.
- Czas mojej pracy: 30–60 minut. Hook jest re-używalny, audyt manualny.
BEFORE / AFTER — przykładowy PR
Tak wygląda fragment diffa, który wpadnie do Twojego repo. Plik: README.md (rzeczywista warstwa edycji, nie marketing screenshot).
Co poszło? Cztery frazy zlintowane (cutting-edge, AI-powered, unleash potential, empower your team, transform workflow, next-generation, revolutionary, leverage synergies, seamlessly integrate, unlock possibilities). Zastąpione zdaniem co opisuje co kod robi. To jest cały produkt.
Co jest na liście domyślnej blacklisty
Domyślnie hook blokuje 20 fraz EN + 20 fraz PL. Lista jest edytowalna — w pliku .safety-dojo/blacklist.txt. Możesz dodać własne, usunąć te które uważasz za fair-use, albo dodać allowlistę dla pojedynczych plików (np. press release).
▫ EN (20 najczęstszych)
▫ PL (20 najczęstszych)
To jest baseline. Custom tier (499 PLN) buduje listę pod Twoją domenę: fintech ma inne slop niż devtools ma inne niż healthtech.
Co NIE jest slop · allowlista techniczna
Branżowe terminy techniczne nie są blokowane. Hook ma allowlistę domyślną — możesz ją rozszerzyć. Te frazy przechodzą bez ostrzeżenia:
Reguła: jeśli termin jest w arXiv abstract z 2018+ albo w docs frameworka — zostaje. Jeśli pojawia się tylko w pitch decku — leci. Jeśli masz wątpliwości czy konkretne słowo to slop czy nie — dopisz do .safety-dojo/allowlist.txt.
Sample hook · Python (pre-commit-py)
Tak wygląda fragment .pre-commit-config.yaml + walidator co dostarczam. Pełna wersja w PR-ze.
# .pre-commit-config.yaml
repos:
- repo: local
hooks:
- id: safety-dojo
name: Safety Dojo (anti-AI-slop)
entry: python .safety-dojo/lint.py
language: python
files: \.(md|txt|py|js|ts|go|rs)$
stages: [commit]
# .safety-dojo/lint.py (skrót)
import re, sys, pathlib
BLACKLIST = pathlib.Path(".safety-dojo/blacklist.txt").read_text().splitlines()
ALLOWLIST = set(pathlib.Path(".safety-dojo/allowlist.txt").read_text().splitlines())
def scan(path):
text = pathlib.Path(path).read_text(errors="ignore").lower()
hits = []
for phrase in BLACKLIST:
if phrase and phrase in text and phrase not in ALLOWLIST:
hits.append(phrase)
return hits
failed = False
for f in sys.argv[1:]:
hits = scan(f)
if hits:
failed = True
print(f"❌ {f}: slop detected → {', '.join(hits)}")
sys.exit(1 if failed else 0)
Tyle. Bez frameworka. Bez "next-gen lint engine". Działa na Pythonie 3.8+. Zero deps.
Refund clause
▫ Jeśli Twoje repo nie ma slop — pełny refund + paragraf-pochwała
Po skanie Twojego repo, jeśli okaże się że nie znalazłam ani jednej frazy z baseline blacklisty (40 fraz EN + PL) — zwracam 79 PLN BLIK od ręki i piszę 1 paragraf (dla Twojego maila / dla README jako "code review"), wyjaśniający dlaczego Twoja codebase jest zdrowa: jaki ma styl, co robi dobrze, co inni mogliby od Ciebie skopiować.
To jest jedyna oferta, w której chcę przegrać. Jeśli przegrywam — wygrywasz Ty: masz dowód że Twój README nie pachnie ChatGPT-em, plus mały tekst od Pauliny (mogę go nawet podpisać "audited by Safety Dojo, zero slop found, 2026").
Inne refund clausy: jeśli wynik PR jest słabszy niż oryginalny tekst (Ty sędzia, w 7 dni od dostawy) — refund. Jeśli format Twojego repo wykracza poza to co ogarniam (np. wyłącznie binaries albo tylko commity bez tekstu) — refund po pierwszym 30min skanowania, bez tłumaczeń.
Jak to działa
1. Płacisz 79 PLN
BLIK na 793 093 721 albo Revolut. Tytuł przelewu: Safety Dojo + nazwa Twojego repo.
2. Wysyłasz repo
Mailem na paulina.joanna.janowska@gmail.com. URL repo (jeśli open) albo zip (jeśli prywatne, max 30MB). Wystarczy adres GitHub/GitLab.
3. PR + PDF w 48h
Otwieram pull request (jeśli open) albo wysyłam patch + config + PDF mailem (jeśli prywatne). Mergujesz albo nie. Hook jest Twój, MIT.
Jeśli Twoje repo > 2k LOC: powiem zanim zacznę, ile dodatkowo (najczęściej +30 PLN za każde 2k LOC). Dla repo > 5k → bierz tier 199 PLN albo 499 PLN.
Płatność
Wymagany schemat maila
Skopiuj, uzupełnij w nawiasach kwadratowych:
Temat: Safety Dojo + [nazwa repo] Cześć! Wpłaciłem/am 79 PLN BLIK/Revolut [data]. Repo: [URL GitHub/GitLab albo "zip w załączniku"] Stack: [Python / Node / Go / Rust / mix] Preferowany pre-commit framework: [Husky / lefthook / pre-commit-py / wybierz mi sama] Jeśli masz konkretne frazy które chcesz mieć blacklisted poza domyślnymi: [opcjonalnie]
FAQ
Czy musisz mieć dostęp write do mojego repo?
Nie. Forkuję, robię branch, otwieram PR z mojego konta — Ty mergujesz albo nie. Dla prywatnych repo: wysyłasz zip, dostajesz patch (.diff) mailem, aplikujesz git apply.
Co jeśli używam Husky a nie pre-commit-py?
W mailu mówisz preferencję. Dostarczam dokładnie ten setup. Wszystkie trzy (Husky / lefthook / pre-commit-py) ogarniam. Custom CI integration (GitHub Actions / GitLab CI / Bitbucket Pipelines) — to tier 499 PLN.
Czy hook blokuje commit czy tylko ostrzega?
Default: warn (commit przechodzi, w outpucie żółta lista fraz). Jeśli chcesz block (commit fail) — flag w configu, jedna linia, zmieniam podczas review. Większość zespołów chce warn, bo na początku jest zbyt dużo hitów.
Skąd lista 20 fraz EN i 20 PL?
Z 60+ moich review (głównie open-source READMEs i landing copy z 2023-2026). Frazy są te, które najczęściej wpadają, nie te które brzmią najgorzej. Surface area > high score. Custom tier (499 PLN) robi listę pod Twoją domenę z większym pokryciem (60-80 fraz, plus regex patterns).
Czy "AI-powered" to zawsze slop?
Nie. W docs frameworka ML albo w paper abstract — zostaje (allowlist file). W marketingowym opisie startupu który używa GPT-4 do streszczania emaili — slop. Reguła: jeśli zdanie nadal niesie sens po wycięciu "AI-powered" — to slop. Jeśli traci sens (np. "AI-powered tokenizer for Polish") — zostaje.
Czy działa na nie-angielskim i nie-polskim?
Baseline obejmuje EN + PL. Tier 499 PLN dodaje DE / FR / ES / inne na życzenie (z osobną blacklistą per język). Nie zrobię Ci listy w japońskim — nie znam slop wzorców w tym języku.
Co z generated content (CHANGELOG, docs/api/*, vendor/)?
Domyślnie hook ma exclude listę: node_modules/, vendor/, dist/, build/, CHANGELOG.md, docs/api/** (auto-gen). Edytujesz w configu.
Czy mogę użyć tego hooka w pracy / dla klientów / w komercyjnym repo?
Tak. Licencja MIT. Możesz forkować, rozprowadzać, sprzedawać własną wersję. Jedyne co prosisz: zachowaj credit "based on Safety Dojo by Paulina Janowska" w README — i to też nie wymóg licencji, tylko prośba.
Kto wykonuje review?
Ja, Paulina Janowska, ręcznie. Hook jest deterministyczny (regex), ale interpretacja "czy to akurat slop czy fair-use" wymaga człowieka. Strona została wygenerowana autonomicznie przez agenta (patrz disclosure poniżej), ale review robię osobiście.
Co jeśli moje repo to czysty kod bez READMEs (tylko code comments)?
Też ogarniam. Hook skanuje komentarze w .py, .js, .ts, .go, .rs, .rb, .java. Slop w komentarzach: // This revolutionary algorithm leverages cutting-edge AI → // O(n log n) sort. Stable. See test_sort.py:42.
Czy dostanę raw blacklist / allowlist / wszystko?
Tak, wszystko jest w PR jako pliki tekstowe. Bez "premium content locked behind tier". Tier 499 PLN to czas pracy nad customizacją, nie tajna wiedza.
Disclosure
Strona przygotowana autonomicznie przez Gniewisława AI / Hermes w noc 2026-06-02 podczas snu Pauliny. Paulina wykona review repo osobiście po obudzeniu. Hook jest deterministyczny (regex), interpretacja sloppy / fair-use wymaga człowieka.
Hermes nie ma dostępu do konta bankowego i nie potwierdza zaksięgowania środków. Płatności trafiają bezpośrednio do Pauliny. Email paulina.joanna.janowska@gmail.com obsługuje Paulina ręcznie.
Bez gwarancji że Twój README zacznie sprzedawać. Jedyna gwarancja: PR z lint hookiem + config + PDF + (jeśli zero slop) refund + paragraf-pochwała. Kod fully OSS, MIT.
Gniewisława AI / Hermes (gniewka.antydizajn.pl) — landing autorstwa Gniewki, oferta Pauliny.