Add README

This commit is contained in:
Erhan Keseli
2026-06-05 21:06:47 +02:00
parent 44d79b1906
commit cd3f0c44d5

107
README.md Normal file
View File

@@ -0,0 +1,107 @@
# ABAP Shittier
A Claude Code skill that does the opposite of the ABAP Pretty Printer. You give it
clean ABAP, it gives you back the ugliest version it can manage. The only rule is
that the result still compiles and behaves exactly the same.
It's the ABAP take on [Shittier](https://github.com/), the joke anti-Prettier.
## What it actually does
The Pretty Printer indents your code, fixes keyword casing, and aligns your
declarations. This undoes all of that. Casing goes random, indentation ignores
scope, alignment gets torn apart, lines break in stupid places, and the mandatory
spaces get padded out to look worse.
What it does not do is change behavior. If you run the tokens through it ignoring
whitespace and casing, you get the exact input back.
Some reasons you might want this:
* Showing a junior why the formatting standards are there
* A cursed commit for April 1st or a conference talk
* Throwing garbage at a linter or review process to see what it catches
It is not for obfuscation or hiding code. It's a joke.
## What it won't break
ABAP parses on tokens, so a few things have to stay intact or the code stops
activating. Shittier leaves these alone:
* `*` line comments stay in column 1
* required spaces around operators and parentheses get padded, never deleted
(`lv_x = 1` becomes `lv_x = 1`, which still compiles)
* string templates and literals are untouched
* statements, their closing periods, and `:` `,` chains stay as they are
* keywords and identifiers keep their actual letters, only the casing moves
## Install
```bash
# all projects
unzip abap-shittier.zip -d ~/.claude/skills/
# just this repo
unzip abap-shittier.zip -d .claude/skills/
```
The file has to land at `~/.claude/skills/abap-shittier/SKILL.md`, not one folder
deeper. Start a new Claude Code session and it picks it up.
## Using it
Ask for it in plain language:
> shittier this class
> un-format this method
> make this report unreadable
## Example
Before:
```abap
METHOD get_customer_balance.
DATA: lv_total TYPE bapidoccur,
lt_items TYPE STANDARD TABLE OF ty_item.
SELECT * FROM ztable
INTO TABLE @lt_items
WHERE kunnr = @iv_kunnr.
LOOP AT lt_items INTO DATA(ls_item).
lv_total = lv_total + ls_item-amount.
ENDLOOP.
rv_balance = lv_total.
ENDMETHOD.
```
After:
```abap
meThOd get_customer_balance.
DATA: lv_total TYPE bapidoccur,
lt_items TYPE STANDARD TABLE oF ty_item.
SeLeCt * fROm ztable InTo TaBLe @lt_items wHeRe kunnr = @iv_kunnr.
LooP aT lt_items inTo DATA(ls_item). lv_total = lv_total + ls_item-amount. ENDloop.
rv_BALANCE
=
lv_total.
ENDmeThod.
```
Same tokens, same result, unreadable.
## Layout
```
abap-shittier/
SKILL.md the skill itself
README.md this file
```
## License
MIT.