>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
TypeScript

Hoe Stop Je Met Verdrinken in Andermans Code en Gaat Leven met Sourcebot

Herkenbaar scenario: je stapt in een nieuw project of probeert grip te krijgen op een log monster dat drie generaties developers voor je hebben geschreven. De IDE probeert eerlijk te helpen, maar heen en weer springen tussen functiedefinities in tien verschillende repositories wordt een queeste. Meestal wil je in zulke momenten gewoon aan iemand vragen: "Waar zit de betalingsverwerkingslogica eigenlijk?" Maar collega's zijn druk, en de documentatie is al een jaar achterhaald.

Ik ben onlangs Sourcebot tegengekomen. Het is een open-source tool die je zelf kunt hosten en gebruiken als persoonlijke gids door je codebase. Het kan je repositories indexeren en vragen beantwoorden in natuurlijke taal, met verwijzingen naar specifieke coderegels.

Wat Is Het Eigenlijk

Om het kort te zeggen: Sourcebot is een mix van geavanceerde codezoekfunctie en een LLM-assistent. Het belangrijkste kenmerk is dat het zelfgehost is. Dit neemt de eeuwige beveiligingsvraag weg: "Komt onze broncode terecht bij OpenAI?" Je bepaalt waar de service draait en welke data het ziet.

De tool pakt verschillende pijnpunten tegelijk aan. Ten eerste geeft het je snel zoeken over al je branches en repositories tegelijk. Ten tweede bouwt het een IDE-niveau navigatiegrafiek direct in de browser. En als kers op de taart — een chat die de context van je project begrijpt.

Waartoe Het in Staat Is

Ontwikkelaars hebben verschillende hoofdgebieden genoemd die echt tijd besparen in de dagelijkse routine.

Slimme Chat met Context

Je stelt een vraag zoals: "Hoe is autorisatie ingesteld in deze service?" Sourcebot raadt niet zomaar willekeurig — het gebruikt zijn zoekindexen, vindt de relevante bestanden, analyseert verbanden en geeft een antwoord met citaten. Dit is handiger dan gewone ChatGPT omdat je bewijs krijgt in de vorm van codelinks.

Zoeken Zonder Vertraging

Normaal greppen door een enorme monorepo kan lang duren. Hier werkt zoeken heel snel. Het ondersteunt reguliere expressies, filtert op taal en repository, evenals logische operatoren. Je kunt snel alle plaatsen vinden waar een specifieke bibliotheek of bepaalde configuratie wordt gebruikt, zelfs als je tientallen projecten hebt.

Soms wil je gewoon even door de code bladeren zonder het lokaal te downloaden. De ingebouwde explorer ondersteunt syntax highlighting en Ga naar Definitie. Dit werkt cross-repository: als een functie is gedefinieerd in een naburig project, brengt Sourcebot je daar naartoe.

Hoe Het Onder de Motorkap Werkt

Het project is geschreven in TypeScript. Het vereist Docker om te draaien, aangezien de makkelijkste manier om te deployen via Docker Compose is. De architectuur is ontworpen zodat je je eigen LLM's kunt aansluiten. In de config kun je modelproviders specificeren, authenticatie instellen en aangeven welke repositories van GitHub of GitLab geïndexeerd moeten worden.

Interessant is dat de auteurs eerlijk waarschuwen voor anonieme telemetriecollectie. Je kunt dit uitschakelen met één environment variable SOURCEBOT_TELEMETRY_DISABLED=true, wat prettig is — geen verborgen activiteit.

Hoe Te Starten en Testen

Deployen kost een paar minuten als je Docker al hebt. Download eerst de config:

curl -o docker-compose.yml https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/docker-compose.yml

Maak dan config.json aan. Daarin beschrijf je waar de bot moet zoeken. Voor een testrun kun je hem naar de Sourcebot-repository zelf wijzen:

{
    "$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
    "connections": {
        "starter-connection": {
            "type": "github",
            "repos": [
                "sourcebot-dev/sourcebot"
            ]
        }
    }
}

Start daarna de containers met docker compose up en ga naar localhost:3000.

Wie Zal Dit Nuttig Vinden

Ik zie de waarde van Sourcebot in twee scenario's. De eerste is wanneer een team snel groeit en nieuwe mensen te veel tijd besteden aan onboarding. In plaats van de lead lastig te vallen, kunnen ze de bot "raadplegen". De tweede is wanneer je een microservices-dierentuin hebt, en het traceren van het datapad tussen services fysiek pijnlijk wordt.

Het project is nog in ontwikkeling, en er is een behoorlijke lijst met open issues in de repository, maar de basis is nu al best bruikbaar. Als je op zoek bent naar een manier om je codekennis toegankelijker te maken voor het team zonder data naar de cloud te willen sturen — dan is dit een prima kandidaat om te proberen.

Trouwens, ze hebben een publieke demo, dus je kunt de interface zelfs uitproberen zonder iets te installeren. Het helpt je te begrijpen of dit formaat van werken met code bij je past.

Gerelateerde projecten