{
  "id": "contribuicao",
  "title": "Contribuição",
  "description": "Caminho recomendado para preparar o ambiente, entender as convenções e validar mudanças no James.",
  "type": "guide",
  "status": "observed",
  "visibility": "public",
  "tags": [
    "contribuição",
    "desenvolvimento",
    "testes"
  ],
  "related": [
    "primeiros-passos",
    "arquitetura",
    "decisoes",
    "traits-e-helpers"
  ],
  "sourceRefs": [
    "https://github.com/james-suite/james/blob/master/README.md",
    "https://github.com/james-suite/james/blob/master/composer.json",
    "https://github.com/james-suite/james/blob/master/phpunit.xml"
  ],
  "authors": [],
  "updated": null,
  "diagram": null,
  "body": "## Antes de alterar o código\n\nLeia [Primeiros passos](doc:primeiros-passos) para preparar o ambiente e [Stack e tecnologias](doc:tecnologias) para conhecer as dependências principais. As [decisões arquiteturais](doc:decisoes) registram escolhas que devem ser consideradas antes de introduzir uma nova abstração.\n\n## Ciclo local\n\n1. Faça a mudança no repositório da aplicação.\n2. Execute os testes Pest relacionados e, quando necessário, a suíte completa.\n3. Formate o PHP com Laravel Pint.\n4. Verifique o comportamento da interface com o servidor e o Vite quando a mudança for visual.\n\nOs comandos concretos estão no guia de instalação; esta página não substitui as instruções operacionais do repositório.\n\n## Escopo do projeto\n\nO James é um projeto pessoal e auto-hospedado. A documentação pública descreve o estado observado do código e não promete compatibilidade de uma API pública ou suporte multiusuário.\n\n## Onde continuar\n\n- [Traits e helpers](doc:traits-e-helpers) para padrões reutilizados no código;\n- [Roadmap](doc:roadmap) para módulos planejados;\n- [Repositório da aplicação](https://github.com/james-suite/james) para abrir uma mudança;\n- [Repositório da documentação](https://github.com/james-suite/docs) para corrigir ou ampliar estas páginas.",
  "sections": [
    {
      "id": "antes-de-alterar-o-codigo",
      "level": 2,
      "title": "Antes de alterar o código",
      "text": "Leia [Primeiros passos](doc:primeiros-passos) para preparar o ambiente e [Stack e tecnologias](doc:tecnologias) para conhecer as dependências principais. As [decisões arquiteturais](doc:decisoes) registram escolhas que devem ser consideradas antes de introduzir uma nova abstração.",
      "line": 1
    },
    {
      "id": "ciclo-local",
      "level": 2,
      "title": "Ciclo local",
      "text": "1. Faça a mudança no repositório da aplicação. 2. Execute os testes Pest relacionados e, quando necessário, a suíte completa. 3. Formate o PHP com Laravel Pint. 4. Verifique o comportamento da interface com o servidor e o Vite quando a mudança for visual.  Os comandos concretos estão no guia de instalação; esta página não substitui as instruções operacionais do repositório.",
      "line": 5
    },
    {
      "id": "escopo-do-projeto",
      "level": 2,
      "title": "Escopo do projeto",
      "text": "O James é um projeto pessoal e auto-hospedado. A documentação pública descreve o estado observado do código e não promete compatibilidade de uma API pública ou suporte multiusuário.",
      "line": 14
    },
    {
      "id": "onde-continuar",
      "level": 2,
      "title": "Onde continuar",
      "text": "- [Traits e helpers](doc:traits-e-helpers) para padrões reutilizados no código; - [Roadmap](doc:roadmap) para módulos planejados; - [Repositório da aplicação](https://github.com/james-suite/james) para abrir uma mudança; - [Repositório da documentação](https://github.com/james-suite/docs) para corrigir ou ampliar estas páginas.",
      "line": 18
    }
  ],
  "sourcePath": "content/contribuicao.md",
  "visuals": [],
  "apiVersion": 1
}
