# Contribuindo com o Show da Qualificação

Obrigado pelo interesse em contribuir! Este documento explica como participar do projeto.

## Como contribuir

### Reportando bugs
Use o template de [Bug Report](.github/ISSUE_TEMPLATE/bug_report.md) ao abrir uma issue.

### Sugerindo funcionalidades
Use o template de [Feature Request](.github/ISSUE_TEMPLATE/feature_request.md).

### Enviando código

1. Faça um fork do repositório
2. Crie uma branch descritiva:
   ```bash
   git checkout -b fix/nome-do-bug
   git checkout -b feat/nome-da-funcionalidade
   ```
3. Faça commits com mensagens claras seguindo o padrão:
   ```
   feat: adiciona modo revisão de questões erradas
   fix: corrige som de vitória no Android
   docs: atualiza README com novas conquistas
   ```
4. Abra um Pull Request descrevendo o que foi feito

## Adicionando questões ao banco

O banco de questões fica em `assets/questions/teorica_geral.json`. Cada questão segue este formato:

```json
{
  "id": "GRUPO-000",
  "group": "GRUPO",
  "text": "Enunciado da questão",
  "options": [
    "Alternativa A",
    "Alternativa B",
    "Alternativa C (correta)",
    "Alternativa D",
    "Alternativa E"
  ],
  "correctIndex": 2
}
```

**Grupos disponíveis:** `CONS`, `DOCS`, `ENSM`, `ENSND`, `INST`, `INTR`, `MATB`, `META`, `PROC`, `PROT`, `QUAL`, `SIMB`, `TENS`, `TERM`

**Boas práticas para questões:**
- Todas as alternativas devem ter comprimento similar (evita que a resposta correta seja identificada pelo tamanho)
- As alternativas erradas devem ser plausíveis para quem tem conhecimento parcial
- Baseie as questões nas normas AWS D1.1, ASME IX e ABNT pertinentes

## Padrão de código

- Siga as convenções do Flutter/Dart
- Execute `flutter analyze` antes de fazer commit
- Não deixe warnings de lint no código novo
