Search K
Bijdragen
Bedankt voor je interesse om bij te dragen. Deze gids beschrijft hoe je kunt meedoen, wat we accepteren en hoe je begint.
Manieren om bij te dragen
Issues (geen installatie vereist)
- Bugmeldingen - Werkt er iets niet? Open een bugmelding met stappen om het te reproduceren.
- Functieverzoeken - Heb je een idee? Start een discussie zodat de community erop kan reageren en erop kan stemmen.
- Vertaalproblemen - Zie je een verkeerde of ontbrekende vertaling? Open een vertaalprobleem.
- Documentatieproblemen - Klopt er iets niet in de documentatie? Open een documentatieprobleem.
Code (vereist CLA)
We accepteren pull requests voor:
| Type | Proces |
|---|---|
| Bugfixes | Open direct een PR (link de issue als die bestaat) |
| Nieuwe vertalingen | Open direct een PR (zie Vertaalgids) |
| Documentatieverbeteringen | Open direct een PR |
| Verbeteringen aan testdekking | Open direct een PR |
| Nieuwe tools of functies | Start eerst een discussie; een maintainer zet goedgekeurde ideeën om in een bijgehouden issue voordat je code schrijft |
| Refactors of architectuurwijzigingen | Start eerst een discussie en wacht op goedkeuring van een maintainer voordat je code schrijft |
Wat we niet accepteren
- Wijzigingen aan CI/CD-workflows, release-configuratie of linter-/compilerconfiguratie
- PR's zonder een ondertekende Contributor License Agreement
- PR's met meer dan 400 gewijzigde regels (splits groot werk op in kleinere PR's)
- Functies die niet vooraf zijn besproken en goedgekeurd
- Wijzigingen aan
packages/ai/zonder voorafgaand overleg
Contributor License Agreement
Voordat we je eerste PR kunnen samenvoegen, moet je onze Individual CLA ondertekenen. Dit is een eenmalige vereiste.
Waarom: SnapOtter heeft een duale licentie (AGPLv3 + commercieel). De CLA geeft ons het recht om je bijdragen onder beide licenties te verspreiden. Je behoudt het volledige auteursrecht op je werk.
Hoe: Wanneer je je eerste PR opent, plaatst de CLA Assistant-bot een reactie met een link. Klik erop, bekijk de overeenkomst en onderteken met je GitHub-account. Kost 30 seconden.
Als je bijdraagt namens je werkgever en je werkgever de IP-rechten op je werk behoudt, neem dan contact op met [email protected] om een Corporate CLA te regelen voordat je iets indient.
Aan de slag
Vereisten
- Node.js 22+
- pnpm 9+
- Python 3.11+ (alleen voor AI-tools)
- Docker (optioneel, voor volledige integratietests)
Installatie
bash
# Fork and clone
git clone https://github.com/<your-username>/snapotter.git
cd snapotter
# Start Postgres + Redis for local dev
docker compose -f docker-compose.dev.yml up -d
# Install dependencies
pnpm install
# Start dev servers (web on :1349, API on :13490)
pnpm devControles uitvoeren
Zorg voordat je een PR indient dat alle controles lokaal slagen:
bash
pnpm lint # Biome lint + format check
pnpm typecheck # TypeScript across monorepo
pnpm test # Vitest unit + integration testsPull request-proces
- Fork de repo en maak een branch aan vanaf
main(feat/my-featureoffix/issue-123) - Breng je wijzigingen aan in gerichte, beoordeelbare commits met conventional commits
- Voeg tests toe of werk ze bij voor je wijzigingen
- Voer
pnpm lint && pnpm typecheck && pnpm testlokaal uit - Open een PR tegen
mainen vul het sjabloon in - Onderteken de CLA als daarom wordt gevraagd
- Wacht tot CI slaagt en een maintainer het beoordeelt
Beoordelingsverwachtingen
- We streven ernaar om binnen 7 dagen op PR's te reageren
- Kleine, gerichte PR's worden sneller beoordeeld
- Als je binnen 7 dagen niets hebt gehoord, plaats dan een reactie om de thread te pingen
- We kunnen wijzigingen vragen, een andere aanpak voorstellen of de PR sluiten als die niet aansluit bij de richting van het project
Nadat je PR is samengevoegd
Je bijdrage wordt opgenomen in de volgende release en vermeld in de changelog.
Goede eerste issues
Op zoek naar iets om aan te werken? Bekijk onze good first issues voor toegankelijke taken, of help wanted voor grotere onderdelen waarbij we hulp uit de community waarderen.
Codestijl
- Biome verzorgt de opmaak en linting (dubbele aanhalingstekens, puntkomma's, inspringen met 2 spaties)
- De pre-commit-hook voert
biome check --writeautomatisch uit op gestagede bestanden - Als de linter klaagt, pas dan de code aan (wijzig de Biome-configuratie niet)
- Overal ES-modules (
import/export) - Conventional commits:
feat:,fix:,refactor:,docs:,test:,chore:
Zie voor volledige architectuurdetails de Ontwikkelaarsgids.
Beveiliging
Open geen publieke PR of issue voor beveiligingslekken. Meld ze privé via GitHub Security Advisories of e-mail [email protected]. Zie SECURITY.md voor alle details.
