Savna checkpoints i Claude Code – lagde det selv

Morten Punnerud-Engelstad vibbekoda «Checkpoints for Claude Code», som nå sprer seg raskt.

Morten Punnerud-Engelstad har en masse hobbyprosjekter på gang ved siden av jobben.
Publisert

– Jeg skulle ønske dette bare var innebygget i Claude Code!

Det skriver en utvikler, etter at Morten Punnerud-Engelstads hobbyprosjekt "Checkpoints for Claude Code" nylig gikk viralt på Hacker News.

Punnerud-Engelstad jobber til daglig som Data Engineer i Systek og har lang erfaring som utvikler. Ved siden av jobben liker han å lage apper for å løse problemer han har selv.

En av de nyeste appene han har laget er en macOS-app som skal gjøre det enklere og mer intuitivt for de som bruker Antropics AI-kodeassistent Claude Code å rulle tilbake til forrige versjon. 

– Den lager automatisk nye checkpoints hver gang og skriver hva den har gjort. Du kan kjøre rollback på checkpointen, forklarer Punnerud-Engelstad.

Cursor-funksjon manglet 

Tilsvarende checkpoints-funksjonalitet finnes i AI-editoren Cursor, men mangler altså i Claude Code. 

Du kan selvfølgelig bruke versjonskontroll i git for å rulle tilbake, men Punnerud-Engelstad savnet hvordan Cursor på en brukervennlig måte lar deg raskt "angre" kodeendringer AI-en har gjort – som en del av chat-flyten.

I Claude Code er det fort gjort å miste oversikten over hvilke endringer AI-en har gjort. 

Her har vi bedt Claude Code om å fikse en bug som krevde en oppdatering av blant annet Sanity. Det førte til et par endringer, som vi enkelt kan rulle tilbake.

Checkpoints for Claude Code oppdager automatisk når kode endres, og lager checkpoints med automatiske AI-genererte beskrivelser av hva som er endret. Så kan du rulle tilbake til et hvilket som helst tidligere checkpoint hvis du ikke er fornøyd med endringene.

– Jeg prøvde også å fikse ting jeg ikke likte så godt fra Cursor, som at du kan rulle tilbake – men ikke fremover igjen. 

Skrevet med Claude Code

Checkpoints for Claude Code er en native macOS-app (Swift) som du laster ned og installerer. Hvis interessen er stor nok, vil det komme en Windows-versjon også.

Etter at du har startet opp appen velger du mappen til kodeprosjektet ditt, så vil Checkpoints ligge i bakgrunnen og overvåke endringer i filene.

– Kan du si litt mer om hvordan du lagde appen?

– Den er 100 prosent skrevet med Claude Code. Det første jeg gjorde var å beskrive grunnfunksjonaliteten – det største problemet som måtte løses. 

Selv om AI-en hjalp til med mye av kodingen, ble det mye prøving og feiling – eller "guiding" av AI-en i riktig retning. 

Det første kodeforslaget baserte seg på bruk av git for å holde styr på endringer. Dette ville ikke fungere slik Punnerud-Engelstad ville ha det, siden bruk av git-kommandoer i Xcode ville bety behov for tredjeparts biblioteker.

– Så jeg begynte å tenkte litt annerledes, og fikk bygget inn en diff-motor i stedet. Den lager en usynlig mappe – .claude-checkpoints – som i praksis er en kopi av hele folderen, bortsett fra sine egne filer. 

Denne videoen viser hvordan det fungerer:

Det tok litt under to uker fra arbeidet med appen startet, til den lå ferdig publisert på App Store. 

Fordel med utviklererfaring

Punnerud-Engelstad mener det å være en erfaren utvikler kan være en stor fordel selv om man skal bruke AI til å vibbekode noe. 

– Jeg har vel 13 apper på app store som jeg har laget, men jeg kan fremdeles ikke programmere i Swift på den tradisjonelle måten. Det er AI-koding, men samtidig kan jeg lese gjennom koden og forstå hva den gjør. 

Han forteller at det handler om å teste hver eneste funksjon, passe på å ikke ødelegge eksisterende funksjonalitet, og bruke versjonskontroll for å kunne rulle tilbake hvis noe ikke fungerer. 

Dette er de mest populære appene Morten Punnerud-Engelstad har på App Store – alle sammen er laget ved bruk av AI-modeller til å skrive native Swift rett i XCode.

Punnerud-Engelstad har brukt mange forskjellige AI-verktøy, men de siste ukene har han brukt Claude Code mye. 

Han er stor fan av AI-verktøyet, som faktisk har gjort det mulig å drive utvikling fra mobiltelefonen mens han sitter i sofaen hjemme.

– Nå kan jeg sitte på telefonen mens vi ser på TV og teste en app jeg lager. Jeg kan be om å få fikset noe i en SSH-sesjon på telefonen. Jeg kan sitte og gjøre utvikling rett fra telefonen, det er en liten revolusjon, sier Punnerud-Engelstad.

AI kommer til å øke verdien av utviklere betraktelig.

Vil fortsatt være behov for utviklere

– Med inntoget av AI – som blir bare bedre og bedre – hva tenker du om utviklerrollen i fremtiden?

– Du kan få hjelp av en AI, men til syvende og sist må du ha et utvikler-"mindset" for å vite hvordan du skal bygge det opp. Hvordan skal du bygge strukturen i datamodeller, lage indekser, gjøre appen rask og responsiv, og så videre. 

Punnerud-Engelstad mener kunnskapen til en erfaren utvikler er uvurderlig. 

– En utvikler som har vært borti mye forskjellig kan sitte med en kunde og stille de riktige spørsmålene. Kanskje ikke en gang kunden vet at det er mulig. 

Man vil også ha behov for en som forstår kodebasen og språket ned i minste detalj. 

– Jeg tror verdien av utvikleren vil øke betraktelig av AI-verktøy. Kunden kan komme et stykke på vei før de begynner å kjenne alle painpointsene, men så trenger de faktisk en utvikler. AI kommer til å øke verdien av utviklere betraktelig. 

Powered by Labrador CMS