Files
skills/gitea-skill-expert-it/SKILL.md
T
2026-07-05 12:35:44 +00:00

6.5 KiB

name, description
name description
gitea-skill-expert-it Połączenie z Gitea Expert-IT (gitea.expert-it.agency-ai.dev): credentials, clone, pull, push, API. Używaj na początku nowej sesji agenta przy pracy z repozytoriami na tym hoście Gitea.

Gitea Expert-IT — skill operacyjny

Instancja: https://gitea.expert-it.agency-ai.dev
API base: https://gitea.expert-it.agency-ai.dev/api/v1/
Wersja Gitea: 1.26.x
Właściciel repozytoriów (user/org): tomasz-syn-grzegorza


Credentials (lokalna maszyna dev)

Pole Wartość
Gitea user tomasz-syn-grzegorza
Gitea PAT z ~/.git-credentials (lokalnie; nie commituj do git)
Plik zapisu ~/.git-credentials (chmod 600)
Git credential helper store

Szybki export (każda nowa sesja terminala / agenta)

export GITEA_USER="tomasz-syn-grzegorza"
export GITEA_PAT="$(python3 - <<'PY'
import re, pathlib
c = pathlib.Path.home() / ".git-credentials"
for line in c.read_text().splitlines():
    m = re.search(r"gitea\.expert-it\.agency-ai\.dev.*:([^@]+)@", line)
    if m:
        print(m.group(1))
        break
PY
)"
export GITEA_BASE="https://gitea.expert-it.agency-ai.dev"
export GITEA_API="$GITEA_BASE/api/v1"

Nigdy nie commituj PAT do git. Ten plik leży poza repozytoriami projektów (Pulpit/cursor/).

Nagłówek API (obowiązkowy format)

Authorization: token $GITEA_PAT

NIE używaj Bearer — Gitea zwróci 401.


Znane repozytoria

Projekt Repo Lokalna ścieżka (dev)
One Gateway tomasz-syn-grzegorza/one-gateway /home/tomasz-syn-grzegorza/Pulpit/cursor/one-gateway
Site Slavic Pulse tomasz-syn-grzegorza/site-slavic-pulse-com /home/tomasz-syn-grzegorza/Pulpit/cursor/site-slavic-pulse-com
Site Agencja AI tomasz-syn-grzegorza/site-agencja-ai-com /home/tomasz-syn-grzegorza/Pulpit/cursor/site-agencja-ai-com
Cursor Deploy Appwrite tomasz-syn-grzegorza/cursor-deploy-appwrite /home/tomasz-syn-grzegorza/Pulpit/docker/cursor-deploy-appwrite

URL klonowania (HTTPS):

https://gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/<repo>.git

Procedura agenta — nowa sesja

  1. Załaduj credentials
    export GITEA_USER="tomasz-syn-grzegorza"
    export GITEA_PAT="$(python3 - <<'PY'
    

import re, pathlib c = pathlib.Path.home() / ".git-credentials" for line in c.read_text().splitlines(): m = re.search(r"gitea.expert-it.agency-ai.dev.*:([^@]+)@", line) if m: print(m.group(1)) break PY )" export GITEA_BASE="https://gitea.expert-it.agency-ai.dev"


2. **Wejdź do projektu**
```bash
cd /home/tomasz-syn-grzegorza/Pulpit/cursor/one-gateway   # lub inny projekt z tabeli
  1. Sprawdź stan

    git status -sb
    git fetch origin
    git log origin/main..HEAD --oneline    # lokalne commity nie na serwerze
    
  2. Pobierz zmiany (pull)

    git pull --rebase origin main
    

    Dla repo ze gałęzią master: git pull --rebase origin master

  3. Wypchnij zmiany (push) — tylko gdy użytkownik poprosi o commit/push

    git add <pliki>
    git commit -m "opis zmian"
    git push -u origin main
    
  4. Jeśli push wisi (brak promptu hasła)

    git remote set-url origin "https://$GITEA_USER:$GITEA_PAT@gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/one-gateway.git"
    git push -u origin main
    git remote set-url origin "https://gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/one-gateway.git"
    

Clone (pierwszy raz)

cd /home/tomasz-syn-grzegorza/Pulpit/cursor
git clone "https://$GITEA_USER:$GITEA_PAT@gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/one-gateway.git"
cd one-gateway
git remote set-url origin "https://gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/one-gateway.git"

Publiczne repo można klonować bez tokenu; prywatne wymagają PAT w URL lub credential.helper store.


API — typowe operacje

Sprawdź repo

curl -sS "$GITEA_API/repos/tomasz-syn-grzegorza/one-gateway" \
  -H "Authorization: token $GITEA_PAT" | python3 -m json.tool

Utwórz repo

curl -sS -X POST "$GITEA_API/user/repos" \
  -H "Authorization: token $GITEA_PAT" \
  -H "Content-Type: application/json" \
  -d '{"name":"nowy-projekt","description":"...","private":false}'

Endpoint /api/v1/user/repos — nie /repos/create (404).

Zmień nazwę repo

curl -sS -X PATCH "$GITEA_API/repos/tomasz-syn-grzegorza/stara-nazwa" \
  -H "Authorization: token $GITEA_PAT" \
  -H "Content-Type: application/json" \
  -d '{"name":"nowa-nazwa"}'

Container registry (obrazy Docker)

gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/<image>:latest

Logowanie (CI / lokalnie):

echo "$GITEA_PAT" | docker login gitea.expert-it.agency-ai.dev -u "$GITEA_USER" --password-stdin

Sekrety CI w repo (Gitea Actions): GITEA_USER, GITEA_TOKEN — ustawiane w ustawieniach repo, nie w git.


Gałęzie i konwencja

Gałąź Zastosowanie
main One Gateway, większość projektów
master site-slavic-pulse-com, site-agencja-ai-com
feature/* nowe funkcje
fix/* poprawki
infra/* docker, deploy, CI

Przed pracą: git pull. Po pracy: commit + push tylko na prośbę użytkownika.


Pułapki

  1. Auth: Authorization: token <PAT> — nie Bearer
  2. Create repo: POST /api/v1/user/repos — nie /repos/create
  3. SSH: na niektórych hostach zablokowany — używaj HTTPS
  4. LRC hook (Hermes): przed pierwszym commitem w nowym repo: mkdir -p .git/lrc && touch .git/lrc/disabled-git
  5. Nie commituj: .env z sekretami, PAT, RTX API keys
  6. Stara nazwa: one-gateway-cursor została przemianowana na one-gateway

Checklist push (agent)

  • git status — świadomie wybrane pliki (bez .env, bez sekretów)
  • git diff — sensowny zakres zmian
  • commit message opisuje dlaczego
  • git push origin <branch>
  • po pushu: git status -sb → bez ahead

Powiązane pliki w projektach

Plik Opis
cursor/one-gateway/GITEA.md Push one-gateway
cursor/one-gateway/packages/agency-gitea-collaboration/SKILL.md Protokół Hermes + Cursor
cursor/one-gateway/deploy/docs/INSTALL.md Instalacja produkcyjna

Skill lokalny — credentials z ~/.git-credentials. Nie commituj tego pliku do publicznych repo.