--- name: next-github description: "Prowadzi przez połączenie z GitHubem, utworzenie lub podłączenie repozytorium i zapisanie projektu online na wyraźne życzenie użytkownika." --- # Repozytorium i połączenie z GitHubem Wyjaśnij: repozytorium przechowuje pliki i historię projektu; lokalny commit jest zapisem na komputerze; push wysyła go na GitHub. Instalacja skilla nie łączy konta i nie upoważnia do publikacji. 1. Sprawdź katalog, `git status`, istniejącą historię, remote i gałąź. Rozróżnij istniejące repo od nowego folderu. Zachowaj cudze zmiany i istniejące połączenia. 2. Sprawdź dostępne połączenie GitHub lub CLI, np. `gh auth status`, bez ujawniania danych uwierzytelniających. Jeśli brak połączenia, skieruj użytkownika do logowania w przeglądarce lub ustawień jego agenta. Nie pobieraj tokena z czatu. Jeśli brak CLI, użyj istniejącego konektora lub poprowadź przez stronę GitHuba. 3. Gdy użytkownik chce nowe repo, uzyskaj brakujące dane: właściciela, nazwę i widoczność. Zaproponuj repo prywatne i wyjaśnij widoczność. Nie twórz go u innego właściciela i nie zmieniaj widoczności istniejącego repo bez żądania. W szkole konto ucznia musi być jego własne, używane na zasadach GitHuba i szkoły. 4. Przed wysłaniem sprawdź listę plików, `.gitignore` i diff. Wyklucz sekrety, `.env`, dane uczestników, kopie zgód oraz prywatną dokumentację. Raportuj nazwę problematycznego pliku, bez wypisywania wartości sekretu. Rozwiązuj problem przed wysłaniem. 5. Skonfiguruj brakujący remote tylko dla wskazanego repo. Jeśli remote już jest i różni się od wskazanego, zapytaj, zamiast go zastępować. Brakujące dane autora commitu ustaw lokalnie w repo po uzyskaniu właściwych danych; nie wymyślaj tożsamości. 6. Gdy wysłanie jest autoryzowane, prześlij zweryfikowaną gałąź zwykłym pushem. Nie używaj force push. Przy odrzuceniu pokaż przyczynę i sprawdź stan zdalny, nie kasuj historii. PR twórz, gdy użytkownik chce propozycję zmian lub wymaga tego projekt; nie scalaj automatycznie. 7. Odczytaj wynik, podaj rzeczywisty link i gałąź. Zaznacz, czy zapis jest tylko lokalny, czy trafił na GitHub. Nie wypychaj zmian po każdym etapie bez wcześniej uzgodnionego trybu. Jeśli uprawnienia konta lub sieć blokują wysłanie, zachowaj lokalną historię i wskaż krok wymagający użytkownika.