Introdução
Você pode usar GitHub repositórios, problemas, projetos e outras ferramentas para planejar e acompanhar seu trabalho, caso esteja trabalhando em um projeto individual ou em uma equipe multifuncional.
Neste guia, você aprenderá a criar e configurar um repositório para colaborar com um grupo de pessoas, criar formulários e modelos de Issues, abrir Issues e dividir o trabalho, e estabelecer um projeto para organizar e rastrear Issues.
Criar um repositório
Ao iniciar um novo projeto, iniciativa, ou recurso, o primeiro passo é criar um repositório. Os repositórios contêm todos os arquivos do seu projeto e fornece a você um lugar para colaborar com outros e gerenciar seu trabalho. Para saber mais, confira Criar um repositório.
Você pode definir repositórios para diferentes finalidades com base nas suas necessidades. A seguir, estão alguns casos de uso:
-
**Repositórios de produtos**: organizações maiores que acompanham o trabalho e as metas em relação a produtos específicos podem ter um ou mais repositórios que contêm o código e outros arquivos. Esses repositórios também podem ser usados para documentação, relatórios sobre saúde do produto ou planos futuros para o produto. -
**Repositórios de projetos**: você pode criar um repositório para um projeto individual no qual está trabalhando ou para um projeto no qual está colaborando com outras pessoas. Para uma organização que monitora o trabalho para iniciativas ou projetos de curta duração, como uma empresa de consultoria, é necessário apresentar um relatório sobre a saúde de um projeto e transferir as pessoas para diferentes projetos com base nas competências e nas necessidades. O código para o projeto está frequentemente contido em um único repositório. -
**Repositórios de equipes**: para uma organização que agrupa pessoas em equipes e leva projetos para elas, como uma equipe de ferramentas de desenvolvimento, o código pode ser distribuído entre vários repositórios para os diferentes trabalhos que elas precisam acompanhar. Nesse caso, pode ser útil ter um repositório específico da equipe como um só lugar para acompanhar todo o trabalho em que a equipe está envolvida. -
**Repositórios pessoais**: você pode criar um repositório pessoal para acompanhar todo o trabalho em um só lugar, planejar tarefas futuras ou até adicionar anotações ou informações que deseja salvar. Você também pode adicionar colaboradores se quiser compartilhar essas informações com outras pessoas.
Você pode criar repositórios múltiplos e separados se quiser diferentes permissões de acesso para o código-fonte e para problemas de rastreamento e discussões. Para saber mais, confira Criar um repositório somente com problemas.
Para os seguintes exemplos neste guia, usaremos um repositório de exemplo denominado Project Octocat.
Comunicando informações do repositório
Você pode criar um arquivo README.md para o repositório apresentar a sua equipe ou projeto e comunicar informações importantes sobre ele. Muitas vezes, um README é o primeiro item que um visitante ao repositório irá ver. Portanto, você também pode fornecer informações sobre como usuários ou contribuidores podem começar com o projeto e como entrar em contato com a equipe. Para saber mais, confira Sobre o arquivo README do repositório.
Você também pode criar um arquivo CONTRIBUTING.md específico para conter diretrizes sobre como usuários ou contribuidores podem contribuir e interagir com a equipe ou projeto, como abrir um problema de correção de erros ou solicitar melhoria. Para saber mais, confira Configurar diretrizes para os contribuidores do repositório.
Exemplo README
Podemos criar um README.md para introduzir nosso novo projeto, projeto do Octocat.

Criando modelos de problemas
Você pode usar questões para acompanhar os diferentes tipos de trabalho que sua equipe multifuncional ou seu projeto abrange, além de obter informações de pessoas de fora do seu projeto. A seguir, estão alguns casos de uso comuns para as questões.
- Monitoramento da versão: Você pode usar um problema para acompanhar o progresso de uma versão ou as etapas para concluir o dia de um lançamento.
- Grandes iniciativas: Você pode usar um problema para acompanhar o progresso em uma grande iniciativa ou projeto, que está vinculado a problemas menores.
- Solicitações de recursos: Sua equipe ou usuários podem criar problemas para solicitar uma melhoria para o seu produto ou projeto.
- Erros: Sua equipe ou usuários podem criar problemas para relatar um erro.
Dependendo do tipo de repositório e projeto em que você está trabalhando, você pode priorizar certos tipos de problemas em detrimento de outros. Após identificar os tipos de problemas mais comuns da sua equipe, você poderá criar formulários e modelos de problema para seu repositório. Formulários e modelos de problema permitem que você crie uma lista padronizada de modelos que um contribuidor pode escolher ao abrirem um problema no seu repositório. Para saber mais, confira Configurando modelos de problemas em seu repositório.
Exemplo de modelo de problema
Abaixo, estamos criando um modelo de problema para relatar um erro no projeto Octocat.

Agora que criamos o modelo de problemas de relatório de erro, você pode selecioná-lo ao criar um novo problema no projeto Octocat.

Abrir Issues e dividir o trabalho
Você pode organizar e acompanhar seu trabalho criando problemas. Para saber mais, confira Criar um problema.
Exemplo de problema
Aqui está um exemplo de uma questão criada para uma grande iniciativa, um trabalho front-end no projeto Octocat.

