Coroids agenter skriver kod på samma sätt som en utvecklare med ett skal. Det finns ingen språkspecifik integration att vänta på: om en kompetent utvecklare kunde öppna ditt repository, läsa det, ändra det och köra dess kommandon, kan agenten också göra det.
Det som varierar mellan olika språk är inte om Coroid kan arbeta med dem. Det handlar om hur mycket Coroid självständigt kan verifiera det den har ändrat — navigera semantiskt i din kod, bygga den, köra testsviten och starta den i en container. Det är den verkliga innebörden av språkstöd, och det är värt att förstå innan du bedömer ett resultat.
Agentens miljö
Varje uppgift körs i en ren, tillfällig Linux-arbetsyta som byggs från en Debian- image, som en användare utan privilegier. Ingenting sparas mellan uppgifter: varje uppgift startar från en ny klon utan cache och utan något förinstallerat utöver det som finns i imagen.
Imagen levereras med en generell verktygskedja, så de flesta projekt behöver ingen konfiguration alls:
| Område | Tillgängligt |
|---|---|
| JavaScript / TypeScript | Node.js 22, npm, npx |
| Python | Python 3, pip, venv, Poetry, Pipenv |
| Java | JDK (headless), Maven, Gradle |
| Go | Go-verktygskedja |
| PHP | PHP CLI, Composer |
| Ruby | Ruby, Bundler |
| C / C++ | GCC, G++, Make, CMake |
| Webbläsare | Chromium, för webbläsartester och verifiering av förhandsvisningar |
| Allmänt | git, curl, jq, ripgrep, grep, sed, awk, coreutils, PostgreSQL-klient |
Allt som inte finns med på listan — en mindre vanlig runtime, en specifik kompilatorversion, ett inbyggt beroende — är inget hinder. Det är en anledning att använda din egen container.
Det som varierar mellan olika språk
Tre saker, i fallande ordning efter hur mycket de påverkar kvaliteten.
Språkservrar
En språkserver ger agenten semantisk förståelse: gå till definition, hitta referenser och se riktiga typer. Med en språkserver kan agenten ställa precisa frågor om din kod i stället för att dra slutsatser från text. Utan en språkserver läser den — vilket fungerar, och fungerar bra på små och medelstora kodbaser, men blir mindre tillförlitligt ju större och mer indirekt kodbasen är.
Coroid kör språkservrar för TypeScript och JavaScript, Python, Java och C#.
För andra språk läser agenten i stället koden. Det är den enskilt största kvalitetsskillnaden mellan språk, och det är en gradskillnad, inte en artskillnad.
Bygg- och testkommandon
Agenten behöver kompilera ditt projekt och köra din testsvit för att verifiera sitt eget arbete. Coroid upptäcker dessa när ett projekt skapas, och upptäckten fungerar bättre för konventionella strukturer än för ovanliga.
Det här är konfiguration, inte kapacitet — se konfiguration av bygg och test. Ett korrekt par kommandon i ett ovanligt språk slår ett felaktigt par i ett populärt språk.
Containrar
Om ditt projekt kan köras i en container kan Coroid använda den som körmiljö, vilket eliminerar skillnader i miljön och tjänsteberoenden i ett enda steg.
När ditt språk saknar en språkserver
De praktiska alternativen, i den ordning de ger bäst effekt:
- Konfigurera bygg- och testkommandon uttryckligen i stället för att förlita dig på upptäckt. Det här är viktigare än språkservern.
- Använd en container. En fungerande container täpper till de flesta luckor på miljönivå.
- Investera i projektkontext. Bra kontext kompenserar delvis för det en språkserver skulle ha tillhandahållit genom att berätta för agenten om strukturer som den annars skulle behöva upptäcka.
Använda din egen container
Om ditt projekt redan bygger och testar i en Dockerfile eller Compose-fil som fungerar, är det den mest tillförlitliga konfigurationen du har tillgång till — bättre än ett välstött språk på standardimagen, eftersom containern kodifierar din verktygskedja, versioner och tjänsteberoenden exakt.
Testet är enkelt: klona ditt repository till en tom katalog och kör installation, bygge och test utan att konfigurera något annat. Om det fungerar, fungerar Coroid också.
Privata register och nätverksåtkomst
Arbetsytor kan nå nätverket, så publika paketregister fungerar utan konfiguration. Privata feeds — ett privat npm-register, ett internt Maven- repository eller en egen PyPI-instans — behöver autentiseringsuppgifter som anges i projektets konfiguration, eftersom den rena arbetsytan inte har några automatiskt tillgängliga uppgifter att ärva.
Projekt med flera språk
De flesta verkliga projekt använder mer än ett språk. En TypeScript-frontend med en Python-tjänst är helt normalt, och Coroid hanterar det. Omfattningen följer det språk som ändringen faktiskt gäller — en ändring i den välstödda delen får full behandling, oavsett vilket språk den andra delen är skriven i.