Narzędzie do automatycznego generowania release notes z commitów Git z wykorzystaniem LLM.
- Michał 55335 - Project Manager / Lead Developer
- Adrian 52645 - DevOps Engineer
- Emilia 52766 - UX Engineer
- Krystian 52883 - QA Engineer
mgr inż. Aleksandra Ata
- Python 3.8+
- Klucz API OpenAI
git clone https://github.com/ProXi-22/release_notes_generator
cd release_notes_generator
python -m venv .venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows
pip install -r requirements.txtUtwórz plik .env w głównym katalogu projektu:
OPENAI_API_KEY=<klucz_API>
python main.py --repo <url_lub_ścieżka_lokalna> --od <commit_start> --do <commit_end>python gui.py| Parametr | Opis | Przykład |
|---|---|---|
--repo |
URL repozytorium GitHub lub ścieżka lokalna | https://github.com/user/repo lub . |
--od |
Commit/tag początku zakresu | HEAD~5, v1.0.0 |
--do |
Commit/tag końca zakresu | HEAD, v1.1.0 |
Repozytorium zdalne (zostanie sklonowane tymczasowo):
python main.py --repo https://github.com/user/projekt --od HEAD~5 --do HEADRepozytorium lokalne (bieżący katalog):
python main.py --repo . --od HEAD~5 --do HEADPo uruchomieniu w konsoli pojawi się:
Klonowanie repozytorium z: https://github.com/user/projekt
Znaleziono 5 commitów.
Generowanie release notes...
Zapisano: release_notes_projekt_2026-06-13.md
W katalogu roboczym zostanie zapisany plik release_notes_<nazwa-repo>_<data>.md z treścią w formacie Markdown, np.:
## Nowości
- Dodano obsługę argumentu --do w module CLI
## Poprawki błędów
- Naprawiono błąd przy klonowaniu repo z ukośnikiem na końcu URL
## Zmiany techniczne
- Wydzielono stałe konfiguracyjne do config.pypython -m pytest testy.py -vTesty obejmuje moduł modul_git.py (3 testy jednostkowe).
- GitPython — obsługa repozytoriów Git
- OpenAI Python SDK — komunikacja z GPT-4o-mini
- python-dotenv — wczytywanie zmiennych środowiskowych
- pytest — testy jednostkowe
- tkinter — interfejs graficzny