---
title: Contribuição
description: Regras práticas para alterar o projeto sem quebrar contratos.
context: Convenções de desenvolvimento, documentação e rastreabilidade.
---

# Contribuição

Antes de alterar, identifique qual contrato será impactado: CLI, schema, template, skill, workflow, client, plugin, bot ou docs.

## Regras

- Preserve compatibilidade de comandos quando houver alias legado.
- Não duplique regra determinística em client se ela pertence ao CLI.
- Atualize docs quando alterar comportamento público.
- Atualize schemas e fixtures juntos.
- Registre novas skills em `templates/skill-catalog.yaml`.
- Valide workflows com `sdd workflow validate`.
- Não versionar secrets, MCP configs locais ou outputs de build.

## Mudanças por área

| Área | Evidência esperada |
|---|---|
| CLI | `cargo test`, docs de comando e fixtures quando aplicável |
| Schema | fixtures good/bad e `sdd validate-artifact` |
| Skill | `sdd skills validate` e catálogo atualizado |
| Workflow | `sdd workflow validate` e docs |
| Client | `sdd clients doctor --strict` |
| Bot | `npm run build` em `bot/` |
| Docs Fumadocs | `npm run check` em `docs-site/` |
