---
# System prepended metadata

title: Como o SourceLevel copia os arquivos de linters

---

# Como o SourceLevel copia os arquivos de linters

```mermaid
graph TD;
A[Procura no repositório pelo arquivo ebert.yml ou sourcelevel.yml]
A -->AB{O arquivo existe?}

AB-->|Sim|BA{O arquivo possui a chave styleguide?};
AB-->|Não|BB[Usar linters padrão do SourceLevel*];

BA-->|Sim|CA{A chave aponta para um repositorio existe?};
BA-->|Não|CB[Usar linters padrão do SourceLevel*];

CA-->|Sim|DA[Copiar os arquivos de linter];
CA-->|Não|DB[Usar linters padrão do SourceLevel*];

```

* atuamente os linters padrão do SourceLevel estão em `plataformatec/linters`

### Styleguide em repositório remoto

`.sourcelevel.yml` (`.ebert.yml`)
    - Linters (rubocop, remark, credo): especificar quais linters serão utilizados
`.rubocop.yml` -> customiza o linter
`.credo.exs`

Precedência

- repositório A
    `saroj/linters`
    - styleguide (repo remoto)
        - `.rubocop.yml`
            - `inherit_from`: `.rubocop-ptec.yml`
        - `.rubocop-ptec.yml` --> não funciona!

- repositório B
    - `.rubocop.yml`
        - `inherit_from`: `.rubocop-ptec.yml` -> styleguide -> `plataformatec/linters`
    - styleguide (repo remoto) `saroj/linters`
        - `.rubocop.yml`
            - `inherit_from`: `.rubocop-ptec.yml`
        - `.rubocop-ptec.yml` --> não funciona!

- plataformatec/linters
