O Benigno é um agente que escreve e revisa trabalhos de Java no padrão exato que o professor Maligno cobra: não só código que funciona, mas código que o professor espera ver para dar a nota máxima.
Funciona no OpenCode, no Cursor e em Docker.
Todo o material (apostila, caderno, exemplos, provas, trabalho) foi lido uma vez e destilado em 38 subagentes especialistas (maligno/*), cada um com as regras e os trechos de código do professor sobre um único tema.
benigno (principal) ──► subagentes maligno/* ──► (último caso) 1 arquivo de Materias de aula/
- O
benignoclassifica o pedido e consulta só os subagentes necessários, em paralelo. - Os subagentes não têm ferramentas: respondem com o conhecimento embutido, no formato
REGRA / CÓDIGO / FONTE / ALERTAS. - Se um tema não estiver coberto, o subagente responde
NAO_COBERTOapontando um arquivo; só então obenignoo lê.
No Cursor não há subagentes: o modelo lê os mesmos arquivos em .cursor/skills/benigno-java/maligno/ quando precisa.
| Caminho | Para quem | Guia |
|---|---|---|
| OpenCode (local) | Quem quer o agente completo, com subagentes em paralelo | docs/OPENCODE.md |
| Docker | Quem não quer instalar OpenCode, Git nem JDK | docs/DOCKER.md |
| Cursor (desde a v7) | Quem usa o Cursor como editor | docs/CURSOR.md |
Em todos os casos, primeiro baixe o repositório:
git clone https://github.com/egili/Benigno-Java.gitSem Git? Baixe o ZIP em https://github.com/egili/Benigno-Java (botão Code → Download ZIP).
"Benigno, crie a classe Investimento com código, descrição, data de abertura, valor e taxa, com aplicar e resgatar."
"Benigno, implemente o Tabuleiro do Jogo da Velha."
"Benigno, revise este código como o professor corrigiria."
O Benigno segue o que chamamos de MDD: escrever o código pensando no crivo do professor, não só no funcionamento. A explicação teórica (pilares, sintomas de código fora do padrão e escala de descontos) está em docs/MDD.md.
- Auditoria: em trabalho valendo nota, peça "rode o auditor" antes de entregar. Ele lista onde o professor tiraria pontos (–1,5 por método obrigatório errado, faltando ou desnecessário).
- Java 8: o Benigno evita
var,record, streams e lambdas; se aparecer algo moderno, peça para refatorar. - Compilação: como as mensagens de exceção têm acento, compile com
javac -encoding UTF-8 *.java. - Índice de materiais:
.opencode/indice-materiais.mdmapeia cada tema ao arquivo de origem.
Achou um erro, uma regra do professor mal representada ou tem uma ideia de melhoria? Há três caminhos:
- Abrir uma issue: em https://github.com/egili/Benigno-Java/issues, descreva o problema com o pedido que você fez ao Benigno ou sua ideia de melhoria.
- Enviar uma alteração (pull request): faça um fork do repositório, crie uma branch com a sua mudança (
git checkout -b minha-mudanca), faça o commit e abra um pull request para a branchmain. Não é preciso ser colaborador para isso. - Pedir acesso de colaborador: se você vai contribuir com frequência, peça permissão de escrita no repositório.
Antes de enviar uma alteração, confira que os .java continuam compilando com javac -encoding UTF-8 *.java e que o padrão das regras (maligno/*) não foi quebrado. Mudanças nas regras devem seguir a fonte do professor, não a preferência de quem contribui.
Para acessar o histórico de versões do Benigno, clique aqui.