Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
name: Bug report
about: Reporte um comportamento inesperado para nos ajudar a melhorar
Comment thread
stherzada marked this conversation as resolved.
title: ''
labels: bug
assignees: ''
type: Bug

---

## Descrição do problema
<!-- Descreva de forma clara e objetiva o que está acontecendo. -->


## Comportamento esperado
<!-- O que você esperava que acontecesse? -->


## Comportamento atual
<!-- O que de fato acontece hoje? -->


## Passos para reproduzir
<!-- Liste o passo a passo exato. Quanto mais detalhado, mais rápido resolvemos. -->
1. Vá até '...'
2. Clique em '...'
3. Preencha '...'
4. Veja o erro


## Ambiente
<!-- Preencha os dados relevantes ao seu caso. -->
- **Sistema operacional:** <!-- ex: Windows 11, macOS 14, Ubuntu 22.04 -->
- **Navegador / versão:** <!-- ex: Chrome 120, Firefox 121 -->
- **Ambiente:** <!-- prod/ local -->


## Evidências
<!-- Prints, vídeos, payloads, logs, stack traces ou qualquer material que ajude. -->


## Sugestão de correção (opcional)
Comment thread
stherzada marked this conversation as resolved.
<!-- Se tiver contexto técnico, sugira melhorias. Caso contrário, deixe em branco
para a comunidade interagir livremente. -->


## Contexto adicional
<!-- Qualquer outra informação relevante sobre o problema. -->
56 changes: 56 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: Feature request
about: Descreva uma feature a ser construída, com critérios de aceite e testes
title: ''
labels: type:feat
assignees: ''
type: Feature

---

## Parent
<!-- Issue/épico ao qual esta feature pertence. Ex: #342. Caso não tenha, deixe em branco -->



## O que construir
<!-- O que precisa ser implementado, de forma objetiva. Cite Actions, papéis, transações

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seria interessante adicionar uma sessão de assumptions - premissas que a equipe assume como verdadeiras ao estimar e desenvolver a story, mas que ainda não foram confirmadas ou validadas.

Elas servem para deixar explícito o que está sendo considerado como certo, evitando retrabalho se alguma dessas premissas se mostrar errada depois. Exemplos:

"Assumimos que o usuário já está autenticado antes de acessar essa tela"
"Assumimos que a API de terceiros retorna os dados em JSON"
"Assumimos que não há necessidade de suporte a múltiplos idiomas nesta fase"

e o comportamento esperado. Uma linha de contexto + os pontos técnicos. -->
-
-
-


## Critérios de aceite
<!-- Condições verificáveis para considerar a feature pronta. Cada item deve ser testável. -->
- [ ]
- [ ]
- [ ]


## Teste

### BDD
<!-- Cenários em Gherkin (pt). Cubra o caso feliz e as regras/invariantes importantes. -->
```gherkin
# language: pt

Funcionalidade: <nome da funcionalidade>

Cenário: <cenário principal>
Dado <pré-condição>
E <pré-condição>
Quando <ação>
Então <resultado esperado>
E <resultado esperado>

Cenário: <cenário de regra/invariante>
Dado <pré-condição>
Então <garantia>
```
Comment thread
stherzada marked this conversation as resolved.


## Bloqueada por
<!-- Issues que precisam ser concluídas antes desta. Deixe em branco se não houver. -->
- [ ] <feat(...): descrição> #
- [ ] <feat(...): descrição> #
103 changes: 103 additions & 0 deletions .github/ISSUE_TEMPLATE/prd---módulo-de-domínio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
---
name: PRD / Módulo de Domínio
about: Documento de requisitos para uma nova feature ou módulo de domínio
title: ''
labels: prd
assignees: ''

---

# <Nome do Módulo / Feature>

> Uma linha resumindo o que este documento entrega.

---

## Descrição do problema
<!-- Descreva o estado atual e a dor. Como as coisas funcionam hoje (informalmente, manualmente)?
O que está faltando? Que pergunta o sistema não consegue responder? Seja concreto sobre
o gap, não sobre a solução ainda. -->


## Solução
<!-- O que este módulo/feature passa a ser (a "fonte da verdade" para o quê?).
Deixe claro o limite de escopo: o que ele conduz ativamente vs. o que apenas registra.
Se decisões são tomadas fora do sistema, diga que o módulo grava o resultado. -->


## User Stories
<!-- Formato: "Como <papel>, quero <ação>, para que <benefício>."
Agrupe por ator quando fizer sentido. Cubra os casos felizes e os bloqueios/gates. -->

- Como **<papel>**, quero **<ação>**, para que **<benefício>**.
- Como **<papel>**, quero **<ação>**, para que **<benefício>**.
- Como **<plataforma>**, quero **<invariante/regra técnica>**, para que **<garantia>**.


## Decisões de implementação
<!-- As escolhas técnicas já fechadas. Referencie ADRs quando existirem. -->

### Módulo / Namespace
<!-- Onde vive o código? Namespace, ServiceProvider, escopo (ex: tenant-scoped). -->

### Autoridade & Autorização
<!-- Quem pode fazer o quê? Papéis, políticas (Policy), overrides. -->

### Modelo de dados
<!-- Liste tabelas, colunas relevantes, constraints (UNIQUE, partial unique, índices),
chaves (UUID?), e o que é derivado vs. denormalizado. -->

| Tabela | Colunas-chave | Constraints / Índices | Observações |
|--------|---------------|-----------------------|-------------|
| `<tabela>` | `<colunas>` | `<unique / index>` | `<notas>` |

### Enums
<!-- Enumerações e seus valores possíveis. -->

### Gates / Pré-condições
<!-- Que estado precisa ser verdadeiro para uma ação acontecer? De onde o módulo lê isso? -->

### Actions
<!-- Os casos de uso públicos (verbos do domínio). Ex: CreateX, ApplyToY, DecideZ. -->

### Invariantes
<!-- Regras que sempre precisam valer (ex: "no máximo 1 ativo"). Onde são garantidas?
Defense-in-depth: banco + camada de aplicação. -->


## Decisões de teste
<!-- O que será testado e por qual superfície (Actions/Policy públicas, estado persistido,
eventos emitidos — não helpers privados). Liste os cenários confirmados em escopo. -->

- **<Grupo de invariantes>:** <o que asserir>
- **<Política/Autorização>:** <o que asserir>
- **<Fluxo principal>:** <casos felizes e de bloqueio>

**Prior art / referências:** <testes ou padrões existentes a seguir>


## Fora de escopo
<!-- O que explicitamente NÃO faz parte desta entrega. Evita scope creep e alinha expectativas. -->

- <item> — <por quê / onde é tratado>
- <item> — <por quê / onde é tratado>


## 📝 Notas adicionais
<!-- Decisões sutis, follow-ups de doc (não bloqueantes), caminho de evolução futura,
perguntas em aberto que não travam a implementação. -->

- **Follow-up:** <pendência de documentação ou revisão>
- **Evolução:** <como isso pode crescer sem retrabalho>


## Subtarefas
<!-- Quebra em tracer bullets, em ordem de dependência. Vincule as tasks criadas no git aqui. -->

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Dúvidas/Incertezas
<!-- Liste aqui todas as dúvidas que ainda ficaram em aberto ou ainda precisam de maiores esclarecimentos -->

---

### 🔗 Referências
<!-- ADRs, PRDs relacionados, issues, docs de arquitetura. -->

- ADR-XXXX — <título>
- <link / issue relacionada>