# 👩‍💻 Guida per gli Sviluppatori

Benvenuto nel progetto! Questa guida ti spiega come collaborare in modo ordinato e sicuro usando Git e GitHub.

---

## 🧰 Requisiti

- Avere Git installato
- Avere Nodejs installato
- Accesso al repository (richiedilo al mantainer)
- Account GitLab

---

## 🚀 Passaggi per lavorare sul progetto

### 1. Clona il repository e avvia il server di sviluppo

```bash
git clone https://gitlab.tecnopackspa.it/tp-docs/tp-docs.git
cd tp-docs
npm install
npm start
```
---

### 2. Crea un nuovo branch per il tuo lavoro

Non lavorare mai direttamente su `master`.
```bash
git checkout -b feature/nome-funzionalità
```
#### Esempi:

- feature/login-page
- bugfix/correzione-header
- hotfix/errore-build
---

### 3. Lavora sul codice

Aggiungi/modifica i file come necessario. Quando sei pronto per salvare i tuoi cambiamenti:
```bash
git add .
git commit -m "Descrizione chiara delle modifiche"
```
---

### 4. Sincronizzati con `master` (facoltativo ma consigliato)

Prima di pushare, puoi aggiornare il tuo branch con le ultime modifiche da `master`:
```bash
git checkout master
git pull origin master
git checkout feature/nome-funzionalità
git merge master
```
---

### 5. Push del branch remoto

```bash
git push origin feature/nome-funzionalità
```
---

### 6. Crea una Merge Request (MR)

#### Vai su GitLab:
 1. Apri il repository
 2. GitLab ti proporrà automaticamente di creare una MR
 3. Assicurati che la base sia `master`
 4. aggiungi titolo, descrizione e tagga un revisore (es: @nomeutente)
---

### 7. Rispondi ai commenti e correggi

- Se il mantainer lascia dei commenti, aggiorna il codice e fai nuovi commit.
- La MR si aggiornerà automaticamente.
---

### 8. Una volta approvata…

- Il mantainer eseguirà il merge della MR nel branch `master`.
- Dopo il merge, puoi cancellare il branch:
```bash
git branch -d feature/nome-funzionalità
```
---

### ✅ Buone pratiche

- Commits chiari e frequenti.
- Branch con nomi espliciti.
+ MR brevi e mirate.
+ Segui gli standard di codice del team (linting, formattazione).

---

### 📌 In caso di dubbi

Contatta il mantainer del progetto o consulta la documentazione interna.