
Coleção curada de recursos de aprendizagem em cibersegurança, writeups de CTF, artigos de pesquisa e laboratórios práticos para desenvolvimento de habilidades práticas em segurança web, exploração, OSINT e forense.
A IDE de IA de código aberto que planeja antes de codificar.
Licença MIT · Início Rápido · O que Modo Adiciona · Contribuindo
Eu queria um pequeno recurso em uma ferramenta de codificação com IA. Não encontrei uma maneira de sugeri-lo. Então me perguntei: quão difícil é realmente construir algo como Kiro, Cursor ou Windsurf?
Acontece que — não é tão difícil quanto você imagina. Começando pelo editor Void (ele próprio um fork do VS Code), cheguei a aproximadamente 60-70% do que essas ferramentas oferecem em um curto período de construção. Foi genuinamente divertido.
Este é o Modo. Uma IDE desktop independente onde prompts se tornam planos estruturados antes de se tornarem código. Código aberto, licença MIT, seu para customizar.
Tudo abaixo foi construído sobre o chat de IA existente do Void, edição inline (Cmd+K), autocompletar, suporte a múltiplos provedores de LLM, uso de ferramentas e integração MCP. Aqui está o que há de novo:
A maioria das ferramentas de IA vai prompt → código. O Modo vai prompt → requisitos → design → tarefas → código.
Uma especificação reside em .modo/specs/<nome>/ como três arquivos markdown:
.modo/specs/auth-flow/
├── requirements.md # histórias de usuário, critérios de aceitação
├── design.md # arquitetura, componentes, modelos de dados
└── tasks.md # lista de verificação de etapas de implementação
Crie uma com Cmd+Shift+S ou escolhendo o modo Spec no seletor de sessão. Escolha feature ou bugfix, depois workflow requisitos-primeiro ou design-primeiro. O agente preenche cada documento, você revisa, então ele executa as tarefas uma por uma — marcando como concluídas enquanto avança.
As tarefas persistem no disco. Feche a IDE, volte, continue de onde parou.
Abra qualquer tasks.md e cada tarefa pendente tem um botão "▶ Executar Tarefa" inline clicável. Um botão "Executar Todas as Tarefas Pendentes" aparece no topo. Tarefas em execução mostram um ícone de carregamento, concluídas mostram um checkmark. O agente marca - [ ] → - [~] → - [x] à medida que trabalha.
Documentos Markdown em .modo/steering/ que injetam regras do projeto em toda interação com IA — sem necessidade de repetir.
---
inclusion: always
---
# Regras do Projeto
- Usar TypeScript strict mode
- Todos os endpoints precisam de validação de entrada
Três modos de inclusão:
always — toda interaçãofileMatch — quando o arquivo ativo corresponde a um padrão globmanual — referenciado via comandos / no chatSuporta referências #[[file:caminho]] para vincular especificações OpenAPI, esquemas GraphQL ou qualquer documento do projeto.
Configurações JSON em .modo/hooks/ que automatizam ações em torno do ciclo de vida do agente.
{
"name": "Lint ao Salvar",
"version": "1.0.0",
"when": { "type": "fileEdited", "patterns": ["**/*.ts"] },
"then": { "type": "runCommand", "command": "npx eslint --fix ${filePath}" }
}
10 tipos de evento: fileEdited, fileCreated, fileDeleted, promptSubmit, agentStop, preToolUse, postToolUse, preTaskExecution, postTaskExecution, userTriggered. Dois tipos de ação: askAgent ou runCommand. Hooks pré-ferramenta podem negar execução. Detecção de dependência circular embutida.
Uma pílula na barra de status que alterna entre Autopilot (agente age autonomamente) e Supervisionado (agente pausa para aprovação). Conectada diretamente às configurações de aprovação automática para edições, comandos de terminal e ferramentas MCP.
Múltiplas sessões de chat como abas. Cada uma tem seu próprio thread, contexto e histórico. Abra novas, feche antigas ou execute todas ao mesmo tempo. Um painel de histórico pesquisável permite encontrar conversas passadas.
Inicie uma sessão no modo Vibração para exploração livre, ou no modo Especificação para desenvolvimento estruturado. No modo Especificação, seu prompt aciona o workflow completo requisitos → design → tarefas. O conteúdo da especificação ativa é automaticamente injetado no prompt do sistema LLM.
Crie agentes paralelos para subtarefas independentes. Cada um recebe seu próprio thread e acesso a ferramentas. Acompanhe o status, cancele tarefas em execução ou limpe as concluídas.
Pacotes de conhecimento instaláveis que agrupam documentação, arquivos de direcionamento e configurações MCP. Poderes embutidos para TypeScript, React, Testes, Design de API e Docker. Ative com base em palavras-chave em seus prompts. Instale poderes personalizados de URLs.
Uma barra lateral com seções recolhíveis para Especificações (com barras de progresso e contagens de tarefas), Hooks de Agente (mostrando fluxo evento → ação), Direcionamento (mostrando modo de inclusão) e Poderes.
Digite / no chat para acessar hooks manuais, arquivos de direcionamento e comandos embutidos: criar especificação, executar tarefas, exportar conversa, inicializar workspace.
Arquivos de direcionamento e a especificação ativa são automaticamente prepostos a toda interação com o LLM. O agente segue suas regras do projeto e sabe o que está construindo sem precisar ser informado a cada vez.
Um tema "Modo Dark" especialmente construído com acentos verde-azulados, realce de sintaxe ajustado e cores de terminal.
Um avatar Modo aparece antes de cada resposta com expressões aleatórias durante o streaming e uma expressão calma padrão após a conclusão.
Ícone de aplicativo personalizado, título da janela, logotipo de marca d'água, identidade do produto, protocolo de URL (modo://) e diretórios de dados (.modo-editor/). Todas as referências ao Void na interface foram substituídas por equivalentes Modo.
Modo: Inicializar Workspace cria a estrutura completa de diretórios .modo/ com arquivos de direcionamento padrão e modelos de configuração.
Exporte qualquer conversa como Markdown para a área de transferência a partir da paleta de comandos.
O Modo não existiria sem estes projetos:
| Projeto | O que fornece | Licença |
|---|---|---|
| Void | Chat de IA, edição inline, autocompletar, LLM multi-provedor, uso de ferramentas, MCP, motor de aplicação | MIT |
| VS Code | Núcleo do editor, sistema de extensões, terminal, sistema de arquivos, tudo por baixo | MIT |
| Roo Code | Alguns padrões referenciados durante o desenvolvimento | Apache 2.0 |
O Void em si fornece: suporte a múltiplos provedores (Anthropic, OpenAI, Gemini, Ollama, Mistral, Groq, OpenRouter), barra lateral de chat, edição inline Cmd+K, autocompletar, aplicação rápida/lenta, chamada de ferramentas, integração MCP, integração SCM e o sistema de configurações.
O Modo adiciona tudo na seção O que Modo Adiciona sobre essa base.