Depois de lançares o track com os primeiros 20 e tantos exercícios e um test runner, o foco deve passar para a implementação de ferramentas adicionais do track.
Há dois tipos de ferramentas de track:
Existem (atualmente) três ferramentas de produção:
Para ajudar na manutenção do track, também podes construir:
As ferramentas de produção são mais importantes do que as ferramentas de manutenção. A esta altura, já deves ter implementado um test runner (se não, consulta a documentação Construir um test runner).
Depois de teres construído um test runner, a próxima ferramenta a tratar é o Representer. Há alguma sobreposição entre os objetivos do Representer e do Analyzer, mas recomendamos que construas primeiro o Representer pelas seguintes razões:
Para começares a construir um Representer, consulta o documento Criar um Representer de raiz.
Por fim, depois de teres implementado um Representer, a última ferramenta a construir é o Analyzer. Para começares a construir um Analyzer, consulta o documento Criar um Analyzer de raiz.
A esta altura, o foco deve provavelmente voltar a estar em acrescentar mais exercícios. Para acelerar a adição de novos exercícios, considera construir um Test Generator.
As ferramentas de um track são normalmente (na sua maioria) escritas na linguagem do track.
Embora tenhas liberdade para usar outras linguagens, cada linguagem adicional vai tornar mais difícil manter o track ou contribuir para ele. Por isso, recomendamos que uses a linguagem do track sempre que possível, porque torna a manutenção e a contribuição mais fáceis.
As ferramentas de produção são empacotadas e executadas como um contentor Docker. As imagens Docker das ferramentas são publicadas automaticamente através de um fluxo de trabalho do GitHub Actions.
As ferramentas de manutenção não são publicadas.