---
name: capitalizza-parola
description: Usare quando l'utente deve capitalizzare la prima lettera di una stringa e rendere minuscole le altre.
---

# Capitalizza Parola

Questa skill capitalizza la prima lettera di una stringa e rende minuscole tutte le altre lettere. Utile per formattare nomi e cognomi, titoli e intestazioni, formattazione di testo per UI, normalizzazione di dati.

## Procedura

1. **Capitalizzare la parola**: Usare `capitalizzaParola(testo)`
2. **Passare il testo**: Il parametro deve essere una stringa
3. **Gestire il risultato**: Restituisce la stringa capitalizzata

## Regole

- `testo` deve essere una stringa
- Restituisce stringa vuota se il parametro non è una stringa
- Restituisce stringa vuota se la stringa è vuota
- **Prima lettera**: Convertita in maiuscolo
- **Resto della stringa**: Convertito in minuscolo
- Mantiene spazi, numeri e caratteri speciali invariati

## Esempi

### Esempio 1: Capitalizzare un nome

```javascript
const capitalizzato = capitalizzaParola('gino');
console.log(capitalizzato); // 'Gino'
```

### Esempio 2: Capitalizzare con case misto

```javascript
const capitalizzato = capitalizzaParola('jAvAsCrIpT');
console.log(capitalizzato); // 'Javascript'
```

### Esempio 3: Capitalizzare una parola già capitalizzata

```javascript
const capitalizzato = capitalizzaParola('CIAO');
console.log(capitalizzato); // 'Ciao'
```

### Esempio 4: Capitalizzare con spazi

```javascript
const capitalizzato = capitalizzaParola('gino Rossi');
console.log(capitalizzato); // 'Gino rossi'
// Nota: Solo la PRIMA lettera viene capitalizzata
```

### Esempio 5: Stringa vuota

```javascript
const capitalizzato = capitalizzaParola('');
console.log(capitalizzato); // ''
```

## Dettagli Aggiuntivi

- **Implementazione**:
  ```javascript
  testo.charAt(0).toUpperCase() + testo.slice(1).toLowerCase()
  ```
- **charAt(0)**: Ottiene il primo carattere
- **toUpperCase()**: Converte il primo carattere in maiuscolo
- **slice(1)**: Ottiene il resto della stringa (dall'indice 1 in poi)
- **toLowerCase()**: Converte il resto in minuscolo
- **Efficienza**: O(n) - tempo lineare rispetto alla lunghezza della stringa
- **Esempi**:
  - capitalizzaParola('gino') → 'Gino'
  - capitalizzaParola('CIAO') → 'Ciao'
  - capitalizzaParola('jAvAsCrIpT') → 'Javascript'
  - capitalizzaParola('a') → 'A'
- **Note**: Questa funzione capitalizza SOLO la prima lettera, non ogni parola in una stringa
