Skip to main content
Version: 1.0.1

Visão geral

Docs as Code é uma filosofia e prática que trata a documentação com a mesma rigorosidade e processo que o desenvolvimento de software. Essa abordagem aplica princípios e ferramentas típicas do desenvolvimento de software, como controle de versão, revisão de código, testes automatizados e integração contínua, ao processo de criação e manutenção de documentação.

Princípios-Chave

  • Controle de versão: Assim como o código-fonte, a documentação é armazenada em sistemas de controle de versão, como Git. Isso facilita o rastreamento de mudanças, colaboração entre vários autores e a manutenção de versões consistentes da documentação com as versões do software.
  • Revisão de código: A documentação passa por revisões e aprovações semelhantes ao código. Isso melhora a qualidade e a precisão da documentação, garantindo que várias perspectivas sejam consideradas.
  • Automação: Ferramentas de automação são usadas para testar a precisão da documentação, verificar links quebrados, validar a sintaxe e formatar o texto, de forma semelhante aos testes automatizados no desenvolvimento de software.
  • Integração e Implantação Contínuas: A documentação é frequentemente integrada e atualizada junto com o ciclo de vida do desenvolvimento de software, assegurando que as mudanças no código sejam refletidas na documentação em tempo real.

Benefícios

  • Consistência: Mantém a documentação em sincronia com o código, proporcionando informações precisas e atuais.
  • Colaboração: Facilita a contribuição de desenvolvedores e técnicos em documentação, promovendo um esforço coletivo.
  • Qualidade: Com revisões e testes, a qualidade da documentação é aprimorada, reduzindo erros e ambiguidades.
  • Eficiência: A automação de tarefas repetitivas acelera o processo de atualização e manutenção da documentação.

Ferramentas Comuns

Algumas ferramentas comuns usadas na abordagem Docs as Code incluem Git para controle de versão, plataformas como GitHub ou GitLab para hospedagem e revisão, sistemas de integração contínua como Jenkins ou Travis CI, e ferramentas de documentação como Sphinx, MkDocs ou Docusaurus.

O que é o Docusaurus?

O Docusaurus é uma ferramenta de código aberto que se destaca na criação de documentações de projetos de forma eficiente e elegante. Desenvolvido pelo Facebook, ele é especialmente útil para projetos que buscam integrar a filosofia do Docs-as-code, proporcionando um meio simplificado e poderoso de gerenciar a documentação junto ao código-fonte.

A Integração do Docusaurus com a filosofia Docs-as-code

A filosofia do Docs-as-code enfatiza a importância de tratar a documentação com a mesma seriedade e utilizando as mesmas ferramentas que são aplicadas no desenvolvimento do código. Neste contexto, o Docusaurus emerge como uma solução ideal. Ele permite que os documentos sejam escritos em Markdown, uma linguagem de marcação leve, e armazenados em um repositório de código, facilitando o controle de versão e a colaboração.

Automatização com CI/CD

Um dos principais desafios no gerenciamento de documentação é manter sua atualização e sincronia com as mudanças no código. Aqui, o Docusaurus se alia à prática de integração contínua e entrega contínua (CI/CD). Essa integração permite automatizar o processo de publicação e atualização da documentação sempre que ocorrem mudanças no repositório do projeto.

Com a configuração apropriada, cada push no repositório pode acionar uma pipeline de CI/CD que, por sua vez, executa a construção e a publicação da documentação atualizada. Isso garante que a documentação esteja sempre alinhada com a versão mais recente do código, melhorando a confiabilidade e a acessibilidade das informações para os usuários e desenvolvedores.

Adicionalmente, estou considerando a inclusão de ferramentas específicas para validação ortográfica e de estrutura de arquivos no nosso processo de CI/CD. Essas ferramentas são essenciais para garantir a qualidade e a precisão da documentação, alinhando-as com os padrões estabelecidos. As principais ferramentas que estou avaliando para integrar a nosso fluxo de CI/CD são:

  • Vale.sh: Esta é uma ferramenta de linting de linguagem extremamente versátil e configurável, projetada para validar a escrita em termos de estilo, gramática e legibilidade. Ela pode ser personalizada para seguir uma variedade de guias de estilo, tornando-a ideal para manter a consistência e qualidade na documentação.
  • Grammarly: É uma ferramenta avançada de verificação gramatical e ortográfica, conhecida por sua precisão em detectar uma ampla gama de erros de escrita. Sua integração ao nosso fluxo de CI/CD ajudaria a aprimorar a clareza, a correção gramatical e a eficácia da comunicação em nossos documentos.

A incorporação destas ferramentas no nosso processo de CI/CD não apenas aprimorará a qualidade da nossa documentação, mas também automatizará a revisão de textos, economizando tempo e esforço significativos. Isso assegura que os documentos se mantenham não apenas tecnicamente precisos, mas também bem escritos e fáceis de entender.