wedding-management-system

⚙️ Configuração recomendada do repositório GitHub

Lista completa de configurações para fazer uma vez no repositório público no GitHub. Cada item linka para a tela exata.

Substitua guiloklex-hub/wedding-management-system pelo caminho real do repo.


1. Identidade do repositório

🔗 Settings → General → Repository details


2. Features

🔗 Settings → General → Features


3. Pull Requests

🔗 Settings → General → Pull Requests


4. Branch protection — main

🔗 Settings → Branches → Add branch protection rule

Branch name pattern: main

Marcar:

💡 Se você for único mantenedor: pode deixar “Require approvals = 0” e usar “Include administrators” desligado, para conseguir mergear seus próprios PRs sem revisão. Mas mantenha os status checks obrigatórios.


5. Tag protection

🔗 Settings → Tags → New rule


6. Security & analysis

🔗 Settings → Code security

Habilitar TODOS:


7. Actions permissions

🔗 Settings → Actions → General


8. Pages (se for hospedar docs)

🔗 Settings → Pages

Não recomendo expor o app inteiro como Pages (é dinâmico). Mas você pode expor só os docs estáticos:

⚠️ Os arquivos em docs/ estão escritos para serem lidos no GitHub. Para ficarem bonitos como Pages, precisaria de um gerador (Docusaurus, MkDocs, etc.). Sugiro deixar pra depois.


9. Labels

🔗 Issues → Labels

Adicione as labels que o auto-labeler precisa (workflow .github/workflows/labeler.yml):

Label Cor sugerida
documentation #0075ca
ci #fbca04
dependencies #0366d6
javascript #f1e05a
github-actions #2088ff
database #5319e7
frontend #a2eeef
backend #1d76db
tests #bfd4f2
security #d93f0b
notifications #0e8a16
good first issue #7057ff (padrão GitHub)
help wanted #008672 (padrão GitHub)
bug #d73a4a (padrão GitHub)
enhancement #a2eeef (padrão GitHub)
question #d876e3 (padrão GitHub)

Atalho via gh CLI:

gh label create documentation --color 0075ca
gh label create ci             --color fbca04
gh label create dependencies   --color 0366d6
gh label create javascript     --color f1e05a
gh label create github-actions --color 2088ff
gh label create database       --color 5319e7
gh label create frontend       --color a2eeef
gh label create backend        --color 1d76db
gh label create tests          --color bfd4f2
gh label create security       --color d93f0b
gh label create notifications  --color 0e8a16

10. CODEOWNERS (opcional)

Crie .github/CODEOWNERS:

# Default owner (todos os arquivos)
*       @guiloklex-hub

# Áreas sensíveis
/src/auth*.ts           @guiloklex-hub
/src/lib/timing-safe.ts @guiloklex-hub
/src/lib/rate-limit.ts  @guiloklex-hub
/.github/               @guiloklex-hub
SECURITY.md             @guiloklex-hub

Combina com “Require review from Code Owners” na branch protection.


11. Secrets & variables

🔗 Settings → Secrets and variables → Actions

Se algum dia o CI precisar de credenciais (deploy, releases assinadas, etc.), adicione aqui. Por enquanto não há nada.

Não coloque NEXTAUTH_SECRET real aqui — o CI usa placeholder no ci.yml.


12. About sidebar

🔗 Página inicial → engrenagem ⚙ ao lado de “About”


13. Issues template

🔗 Settings → General → Features → Issues → Set up templates

Já criamos:

Não precisa mexer na UI.


14. Discussions categories

Após ativar Discussions (passo 2), crie estas categorias:


15. README badges dinâmicos

No README, atualize para apontar para o seu user real:

[![CI](https://github.com/guiloklex-hub/wedding-management-system/actions/workflows/ci.yml/badge.svg)](https://github.com/guiloklex-hub/wedding-management-system/actions/workflows/ci.yml)
[![CodeQL](https://github.com/guiloklex-hub/wedding-management-system/actions/workflows/codeql.yml/badge.svg)](https://github.com/guiloklex-hub/wedding-management-system/actions/workflows/codeql.yml)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

(Você pode adicionar isso ao README quando o repo já estiver com os workflows rodando — antes disso o badge fica vermelho.)


16. Release workflow

Já existe (.github/workflows/release.yml). Para criar uma release:

git tag v0.2.0
git push origin v0.2.0

O workflow:

  1. Roda lint + test + build.
  2. Cria a GitHub Release com notas auto-geradas (baseadas nos commits).
  3. Marca como pre-release se a tag tiver - (ex: v0.3.0-beta.1).

17. Conventional Commits (opcional)

Para que as release notes do GitHub fiquem bonitas, padronize commits:

feat:      nova feature
fix:       correção de bug
docs:      documentação
chore:     manutenção
refactor:  refatoração
test:      testes
ci:        CI/CD
perf:      performance

Veja CONTRIBUTING.


✅ Checklist final

Após fazer tudo acima:

Feito isso, o repositório está bem protegido contra acidentes, spam, ataques automáticos e contribuições mal-formatadas — sem deixar de ser convidativo para novos contribuidores.