Exemplo de subquestões
Você pode adicionar subproblemas a um problema para dividir rapidamente partes maiores do trabalho em problemas menores. Os subproblemas adicionam suporte para hierarquias de problemas no com a criação de relacionamentos entre os problemas. Você pode criar vários níveis de subproblemas que representam com precisão seu projeto, dividindo com exatidão as tarefas no nível de detalhe que você e sua equipe precisam. Confira Como adicionar subproblemas e Navegando em subproblemas.
Você pode usar tipos de problema para classificar o trabalho em repositórios em toda a organização, como tarefas, bugs e funcionalidades. Confira Como gerenciar tipos de problemas em uma organização.

Exemplo da lista de tarefas
Você pode usar a lista de tarefas para dividir problemas maiores em tarefas menores e acompanhar problemas como parte de um objetivo maior. As listas de tarefas têm funcionalidade adicional quando adicionadas ao corpo de um problema. Você pode ver o número de tarefas concluídas do total no topo da questão, e, se alguém fechar uma questão vinculada na lista de tarefas, a caixa de seleção será marcada automaticamente como concluída. Para saber mais, confira Sobre as listas de tarefas.
Abaixo, adicionamos uma lista de tarefas à questão do projeto Octocat, dividindo-a em questões menores.

Exemplo de etiqueta
Veja abaixo um exemplo de um rótulo front-end que criamos e adicionamos ao problema.

Mostrar quais problemas são bloqueados por outras tarefas ou estão bloqueando outras tarefas.
Ao criar dependências de Issues, você pode facilmente ver e comunicar quais Issues são bloqueados ou estejam bloqueando outros Issues. Isso ajuda a simplificar a coordenação, evitar gargalos e aumentar a transparência em toda a equipe. Confira Como criar dependências de problema.
Tomando decisões em equipe
Você pode usar problemas e discussões para comunicar-se e tomar decisões como equipe sobre melhorias planejadas ou prioridades para o seu projeto. Os tópicos são úteis quando você os cria para a discussão de detalhes específicos, como relatórios de erros ou desempenho, planejamento para o próximo trimestre ou criação de uma nova iniciativa. As discussões são úteis para levantamento de hipóteses ou feedbacks abertos, fora da base de código e em todos os repositórios. Para saber mais, confira Comunicando-se no GitHub.
Como uma equipe, você também pode comunicar atualizações sobre tarefas do dia-a-dia dentro dos problemas, para que todos saibam o status do trabalho. Por exemplo, você pode criar um problema para um grande recurso em que várias pessoas estão trabalhando, e cada integrante da equipe pode adicionar atualizações com seu status ou perguntas em aberto nesse problema.
Exemplo de questão com colaboradores de um projeto
Aqui está um exemplo de colaboradores de projeto que fornecem uma atualização sobre o seu trabalho sobre o problema do projeto Octocat.

Usando etiquetas para destacar objetivos e status do projeto
Você pode criar etiquetas para um repositório para categorizar problemas, pull requests e discussões. GitHub também fornece etiquetas padrão para cada novo repositório que você pode editar ou excluir. As etiquetas são úteis para acompanhar os objetivos do projeto, erros, tipos de trabalho e o estado de uma questão.
Para saber mais, confira Gerenciar etiquetas.
Depois de criar uma etiqueta em um repositório, é possível aplicá-lo em qualquer problema, pull request ou discussão no repositório. Em seguida, você pode filtrar problemas e pull requests por etiqueta para encontrar todo o trabalho associado. Por exemplo, encontre todos os bugs de front-end no seu projeto filtrando problemas com os rótulos front-end e bug. Para saber mais, confira Filtrando e pesquisando problemas e pull requests.
Exemplo de etiqueta
Veja abaixo um exemplo de um rótulo front-end que criamos e adicionamos ao problema.

Incluir problemas em um projeto
Você pode usar projects no GitHub para planejar e acompanhar o trabalho de sua equipe. Um projeto é uma planilha personalizável integradas aos seus problemas e pull requests em GitHub, mantendo-se atualizada automaticamente com as informações em GitHub. Você pode personalizar o layout filtrando, organizando e agrupando seus problemas e PRs. Para começar a usar projetos, confira Início Rápido para Projects.
Exemplo de projeto
Aqui está o layout da tabela de um projeto de exemplo, preenchido com os problemas do projeto Octocat que criamos.

Podemos também visualizar o mesmo projeto como um quadro.

Próximas etapas
Agora você aprendeu sobre as ferramentas que GitHub oferece para planejamento e acompanhamento do seu trabalho e deu o seu primeiro passo para definir a sua equipe multifuncional ou repositório de projetos! Aqui estão alguns recursos úteis para personalizar ainda mais seu repositório e organizar seu trabalho.
-
[AUTOTITLE](/repositories/creating-and-managing-repositories/about-repositories) para saber como criar repositórios -
[AUTOTITLE](/issues/planning-and-tracking-with-projects/learning-about-projects) para saber mais sobre projetos -
[AUTOTITLE](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/changing-the-layout-of-a-view) para saber como personalizar exibições de projetos -
[AUTOTITLE](/issues/tracking-your-work-with-issues) para saber mais sobre diferentes maneiras de criar e gerenciar problemas -
[AUTOTITLE](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates) para saber mais sobre modelos de problemas -
[AUTOTITLE](/issues/tracking-your-work-with-issues/using-issues/managing-issue-types-in-an-organization) para gerenciar tipos de problemas -
[AUTOTITLE](/issues/using-labels-and-milestones-to-track-work/managing-labels) para saber como criar, editar e excluir rótulos -
[AUTOTITLE](/issues/tracking-your-work-with-issues/using-issues/adding-sub-issues) para saber como adicionar subquestões -
[AUTOTITLE](/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists) para saber mais sobre listas de tarefas