Os agentes do Coroid escrevem código da mesma forma que um engenheiro usaria o terminal. Não há necessidade de esperar por integrações específicas por linguagem: se um desenvolvedor competente consegue abrir seu repositório, lê-lo, alterá-lo e executar seus comandos, o agente também consegue.
O que varia conforme a linguagem não é se o Coroid pode operar com ela. É o grau em que o Coroid consegue independentemente provar sobre a alteração que fez — navegar semanticamente pelo seu código, compilá-lo, executar o conjunto de testes e iniciá-lo em um contêiner. Esse é o verdadeiro objeto do suporte a linguagens, e vale a pena entender isso antes de julgar um resultado.
O ambiente do agente
Toda tarefa é executada em uma Área de trabalho Linux limpa e descartável, baseada em uma imagem Debian, por um usuário sem privilégios. Nada persiste entre as tarefas: cada uma começa com um clone novo, sem cache e sem nada pré-instalado além da imagem.
A imagem inclui um conjunto de ferramentas de uso geral, portanto a maioria dos projetos não precisa de configuração adicional:
| Área | Disponível |
|---|---|
| JavaScript / TypeScript | Node.js 22, npm, npx |
| Python | Python 3, pip, venv, Poetry, Pipenv |
| Java | JDK (headless), Maven, Gradle |
| Go | Conjunto de ferramentas Go |
| PHP | PHP CLI, Composer |
| Ruby | Ruby, Bundler |
| C / C++ | GCC, G++, Make, CMake |
| Navegador | Chromium, para testes de navegador e verificação de pré-visualização |
| Geral | git, curl, jq, ripgrep, grep, sed, awk, coreutils, cliente PostgreSQL |
Qualquer item que não esteja nessa lista — um runtime menos comum, uma versão específica de compilador ou uma dependência nativa — não é um impedimento. É motivo para trazer seu próprio contêiner.
O que varia conforme a linguagem
Três aspectos, em ordem decrescente de impacto na qualidade.
Servidores de linguagem
Um servidor de linguagem fornece compreensão semântica ao agente: ir para a definição, encontrar referências e tipos reais. Com ele, o agente pode fazer perguntas precisas sobre seu código em vez de inferir respostas a partir do texto. Sem ele, o agente apenas lê — o que funciona bem em bases de código pequenas e médias, mas é menos confiável em projetos maiores e mais complexos.
Coroid executa servidores de linguagem para TypeScript e JavaScript, Python, Java e C#.
Outras linguagens recorrem à leitura. Essa é a maior diferença de qualidade entre as linguagens, uma distinção de grau, não de tipo.
Comandos de compilação e teste
O agente precisa compilar seu projeto e executar sua suíte de testes para verificar seu próprio trabalho. Coroid detecta esses comandos ao criar um projeto, sendo mais eficaz em layouts convencionais do que em estruturas incomuns.
Isso é configuração, não capacidade — veja configuração de compilação e teste. Um par correto de comandos em uma linguagem obscura supera um par incorreto em uma linguagem popular.
Contêineres
Quando seu projeto pode ser executado em um contêiner, Coroid pode usar esse ambiente de execução, eliminando discrepâncias de ambiente e dependências de serviços de uma só vez.
Quando sua linguagem não tem servidor de linguagem
As soluções práticas, pela ordem de eficácia:
- Configure comandos de compilação e teste explicitamente em vez de depender da detecção. Isso é mais importante do que o servidor de linguagem.
- Containerizar. Um contêiner funcional preenche a maioria das lacunas de nível de ambiente.
- Invista em contexto do projeto. Um bom contexto compensa parcialmente o que um servidor de linguagem forneceria, informando ao agente sobre a estrutura que, de outra forma, precisaria descobrir.
Utilizar seu próprio contêiner
Se seu projeto compila e testa em um Dockerfile ou arquivo Compose que já funciona, essa é a configuração mais confiável disponível — melhor do que uma linguagem bem suportada na imagem padrão, pois o contêiner codifica exatamente sua cadeia de ferramentas, versões e dependências de serviços.
O teste é simples: clone seu repositório em um diretório vazio e execute install, compilar e testar sem nenhuma outra configuração. Se isso funcionar, Coroid também funcionará.
Registros privados e acesso à rede
As Áreas de trabalho podem acessar a rede, portanto os registros de pacotes públicos funcionam sem configuração. Feeds privados — um registro npm privado, um repositório Maven interno, um PyPI auto-hospedado — exigem credenciais fornecidas como configuração do projeto, pois a área de trabalho limpa não herda credenciais ambientais.
Projetos com múltiplas linguagens
A maioria dos projetos reais usa mais de uma linguagem. Uma interface TypeScript com um serviço Python é comum, e Coroid lida com isso. A profundidade do processamento segue a linguagem onde a alteração ocorre — uma mudança na parte bem suportada recebe tratamento completo, independentemente da outra parte do código.