# cfourdev > Arquitetura C4 como codigo: o modelo do sistema mora em arquivos YAML, > versionados e revisados junto do codigo, e os diagramas sao consequencia do > modelo. Esta documentacao diz o que se escreve em cada arquivo, os valores > validos de cada campo, o que a ferramenta valida e como publicar a leitura. ## Comecando - [O que e o cfourdev](https://docs.cfourdev.com.br/): O cfourdev descreve a arquitetura de um sistema em arquivos YAML versionados junto com o código, valida esse modelo e o publica como diagramas navegáveis. - [O modelo C4, em quatro niveis](https://docs.cfourdev.com.br/comecando/c4/): O suficiente do modelo C4 para usar o cfourdev corretamente — pessoas, sistemas, containers, componentes, relações e fronteiras. - [Como o cfourdev funciona](https://docs.cfourdev.com.br/comecando/como-funciona/): As peças do cfourdev e o ciclo de trabalho — arquivos YAML no Git, a ferramenta de linha de comando, a publicação e a leitura no navegador. - [Instalacao](https://docs.cfourdev.com.br/comecando/instalacao/): Como instalar a ferramenta de linha de comando cfour, quais são os requisitos e como atualizá-la. - [Primeiro diagrama](https://docs.cfourdev.com.br/comecando/primeiro-diagrama/): Do repositório vazio ao primeiro diagrama na tela, escrevendo cada arquivo — e entendendo o que cada linha faz. ## Modelando - [A anatomia de uma modelagem](https://docs.cfourdev.com.br/modelando/anatomia/): Onde cada arquivo mora, o que é fixo e o que é escolha sua, e como o cfourdev encontra e interpreta a sua modelagem. - [Elementos: as caixas](https://docs.cfourdev.com.br/modelando/elementos/): Como declarar uma caixa, o que cada campo faz, e por que o nível C4 é derivado da árvore de contenção em vez de escolhido. - [Relacoes: as setas](https://docs.cfourdev.com.br/modelando/relacoes/): Como declarar uma seta entre duas caixas, quais tipos existem, como uma referência é resolvida, e por que você escreve a integração uma vez só. - [Diagrama de contexto](https://docs.cfourdev.com.br/modelando/contexto/): O primeiro dos quatro diagramas do C4 — o que o sistema é, quem o usa e com que sistemas ele conversa — escrito no cfourdev. - [Diagrama de containers](https://docs.cfourdev.com.br/modelando/containers/): O segundo nível do C4 — as partes executáveis de um sistema — e como um diagrama com escopo mostra os filhos de uma caixa sem listar nenhum. - [Diagrama de componentes](https://docs.cfourdev.com.br/modelando/componentes/): O terceiro nível do C4 — as peças dentro de um container — e como a seta que estava no nível de cima desce para o componente que de fato a faz. - [O nivel de codigo](https://docs.cfourdev.com.br/modelando/codigo/): O quarto nível do C4 no cfourdev — o que ele é aqui, quando vale a pena, e por que quase sempre não vale. - [Como um diagrama escolhe o que mostra](https://docs.cfourdev.com.br/modelando/diagramas/): Escopo, seletores, filtro, exclusão, anel de vizinhos e agrupamento automático — a ordem em que um diagrama é resolvido, e o que cada campo faz. - [Grupos dentro de um diagrama](https://docs.cfourdev.com.br/modelando/grupos/): Como agrupar caixas num diagrama — bandas escritas à mão, com nome, aninhamento e orientação — e por que um grupo pertence ao diagrama e não ao modelo. - [Etiquetas e metadados](https://docs.cfourdev.com.br/modelando/etiquetas-e-metadados/): Os dois eixos livres do formato — quando usar etiqueta, quando usar metadado, onde eles podem ser escritos e o que a plataforma faz com eles. - [Notas](https://docs.cfourdev.com.br/modelando/notas/): Como registrar riscos, decisões, dúvidas e avisos junto do elemento a que eles pertencem — e por que risco e decisão são notas, e não entidades próprias. - [Fluxos: uma sequencia](https://docs.cfourdev.com.br/modelando/fluxos/): Como contar um caso de uso como uma sequência de mensagens sobre as caixas que já existem, com caminhos alternativos e desfechos. - [Projetos](https://docs.cfourdev.com.br/modelando/projetos/): Como dividir uma modelagem grande em projetos, como referências atravessam a fronteira entre eles, e para que serve o projeto shared. - [Aparencia da modelagem](https://docs.cfourdev.com.br/modelando/aparencia/): O arquivo workspace.yaml — título, formas próprias, tipos de seta, tipos de nota, desfechos, paleta e rótulos de metadado. - [Varias modelagens, e federacao](https://docs.cfourdev.com.br/modelando/modelagens/): O registro cfour.yaml, quando criar a segunda modelagem, e como uma seta atravessa a fronteira entre duas delas por espelho. ## Linha de comando - [Visao geral do cfour](https://docs.cfourdev.com.br/cli/): O que a ferramenta de linha de comando faz, as convenções comuns a todos os comandos, e onde encontrar cada família. - [Escrever no modelo](https://docs.cfourdev.com.br/cli/escrever/): Criar, alterar, mover e remover caixas, setas, diagramas, grupos, fluxos, notas e projetos pela linha de comando — com as garantias que a ferramenta dá ao escrever. - [Consultar o modelo](https://docs.cfourdev.com.br/cli/consultar/): Como achar o que existe no modelo, entender o contexto de uma caixa e descobrir o que quebra se algo sair. - [Validar](https://docs.cfourdev.com.br/cli/validar/): O comando cfour check — o que ele reprova, o que ele apenas avisa, e como usá-lo no CI. - [Ver os diagramas na sua maquina](https://docs.cfourdev.com.br/cli/ver/): O comando cfour serve — o leitor rodando localmente sobre os arquivos do disco, e o que a arrumação manual das caixas grava. - [Usar em scripts e automacao](https://docs.cfourdev.com.br/cli/automatizar/): Saída em JSON, códigos de saída, o modo sem terminal e as variáveis de ambiente — o que a ferramenta garante para quem a chama de um script. ## Publicar - [Como a publicacao funciona](https://docs.cfourdev.com.br/publicar/): Do cfour push ao link que outra pessoa abre — o que é publicado, o que é uma ref, o que expira e o que a plataforma recusa. - [Publicar a partir do CI](https://docs.cfourdev.com.br/publicar/ci/): Validar em todo pull request e publicar quando a branch principal muda — com exemplos para GitHub Actions e GitLab CI. - [Ler os diagramas publicados](https://docs.cfourdev.com.br/publicar/viewer/): Como abrir, navegar, filtrar, buscar e compartilhar um modelo publicado — e o que muda entre a leitura local e a hospedada. ## Plataforma - [Organizacoes](https://docs.cfourdev.com.br/plataforma/organizacoes/): Conta pessoal e organização de empresa, como criar uma, o identificador sorteado, os limites e o que acontece ao desativar. - [Pessoas, convites e papeis](https://docs.cfourdev.com.br/plataforma/pessoas/): Os três papéis de uma organização, o que cada um pode fazer, como convidar e remover pessoas, e o que acontece com quem já é membro. - [Dominios de e-mail verificados](https://docs.cfourdev.com.br/plataforma/dominios/): Como fazer com que todo mundo com um e-mail do seu domínio entre na organização sem convite — o registro DNS, a verificação e o que acontece ao remover. - [Repositorios e visibilidade](https://docs.cfourdev.com.br/plataforma/repositorios/): O que é um repositório na plataforma, como criá-lo, a ref padrão, a visibilidade e o que acontece ao remover uma ref. - [Chaves de publicacao](https://docs.cfourdev.com.br/plataforma/chaves/): Como criar, guardar, usar, rotacionar e revogar uma chave de publicação — e o que ela alcança. ## Agentes e IA - [O servidor MCP](https://docs.cfourdev.com.br/agentes/): O que o servidor MCP do cfourdev acrescenta, como conectar um agente de IA, o que ele consegue ler, e quais são os limites. - [As ferramentas do MCP](https://docs.cfourdev.com.br/agentes/ferramentas/): As dez ferramentas que o servidor MCP do cfourdev expõe, o que cada uma responde, e a ordem em que vale a pena chamá-las. - [O plugin do Claude Code](https://docs.cfourdev.com.br/agentes/plugin/): Como modelar a arquitetura conversando — o plugin cfour para o Claude Code, o que ele faz, como instalar e o que ele grava no repositório. - [Linha de comando ou MCP?](https://docs.cfourdev.com.br/agentes/cli-ou-mcp/): As duas interfaces do cfourdev para automação, o que cada uma faz e não faz, e como decidir qual usar. - [llms.txt](https://docs.cfourdev.com.br/agentes/llms/): Os dois arquivos que um agente busca sozinho para aprender o formato do cfourdev, o que eles contêm e como consumi-los. ## Referencia - [Campos do YAML](https://docs.cfourdev.com.br/referencia/yaml/): Todo campo de todo documento do formato, com tipo, obrigatoriedade, valor padrão e o que acontece quando ele falta. - [Seletores](https://docs.cfourdev.com.br/referencia/seletores/): Todos os seletores do formato, onde cada um pode ser usado, e a sintaxe deles no YAML e na linha de comando. - [Comandos do cfour](https://docs.cfourdev.com.br/referencia/cli/): Todo comando da ferramenta de linha de comando, com argumentos, opções e exemplos. - [Configuracao da aparencia](https://docs.cfourdev.com.br/referencia/configuracao/): Todos os campos de model/workspace.yaml, com os valores que vêm de fábrica. - [Variaveis de ambiente](https://docs.cfourdev.com.br/referencia/variaveis/): As variáveis que você pode configurar ao usar o cfourdev, por contexto, com obrigatoriedade, padrão e finalidade. - [Limites](https://docs.cfourdev.com.br/referencia/limites/): Todos os limites e cotas do cfourdev que alcançam quem usa o produto, com o valor e o que acontece ao ultrapassar. - [Ferramentas do MCP](https://docs.cfourdev.com.br/referencia/mcp/): As dez ferramentas do servidor MCP do cfourdev, com os parâmetros de cada uma e o que a resposta traz. ## Ajuda - [Quando algo da errado](https://docs.cfourdev.com.br/ajuda/problemas/): Os problemas mais comuns do cfourdev, por sintoma — a causa provável e como resolver. ## Conteudo completo - [A documentacao inteira num arquivo](https://docs.cfourdev.com.br/llms-full.txt): todo campo com os valores validos, os comandos da ferramenta, os limites e os exemplos ## Servidor MCP - `https://api.cfourdev.com.br/mcp` — consulta a arquitetura PUBLICADA de uma organizacao: busca, dependencias, notas, diagramas resolvidos e fluxos. Somente leitura, autenticado por OAuth 2.1 com PKCE. Sem registro dinamico de cliente: o `client_id` vai por configuracao — ver https://docs.cfourdev.com.br/agentes/