📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Guia de Markdown. Recomendado revisar antes de começar.
v1.0 — Docs-as-Code, GitHub Flavored Markdown (GFM), Diagramas Mermaid e Arquitetura Visual
Trilha de Especialização Pedagógica — Projeto 1 de 4
- ➡️ v1 (este): Living Styleguide · GitHub Flavored Markdown · Diagramas Mermaid · Docs-as-Code
- v2: Documentação Automatizada de APIs com TypeDoc & JSDoc
- v3: Static Site Generator (Docusaurus / MkDocs) com Busca Full-Text
- v4: Architecture Decision Records (ADR) Automatizados & C4 Model
🎓 Nível Profissional Simulado: Technical Writer / Engenheiro de Software. Documentação técnica de excelência não fica em arquivos Word ou PDFs perdidos. Empresas globais adotam a filosofia Docs-as-Code: documentação escrita em Markdown, versionada no Git e com diagramas de fluxo gerados por código com Mermaid.
Construir o Living Styleguide de Documentação Técnica do portal, definindo padrões de formatação em GitHub Flavored Markdown (GFM), blocos de alertas semânticos (> [!NOTE], > [!IMPORTANT], > [!TIP]), tabelas estruturadas e diagramas visuais de arquitetura codificados em Mermaid.
“Nossos manuais e documentações técnicas estão desorganizados, com imagens de diagramas desatualizadas que ninguém consegue editar. Precisamos de um padrão de documentação ‘Docs-as-Code’: um guia de estilo em Markdown com tabelas, blocos de código com destaque sintático, alertas visuais coloridos e diagramas de arquitetura desenhados em texto com Mermaid que possam ser versionados pelo Git.”
| ID | Tipo | Descrição | Origem no Briefing |
|---|---|---|---|
| RF01 | Funcional | Definir convenção tipográfica de títulos, listas e blocos de código em Markdown. | “guia de estilo em Markdown” |
| RF02 | Funcional | Implementar alertas semânticos padronizados do GitHub ([!NOTE], [!TIP], [!WARNING]). |
“alertas visuais coloridos” |
| RF03 | Funcional | Modelar fluxogramas e diagramas de sequência de sistemas utilizando sintaxe Mermaid. | “diagramas desenhados em texto com Mermaid” |
| RNF01 | Não-Funcional | 100% renderizável nativamente no GitHub Pages e no parser Kramdown. | Compatibilidade Web |
| RNF02 | Não-Funcional | Diagramas leves sem dependência de imagens binárias pesadas (.png/.jpg). |
Performance de Repositório |
| ID | User Story | Prioridade |
|---|---|---|
| US01 | Como desenvolvedor, quero editar um diagrama de fluxo alterando apenas 3 linhas de texto em Mermaid. | Alta |
| US02 | Como leitor, quero visualizar alertas de segurança com cores destacadas para evitar erros de deploy. | Alta |
# Branch da funcionalidade
git checkout -b feature/US01-living-styleguide-mermaid
# Validar sintaxe Markdown com linter
npx markdownlint-cli index.md
graph TD
A["👤 Cliente Web / Mobile"] -->|"Requisição HTTP"| B["🛡️ Nginx Proxy Reverso"]
B -->|"Encaminha Carga"| C["⚙️ Backend Cluster (Go / Java)"]
C -->|"Consulta SQL"| D[("🐘 PostgreSQL 16")]
C -->|"Cache em Memória"| E[("⚡ Redis Cluster")]
No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:
cd docs_01_styleguide_markdown_mermaid
# Executar comandos específicos da tecnologia:
python main.py # ou npm run dev / ./gradlew build
[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd catalogo_projetos/docs_01_styleguide_markdown_mermaid`
O diagrama abaixo sintetiza a organização dos artefatos, contratos e diretrizes arquiteturais na subpasta docs/:
flowchart TD
subgraph Especificacao["Especificação & Contratos"]
E1["Contratos Formais"] --> E2["Modelagem de Domínio"]
end
subgraph Implementacao["Implementação & Stacks"]
I1["Arquiteturas & Código"] --> I2["Paridade Multilinguagem"]
end
subgraph Padroes["Governança & Padrões"]
P1["Living Styleguides"] --> P2["Conformidade de Design"]
end
subgraph Homologacao["Qualidade & Homologação"]
Q1["Matriz de Rastreabilidade"] --> Q2["Checkpoints CP-01..05 PASS"]
end
Especificacao --> Implementacao
Implementacao --> Padroes
Padroes --> Homologacao
style Especificacao fill:#e3f2fd,stroke:#1976d2,stroke-width:1.5px
style Implementacao fill:#fffde7,stroke:#fbc02d,stroke-width:1.5px
style Padroes fill:#e8f5e9,stroke:#388e3c,stroke-width:1.5px
style Homologacao fill:#f3e5f5,stroke:#7b1fa2,stroke-width:1.5px
| ID | Persona | História de Usuário | Critério de Aceite | Prioridade |
|---|---|---|---|---|
| US-01 | Redator Técnico / Arquiteto | Desejo guia de estilo vivo com Markdown avançado, tabelas e callouts | Padronização visual de documentação técnica para projetos de engenharia | Alta |
| US-02 | Engenheiro de Software | Desejo biblioteca de diagramas Mermaid (Flowchart, Sequence, State, Class, ERD) | Exemplos prontos e testados de todas as tipologias de diagramas suportadas | Alta |
| US-03 | Desenvolvedor Frontend | Desejo diretrizes de acessibilidade e contraste para gráficos e diagramas | Cores com taxa de contraste WCAG AA e compatibilidade com modo escuro/claro | Alta |
| US-04 | Tech Writer | Desejo boas práticas para alertas, badges semânticos e blocos de código isolados | Diretrizes de encapsulamento com as tags raw/endraw do Liquid, prevenindo colisões no Jekyll | Média |
| US-05 | Auditor de Documentação | Desejo validação automática de sintaxe Markdown e compilação do Mermaid | Verificação estática assegurando ausência de links quebrados e erros de parser | Média |
| ID | Descrição do Requisito | Criticidade |
|---|---|---|
| RF-01 | Living Styleguide documentando tipografia, tabelas, blocos de código e alertas | Alta |
| RF-02 | Galeria de 6 tipos de diagramas Mermaid com sintaxe canônica comentada | Alta |
| RF-03 | Padrão de isolamento estrito contra tags Liquid com blocos raw/endraw | Alta |
| RF-04 | Guia de nomenclatura de arquivos, semântica Git e arquitetura instrucional | Média |
| RF-05 | Scripts de linting de Markdown e validação de âncoras internas | Média |
| ID | Especificação Arquitetural | Criticidade |
|---|---|---|
| RNF-01 | 100% de compatibilidade com o motor Kramdown do Jekyll e GitHub Flavored Markdown | Alta |
| RNF-02 | Aderência rigorosa às regras de acessibilidade e visualização responsiva | Alta |
| RNF-03 | Carregamento imediato sem dependências de frameworks JavaScript pesados | Média |
| RNF-04 | Isolamento dos artefatos na pasta docs/ | Alta |
| RNF-05 | Manutenibilidade e consistência em todo o portal educacional | Alta |
| User Story | Requisito Funcional | Requisito Não-Funcional | Módulo / Artefato de Código | Status de Homologação |
|---|---|---|---|---|
| US-01 | RF-01 |
RNF-01, RNF-04 |
docs/arquitetura.md |
Testado |
| US-02 | RF-02 |
RNF-01, RNF-02 |
docs/arquitetura.md |
Testado |
| US-03 | RF-03 |
RNF-01, RNF-02 |
docs/arquitetura.md |
Testado |
| US-04 | RF-04 |
RNF-01, RNF-05 |
docs/arquitetura.md |
Testado |
| US-05 | RF-05 |
RNF-01, RNF-05 |
docs/check_markdown.py |
Testado |
| Checkpoint | Escopo da Validação | Artefato Verificado | Status |
|---|---|---|---|
| CP-01 | Estruturação de Contratos & Pastas | docs/ |
PASS ✅ |
| CP-02 | Modelagem de Domínio & Schemas | Domain Schemas |
PASS ✅ |
| CP-03 | Paridade Técnica & Implementações | Multi-stack Code |
PASS ✅ |
| CP-04 | Documentação Viva & Estilo | Styleguide & Guides |
PASS ✅ |
| CP-05 | Homologação com RTM & Validações | Quality Gate |
PASS ✅ |