DevOps
Specs lezen gaat sneller dan code lezen: met specgetty gaat het nóg sneller
TechNative stelt specgetty open source beschikbaar: een terminal-tool om OpenSpec-wijzigingsvoorstellen en specificaties gefocust te beoordelen.
De flessenhals in AI-ondersteund ontwikkelen zit al lang niet meer bij het schrijven van code. Een agent produceert in twintig minuten meer regels dan een team in een dag kan nalezen. De vraag is niet langer “kan de AI dit bouwen”, maar “weet ik zeker dat de AI het juiste bouwt”.
Daar komt spec-driven development om de hoek kijken, en bij TechNative hebben we gekozen voor OpenSpec.
Kort: wat OpenSpec doet
OpenSpec zet de specificatie vóór de code. Je beschrijft eerst met behulp van AI wat er moet veranderen, in een wijzigingsvoorstel met bijbehorende specificaties, en pas daarna gaat de agent bouwen. Die specs blijven in je repository staan, naast de code, dus je hebt altijd een leesbare bron van waarheid over wat het systeem hoort te doen.
OpenSpec werkt met meer dan dertig AI-coding tools, is MIT-gelicenseerd, draait lokaal en heeft geen API-keys nodig. En belangrijk voor de praktijk van ons werk: het is gemaakt met bestaande codebases in gedachten, niet alleen voor nieuw te starten projecten. Dat maakt het mogelijk om met terugwerkende kracht grote codebases in kaart te brengen en geschikt te maken om met AI te onderhouden en uit te breiden.
Waar het in de praktijk gaat schuren
Zodra je OpenSpec serieus gaat gebruiken, gebeurt er iets voorspelbaars: je krijgt véél specs. Meerdere projecten, elk met openstaande wijzigingsvoorstellen, elk met een proposal, een design, een takenlijst en de specificaties die erbij horen.
En dan blijkt het beoordelen van die specs het echte werk te zijn. Je springt tussen mappen, je opent markdown-bestanden in je editor, je scrollt door een spec om één scenario terug te vinden, en ondertussen ben je de draad kwijt van wat je aan het controleren was. Het gereedschap staat de aandacht in de weg.
Dat is de reden dat we specgetty hebben gebouwd.
specgetty: een TUI voor gefocust reviewen
Specgetty (commando: spg) is een terminal-applicatie voor het beoordelen en beheren van je OpenSpec-projecten. Geen browser, geen dashboard dat je apart moet opstarten, geen context switch. Je start hem in de map waar je al staat en hij opent meteen het project dat daarbij hoort.
De opbouw is bewust plat:
- Projectweergave met tabs voor changes, specs en config. Actieve en gearchiveerde wijzigingen zitten in één lijst; met één toets wissel je welke je ziet.
- Change-weergave met sub-tabs voor proposal, design, tasks en specs. Alles wat bij één wijzigingsvoorstel hoort, onder elkaar bereikbaar.
- Projectkiezer die over beide heen opent, voor als je toch naar een ander project moet.
Kaartweergave: één scenario tegelijk
De functie waar we zelf het meeste plezier van hebben, is de kaartweergave van scenario’s binnen een specificatie.
Een spec bekijken als één lange lap markdown werkt niet als je hem echt wil beoordelen. Je oog glijdt eroverheen. In specgetty wordt elk scenario een aparte kaart, die je één voor één doorloopt. Je leest één gedrag, je beoordeelt dat gedrag, je gaat door naar het volgende.
Dat klinkt als een kleine designkeuze. In de praktijk is het het verschil tussen een spec scannen en een spec daadwerkelijk lezen. Precies daar waar fouten in wijzigingsvoorstellen zich verstoppen.
Snelheid als uitgangspunt
Snelheid is een harde eis: een tool die een halve seconde nadenkt voordat hij reageert, gebruik je niet tussendoor. En tussendoor is precies wanneer je je specs wil kunnen checken. Specgetty is geschreven in Go en geoptimaliseerd op reactiesnelheid. Alles gaat via het toetsenbord, er is geen laadscherm, en de weergave volgt je vingers.
Zelf heb ik spg aan een sneltoets gekoppeld. Met één druk op de knop staan de openstaande wijzigingsvoorstellen met bijbehorende specificaties op het scherm, in de context van het project waar ik op dat moment in werk. Dat verandert hoe je met specs omgaat. Reviewen wordt iets wat je twintig keer per dag even doet, in plaats van een taak die je vooruitschuift.
Open source, vanaf vandaag
specgetty is open source onder de MIT-licentie en staat op github.com/speclib/specgetty.
Heb je Nix, dan draait hij op Linux en macOS met één commando:
nix run github:speclib/specgetty
Wil je hem houden:
nix profile install github:speclib/specgetty
Geen Nix? Pak de tarball voor jouw platform uit de laatste release. Er zijn builds voor Linux en macOS, voor zowel amd64 als arm64. Uitpakken, spg in je PATH zetten, klaar.
Het project is in actieve ontwikkeling. Issues, ideeën en pull requests zijn welkom, en we horen vooral graag waar de tool in jouw workflow tekortschiet.
Specgetty is onderdeel van een bredere beweging: wij zijn ervan overtuigd dat spec-driven development de manier is waarop serieuze teams met AI gaan bouwen, en dat daar goed gereedschap bij hoort. Meer daarover volgt.
Table of contents
Verwante blogs
Meer lezen over dit onderwerp.
No related posts found.