- 🤖 LLM usage: $0.3795 (1 commits)
- 👤 Human dev: ~$100 (1.0h @ $100/h, 30min dedup)
Generated on 2026-06-17 using openrouter/qwen/qwen3-coder-next
Narzędzie do wykrywania i refaktoryzacji hardkodowanych wartości, struktur danych i kodu w projektach Python.
- scan — wykrywa magic numbers, długie stringi, osadzone słowniki/listy, powtarzające się literały
- extract — wyciąga hardkod do modułu stałych (
constants.pylub wskazany plik) - split — rozbija duże struktury (dict/list) na mniejsze nazwane fragmenty
- move — przenosi stałe między modułami i aktualizuje importy
- remove — usuwa nieużywane stałe modułowe
- apply — stosuje plan refaktoryzacji (YAML/JSON)
cd ~/github/semcod/reko
pip install -e ".[apply,dev]"# skan projektu
reko scan .
# skan z raportem JSON
reko scan src/ --format json -o report.json
# wyciągnij hardkod do constants.py (dry-run)
reko extract src/ --target src/myapp/constants.py --dry-run
# rozbij dużą strukturę w pliku
reko split src/config.py --min-keys 5
# przenieś stałe
reko move src/old.py src/new_constants.py --names TIMEOUT,API_URL
# usuń nieużywane stałe
reko remove src/constants.py --dry-run
# zastosuj plan
reko apply plan.yamlPlik reko.yaml w katalogu projektu:
scan:
extensions: [".py"]
exclude:
- "**/tests/**"
- "**/__pycache__/**"
min_string_length: 8
min_dict_keys: 4
allowed_numbers: [0, 1, -1, 2, 10, 100, 1000]
extract:
target: "constants.py"
naming: "upper_snake"
group_by: "file" # file | kind | nonefrom pathlib import Path
from reko import scan_project, extract_constants, apply_plan
findings = scan_project(Path("src/"))
result = extract_constants(Path("src/app.py"), target=Path("src/constants.py"))Apache-2.0