MiniDev: o Clippy do Word voltou — e dessa vez com sarcasmo
Lembra do Clippy? Aquele clipe animado do Word 97 que aparecia do nada com "Parece que você está escrevendo uma carta. Deseja ajuda?" — geralmente quando você estava na linha 200 de um relatório e não precisava de ajuda nenhuma?
Pois bem. O MiniDev é a versão 2026 dessa ideia. Só que ao invés de um clipe metálico irritante, é uma personagem animada dentro do VS Code. E ao invés de te oferecer ajuda que você não pediu, ela comenta exatamente o que você está fazendo — com contexto, com personalidade, e às vezes com um nível de julgamento que você não esperava de uma extensão.
A ideia por trás do projeto
A maioria dos assistentes de IA para desenvolvimento segue a mesma fórmula: uma caixa de texto, um botão de enviar, e uma resposta. Funcional. Eficiente. Completamente sem alma.
O MiniDev tenta algo diferente: ser um companheiro, não uma ferramenta.
Isso muda tudo na abordagem. Uma ferramenta espera você perguntar. Um companheiro já está olhando o que você está fazendo e tem opinião sobre isso.
O que o MiniDev faz (e como ele pensa)
Lê o contexto do seu projeto
O assistente analisa em tempo real:
- Qual arquivo está aberto e em qual linguagem
- O framework detectado na estrutura do projeto
- Erros e avisos do terminal
- Logs do compilador
- Histórico recente do Git
A partir disso, ele gera comentários contextuais. Não genéricos — contextuais.
Exemplos reais:
"Você está usando PHP 8.1. Sabia que na versão 8.3 existem resources que simplificam exatamente isso que você está tentando fazer? Perguntando por curiosidade."
"Esse método já tem 87 linhas. Não vou dizer nada. Apenas observando."
"Seu último commit foi há 4 dias. Tudo bem?"
Tem personalidade configurável
O diferencial não é só o que ele fala — é o como ele fala. O MiniDev tem modos de personalidade:
| Modo | Tom | |---|---| | Mentor | Paciente, didático, explica o porquê | | Amigável | Leve, encorajador, sem julgamento | | Sarcástico | Direto ao ponto, levemente impiedoso | | Gamer | Trata seu progresso como missões e conquistas | | Professor | Formal, referencia documentação, adora exemplos | | Corporativo | Fala em termos de "entregáveis" e "janela de oportunidade" |
O nível de sarcasmo é ajustável separadamente. Porque sim, tem gente que quer o máximo.
Considera o contexto temporal
O assistente sabe que horas são. E usa isso.
"São 23h47 de domingo. Respeito o comprometimento. Não a decisão, mas o comprometimento."
"Hoje é feriado nacional. Esse bug deve ser urgente mesmo."
"Sexta-feira às 17h e você está refatorando? Corajoso."
A parte técnica — e por que é mais simples do que parece
Esse é o ponto onde a maioria das pessoas desiste antes de começar. "Extensão para VS Code com avatar animado e IA integrada? Isso deve ser complexo demais."
Não é. Pelo menos não da forma que você imagina.
Extensões VS Code são desenvolvimento web
A API do VS Code expõe um sistema de Webview que nada mais é do que um iframe com poderes extras. Você escreve HTML, CSS e TypeScript. Os dados trafegam via postMessage. A lógica roda em Node.js.
Se você já fez qualquer frontend moderno, você já tem 70% do conhecimento necessário.
// Registrar a extensão é tão simples quanto isso
export function activate(context: vscode.ExtensionContext) {
const panel = vscode.window.createWebviewPanel(
'minidev',
'MiniDev',
vscode.ViewColumn.Two,
{ enableScripts: true }
);
panel.webview.html = getMiniDevHTML();
}
O avatar com Live2D
O Live2D Cubism SDK tem uma versão gratuita para uso não comercial. A integração é feita via canvas no webview. Você carrega o modelo, define as expressões e os parâmetros mudam em resposta a eventos.
// Trocar expressão baseado no contexto
function setAvatarMood(mood: 'happy' | 'worried' | 'sarcastic') {
panel.webview.postMessage({ type: 'SET_MOOD', mood });
}
// Dentro do webview
window.addEventListener('message', ({ data }) => {
if (data.type === 'SET_MOOD') {
live2dModel.expression(data.mood);
}
});
A IA por baixo
O MiniDev usa a API da OpenAI com system prompts altamente contextualizados. O segredo está no prompt, não no modelo.
Você monta um objeto com todo o contexto capturado — linguagem, framework, arquivo aberto, erros ativos, horário, último commit — e manda como contexto para o modelo. Ele responde como o personagem configurado.
const context = {
language: detectLanguage(activeFile),
framework: detectFramework(workspaceRoot),
errors: getActiveErrors(),
lastCommit: await getLastCommitDate(),
time: new Date().toLocaleString('pt-BR'),
personality: userConfig.personality,
};
const response = await openai.chat.completions.create({
model: 'gpt-4o-mini', // barato e rápido o suficiente
messages: [
{ role: 'system', content: buildSystemPrompt(context) },
{ role: 'user', content: 'O que você acha do que estou fazendo agora?' },
],
});
Lendo o Git local
O VS Code já tem acesso ao git do workspace via extensão vscode.git. Você só precisa ativar a API:
const gitExtension = vscode.extensions.getExtension('vscode.git')?.exports;
const git = gitExtension?.getAPI(1);
const repo = git?.repositories[0];
const lastCommit = repo?.state.HEAD?.commit;
const commitDate = await repo?.getCommit(lastCommit);
Sem OAuth, sem API externa. Git local, direto.
O que faz o projeto ser interessante de verdade
Não é o avatar. Não é a IA. É a combinação de contexto.
A maioria das ferramentas analisa uma coisa: o código, ou o histórico, ou o horário. O MiniDev analisa tudo ao mesmo tempo e gera uma resposta que parece que alguém estava olhando por cima do seu ombro o tempo todo.
Isso cria uma sensação estranha e satisfatória de ser acompanhado — mesmo quando o personagem está sendo sarcástico sobre suas escolhas de variável.
Stack do projeto
| Camada | Tecnologia | |---|---| | Extensão | TypeScript + VS Code Extension API | | Interface | React + Webview API | | Avatar | Live2D Cubism SDK | | IA | OpenAI API (GPT-4o mini) | | Git | vscode.git API | | Armazenamento | VS Code ExtensionContext (globalState) |
O que vem a seguir
O projeto ainda está em desenvolvimento, mas o MVP já funciona com:
- Detecção de linguagem e framework
- Comentários automáticos baseados em erros
- Personalidade configurável
- Reações ao horário e ao histórico de commits
Os próximos passos são integração completa com o GitHub via OAuth (para leitura de repositórios remotos e frequência de commits) e sistema de memória persistente do usuário — para que o assistente realmente aprenda suas preferências ao longo do tempo.
O Clippy era irritante porque não entendia contexto nenhum. O MiniDev entende contexto demais — e usa isso pra comentar exatamente o que você preferia que ficasse sem comentários.
Isso é o projeto. Simples na execução, absurdo na personalidade.
