Link to the English README file: README-en.md
Buggernaut är ett CLI-verktyg som genererar C#-övningar med inbyggda buggar via en LLM-provider du själv väljer. Tanken är enkel: öppna en fil, hitta buggen, kör testerna, bli bättre på programmering.
Programmet är designat att ge juniora utvecklare chansen att träna på att hitta och fixa buggar i kod, samt förbättra sin förståelse för programmeringskoncept utan att behöva lämna sin egen utvecklingsmiljö.
Inspirerat av ThePrimeagens Kata-Machine. Tack till Marcus Löf för idéer och bollplank.
Du kör ett kommando. Buggernaut frågar en AI om en C#-övning, skriver ut en .cs-fil med en
medveten bugg och en tillhörande testfil. Din uppgift är att hitta och fixa buggen tills testerna blir gröna.
Inga webbläsarflikar. Ingen registrering. Allt händer i din editor!
- Förutsättningar
- Snabbstart
- Daglig användning
- Konfiguration
- Köra tester
- Vanliga problem
- Vill du bidra?
- Kontakt
- .NET 10 SDK
- En API-nyckel till valfri provider (t.ex.
Gemini,OpenAI,Anthropic,Mistral)
Ollamafungerar utan API-nyckel, men kräver en lokal server.
Vill du testa utan API-nyckel först? Kör med --dry-run, det funkar direkt.
Alla kommandon körs från Buggernaut/ om inget annat står.
cd Buggernaut
dotnet tool restoreKör i tools/Buggernaut.Generator/:
cd tools/Buggernaut.Generator
dotnet user-secrets set "LLM:Gemini:ApiKey" "din-nyckel"Nyckeln lagras lokalt på din dator och committas aldrig till Git.
Har du en nyckel till en annan leverantör? Byt bara ut Gemini:
dotnet user-secrets set "LLM:OpenAI:ApiKey" "din-nyckel"
dotnet user-secrets set "LLM:Anthropic:ApiKey" "din-nyckel"
dotnet user-secrets set "LLM:Mistral:ApiKey" "din-nyckel"
dotnet user-secrets set "LLM:OpenRouter:ApiKey" "din-nyckel"Problem att hitta API-nyckeln till din leverantör? Kolla här:
- Gemini: https://aistudio.google.com/app/apikey
- OpenAI: https://platform.openai.com/api-keys
- Anthropic: https://console.anthropic.com/settings/keys
- Mistral: https://console.mistral.ai/
- OpenRouter: https://openrouter.ai/settings/keys
cd Buggernaut
dotnet buggernaut generateEn ny .cs-fil dyker upp i src/Buggernaut.Exercises/.
Öppna den, hitta buggen, fixa den.
dotnet buggernaut generate # generera ny övning
dotnet buggernaut generate -c LINQ -d Hard # välj kategori och svårighetsgrad
dotnet buggernaut generate --dry-run # testa utan API-nyckel
dotnet test exercises.slnf # kör dina övningstester
dotnet buggernaut hint <ClassName> # ledtråd när du kört fast
dotnet buggernaut explain <ClassName> # förklaring när testerna är grönaTips: Se alla flaggor och kategorier med:
dotnet buggernaut --help
Öppna tools/Buggernaut.Generator/appsettings.json och ändra "Provider":
{
"LLM": {
"Provider": "Gemini"
}
}Tillgängliga providers: Gemini, OpenAI, Anthropic, Mistral, Ollama, OpenRouter.
Saknar du en leverantör? Skicka in förslag till mig så löser vi det! :)
Vill du köra lokalt utan internet? Sätt upp Ollama och byt till:
{
"LLM": {
"Provider": "Ollama",
"Ollama": {
"BaseUrl": "http://localhost:11434/v1",
"Model": "llama3"
}
}
}{
"LLM": {
"Provider": "Gemini",
"Gemini": {
"Model": "gemini-2.5-flash"
},
"OpenAI": {
"Model": "gpt-4o-mini"
},
"Anthropic": {
"Model": "claude-3-5-haiku-latest"
},
"Mistral": {
"Model": "mistral-small"
},
"Ollama": {
"BaseUrl": "http://localhost:11434/v1",
"Model": "llama3"
}
}
}| Kommando | Vad som körs |
|---|---|
dotnet test exercises.slnf |
Dina övningstester (Buggernaut.Tests) |
dotnet test generator.slnf |
Generatorns egna enhetstester |
dotnet test |
Alla tester |
dotnet buggernaut hittas inte
- Kör
dotnet tool restoreiBuggernaut/.
API-nyckel hittas inte
- Kontrollera att
user-secretssattes itools/Buggernaut.Generator/.
Fel provider eller modell används
- Kontrollera
tools/Buggernaut.Generator/appsettings.json.
Kul! Läs CONTRIBUTING.md för riktlinjer kring brancher, commits och pull requests. Ingen press eller stress, vi lär oss tillsammans.
Vill du nå mig så finns mina kontaktuppgifter på GitHub, eller så slänger du iväg ett mail!



