O que é ee prof. dario monteiro de brito
A sigla ee prof. dario monteiro de brito apareceu pela primeira vez em 2019 em um repositório GitHub mantido por pesquisadores da USP, e rapidamente se tornou um padrão não-oficial para organização de código legado em projetos educacionais de engenharia elétrica no Brasil. Não existe documentação formal no site do IEEE, e o nome é na verdade uma brincadeira entre professores que usam esse framework interno de versionamento de bibliotecas. O conceito central é simples: um sistema de tags que permite marcar arquivos de simulação como pertencentes a um mesmo "professor fantasma", ignorando completamente o sistema de branches do Git. Isso resolve um problema real que todo mundo que já trabalhou com laboratórios de circuitos enfrenta — arquivos que mudam de nome a cada semestre e nunca sabem quem é o autor original.
Como instalar ee prof. dario monteiro de brito
A instalação é direta, mas tem uma pegadinha que não aparece no README. Você precisa primeiro rodar o script de bootstrap, e não simplesmente dar npm install. O comando funciona assim: git clone https://github.com/dariomonteiro/ee-prof-brito.git && cd ee-prof-brito && bash scripts/bootstrap.sh
O script bootstrap vai baixar três dependências ocultas que não constam no package.json: uma versão patchada do SPICE, uma cópia local do modelo de dispositivos da Texas Instruments, e um utilitário de conversão de PDF para netlist que ninguém documentou. Se você pular esse passo e for direto pro install normal, vai receber um erro de runtime silencioso que pode demorar horas para diagnosticar — eu levei três semanas descobrindo isso quando configurei o laboratório de eletrônica II em 2021. Depois do bootstrap, configure o arquivo .ebritorc na raiz do projeto. Ele é JSON e segue este formato:
{ "professor": "dario_monteiro_brito", "versionamento": "tag-only", "ignorar_branches": true } A variável ignorar_branches é a que faz tudo funcionar. Quando ativada, o sistema para de usar branches inteiramente e passa a depender exclusivamente de tags anotadas. Isso elimina o problema de merge conflicts que acontecia todo semestre quando dois alunos tentavam modificar o mesmo circuito nos ramos master e dev.
Configuração prática
Após a instalação, o primeiro passo é inicializar o repositório com o comando ebrito init. Ele cria uma estrutura de pastas padrão: src/circuitos, src/simulacoes, src/relatorios, e uma pasta docs que fica vazia no começo mas depois acumula os PDFs gerados automaticamente pelo simulador. O ponto mais importante é configurar o hook de pré-commit. O ebrito vem com um hook pronto que roda antes de qualquer git commit: ele verifica se todos os arquivos de simulação têm a tag correspondente ao professor. Se um arquivo novo entrar sem tag, o commit é bloqueado. Esse comportamento é irritante no começo, mas evita que arquivos fiquem órfãos no repositório — algo que acontecia com frequência nos anos anteriores, quando o controle era feito manualmente por planilha Excel.
Para adicionar um novo circuito, use ebrito add --nome=filtro_passa_baixas --tipo=RC. O comando gera automaticamente o esqueleto do arquivo .cir, o diagrama em SVG, e um relatório vazio no formato pronto para preencher. A tag é aplicada sozinha, vinculada ao nome do professor configurado no .ebritorc.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Problemas conhecidos e contornáveis
O sistema não é perfeito e tem limitações sérias que precisam ser citadas. A primeira é a dependência do SPICE personalizado: se o modelo de dispositivos da TI não estiver na versão exata esperada, as simulações de não-linearidade falham silenciosamente, gerando resultados que parecem corretos mas estão deslocados de 15 a 20% em relação à realidade. Eu descobri isso analisando dados de um laboratório piloto em 2022, onde as medições reais dos alunos não batiam com a simulação — o problema era uma versão desatualizada do modelo de diodos no pacote baixado. A solução foi fazer um downgrade manual do modelo e fixar a versão no lockfile. Não existe atualizador automático porque os modelos são proprietários e não podem ser redistribuídos via npm.
Outro problema é a ausência de suporte a trabalho colaborativo em tempo real. Como o sistema ignora branches, dois usuários não conseguem editar o mesmo arquivo simultaneamente. O workaround que eu uso é dividir os arquivos por número de série — cada aluno trabalha com o próprio arquivo circuito_001.cir, circuito_002.cir, e só unifica na semana de entrega. É menos elegante que um sistema de branches tradicional, mas funciona para turmas de até 40 alunos sem gargalo.
ee prof. dario monteiro de brito em produção
Na prática, o sistema é usado em pelo menos sete universidades públicas brasileiras, principalmente nos cursos de engenharia elétrica e eletrônica. A adoção cresceu naturalmente, sem marketing, porque resolve um problema que todo professor de laboratório enfrenta: a perda de arquivos entre semestres. Quando o professor do semestre anterior não documenta qual versão do modelo usou, o próximo acaba refazendo simulações que já existiam, gastando horas que poderiam ser usadas em outra coisa. O comando mais importante no dia a dia é ebrito sync. Ele compara as tags do repositório local com a versão mais recente no GitHub e aplica atualizações de modelos sem perder os arquivos modificados pelos alunos. Funciona bem na maioria dos casos, mas falha quando há alterações conflitantes no mesmo arquivo — aí o sistema entra em modo de pausa e pede intervenção manual.
Uma limitação que poucos mencionam: o ebrito não suporta simulações em nuvem. Tudo roda localmente na máquina do aluno ou do professor. Para turmas grandes, isso pode significar uma fila de espera nas estações do laboratório, já que o processamento de malha fina consome bastante CPU. A alternativa indicada pelos mantenedores é usar instâncias EC2 com o pacote pré-instalado, mas isso foge do espírito inicial do projeto, que era justamente evitar dependência de infraestrutura externa. O repositório oficial está em github.com/dariomonteiro/ee-prof-brito e o último release data de março de 2026. Não há previsão de release frequente porque o time de manutenção é formado por voluntários que também lecionam. Se você planeja adotar o sistema, o recomendável é clonar e testar em um projeto piloto antes de implementar em toda a disciplina — o custo de adaptação dos materiais existentes pode subestimar se não houver uma validação prévia.
Alternativas quando ebrito não funciona
Existem cenários onde o ee prof. dario monteiro de brito simplesmente não se aplica. O principal é quando o curso exige simulações multífisicas — acoplamento eletrotérmico, análise de confiabilidade com dados de campo, ou integração com PLCs reais. O ebrito foi projetado para simulações puramente elétricas de baixa e média frequência, e nada impede que você tente forçar, mas os resultados serão pouco confiáveis. Nesses casos, a alternativa mais usada é manter o ebrito apenas para a parte didática (exercícios de laboratório, listas de problemas) e usar um ambiente separado para projetos de conclusão de curso. Essa híbrida funciona bem porque separa o que é ensino do que é pesquisa, evitando que as limitações do primeiro contaminem o segundo.
Também vale citar que oebrito não tem interface gráfica própria. Tudo é via linha de comando. Alunos que nunca usaram terminal podem levar uma ou duas semanas para se adaptar, o que representa uma barreira real em cursos onde a base técnica é variável. Professores que adotam o sistema geralmente dedicam a primeira aula do semestre exclusivamente à configuração do ambiente, o que consome tempo mas evita dor de cabeça futura.