Bereid je voor — wat heb je nodig?
Vibe Development werkt het best als je de juiste tools klaarstaan. Dit is wat je nodig hebt voordat je begint — ook als je nog nooit code hebt geschreven.
- Desktop app + terminal
- Werkt met elke editor
- Aanrader voor beginners
- Gratis te starten
- In de browser, geen installatie
- Codex werkt via de API
- Handig als je al ChatGPT Plus hebt
- Gratis basisversie beschikbaar
Beide werken prima voor BankBird. Kies wat je al kent, of probeer Claude Code als je helemaal nieuw bent.
Maak eerst een lege map aan op je computer (bijv. op je bureaublad of in je Documenten-map). Open die map daarna in je AI-tool.
bankbird. Sleep de map naar Claude Code, of open de map via Bestand → Map openen.mkdir ~/bankbird in je terminal, en open de map daarna in je AI-tool.Je hebt een AI-tool en een lege projectmap. Volg nu de installatiestappen om BankBird op te zetten.
Wat is Vibe Development?
Vibe Development betekent dat je met behulp van AI — zoals Claude of ChatGPT — zelf nieuwe functies toevoegt aan BankBird, zonder dat je een doorgewinterd PHP-developer hoeft te zijn. Je beschrijft wat je wilt, de AI schrijft de code, en jij past het aan totdat het werkt.
- Nieuwe bankimport toevoegen
- Extra rapportfilters bouwen
- Eigen exportformaten
- Integraties met andere tools
- Core-bestanden aanpassen
- Database-schema's wijzigen
- Authenticatie aanraken
- Updates kunnen je wijzigingen overschrijven
Praktijkvoorbeeld: eigen bankimport
Stel: ABN AMRO import staat nog niet in BankBird, maar jij hebt een ABN-rekening. Je kunt de import zelf bouwen. Hier is hoe je dat aanpakt met AI.
Ik werk met BankBird, een Laravel 11 + Filament 5 applicatie
voor persoonlijke financiële administratie. Ik wil een nieuwe
bankimport toevoegen voor ABN AMRO CSV-bestanden.
Het ABN AMRO CSV-formaat heeft deze kolommen:
[plak hier de eerste 3-5 regels van je CSV-bestand]
De bestaande ING CSV-import staat in:
app/Services/Importers/IngCsvImporter.php
Maak een vergelijkbare klasse AbnAmroCsvImporter die:
- hetzelfde ImporterInterface implementeert
- de ABN AMRO kolomnamen correct mapt
- het bedrag omzet naar een positief/negatief getal
Geef mij de volledige PHP-klasse terug.
Conflicten met toekomstige updates
Stel: je hebt AbnAmroCsvImporter.php zelf gebouwd. Na een update brengen wij een officiële versie uit. Er zijn drie opties:
MijnAbnAmroCsvImporter zodat er geen botsing is. Beide importers bestaan naast elkaar.Ik heb zelf een ABN AMRO importer gebouwd [plak jouw code].
BankBird heeft nu ook een officiële versie uitgebracht [plak
nieuwe code]. Welke aanpak raad je aan? Zijn er conflicten?
Kun je de beste versie samenvoegen?
Git & updates — hoe werkt dat?
BankBird wordt bijgewerkt via Git. Als je veel zelf hebt aangepast, kan een git pull voor problemen zorgen. Hier zijn de drie meest gebruikte aanpakken:
git merge upstream/main. Conflicts los je op in je eigen branch.git pull als er geen conflicts zijn — of ze blokkeren de update. Maak altijd eerst een backup.Hoe staat je IBAN veilig in de database?
Een IBAN is gevoelige financiële informatie. BankBird slaat dit versleuteld op via Laravel's ingebouwde encryptie. Hier is het volledige plaatje — van database tot PHP-code.
-- Wat je ziet als je de database opengooit: id | name | iban ----+-----------------+--------------------------------------------------- 1 | ING Betaalrek. | eyJpdiI6IkZwVXZGME...(lange versleutelde string) 2 | Spaarrekening | eyJpdiI6InhkdDFQQ3...(lange versleutelde string) -- Je echte IBAN (NL59INGB...) is nergens in klare tekst zichtbaar.
protected function casts(): array { return [ 'iban' => 'encrypted', // ← Laravel versleutelt automatisch 'type' => AccountType::class, 'balance' => 'decimal:2', ]; } // Opslaan: Laravel versleutelt automatisch Account::create([ 'iban' => 'NL59INGB0653592555', // jij geeft klare tekst ]); // Uitlezen: Laravel ontsleutelt automatisch $account = Account::find(1); echo $account->iban; // → 'NL59INGB0653592555' (klare tekst)
De versleuteling werkt via de APP_KEY in je .env-bestand. Dit is een unieke 32-byte sleutel die Laravel genereert bij installatie. Bewaar deze goed — zonder die sleutel kun je je eigen data niet meer lezen.
APP_KEY=base64:jouw-unieke-sleutel-hier... # Nieuwe sleutel genereren (bij eerste installatie): php artisan key:generate
Backup als datasource voor development
De backup-functie (bereikbaar via het gebruikersmenu → Backup) exporteert al je data als een gestructureerd JSON-bestand. Voor vibe-developers is dat een goudmijn: je ziet precies hoe de datastructuur eruitziet, kun je lokaal testen met echte data en een nieuwe installatie snel vullen.