Fra Swift til Java Script Lenke til overskrift
Husker du det gamle prosjektet? Det hvor jeg brukte tid med Swift tilbake i 2023, og prøvde å lage et enkelt spill om balanse mellom jobb og fritid? Det var en underholdende idé for å demonstrere hvor lett ting kan gå galt når man bare har noen få valg. Men som mange sideprosjekter ble det forlatt på grunn av tidsmangel og, for å være ærlig, mangel på robuste GenAI-verktøy på den tiden.
Spol frem til i dag. Jeg bestemte meg for å gjenopplive det konseptet, men med en vri. Denne gangen ville jeg utnytte kraften i Amazon Q CLI og sikte på en Node.js/TypeScript-implementering. Hvorfor bytte? Enkelhet og letthet ved å distribuere til AWS-skyen. Målet mitt var en “100 % vibe coding experience” – det vil si at jeg lot Amazon Q gjøre det tunge arbeidet. Ingen manuelle kodeendringer, bare kommandoer til Q.
Jeg startet med å mate Q med det gamle Swift-prosjektet og notatene, og ba det oversette spillet til JavaScript.
De første resultatene var imponerende. Q klarte å overføre kjernelogikken til JavaScript. Det er kanskje bare noen få kodelinjer i det Swift-prosjektet, men Amazon Q var i stand til å forstå oppgaven og forberede en helt annen applikasjon. Dette er ikke bare en “standard” Java 8 til Java 18 oppgradering. Her er det en plattformmigrering fra macOS til webapplikasjon.
Neste steg var å be Q legge til tester. Det er avgjørende at Q kan kjøre koden, identifisere problemer og fikse dem. Jeg anbefaler alltid å la GenAI-verktøy kunne teste sin egen kode.
Og her er migreringen til JavaScript, fullført av Amazon Q. Det ser enkelt ut, men all koden ble migrert, og det som er enda viktigere – prosjektet ble bootstrappet. Jeg trengte ikke bruke tid på å forberede utviklingsmiljøet.
Med det grunnleggende spillet portet, var det tid for nye funksjoner.
ToDo.md som toveis kommunikasjon Lenke til overskrift
Mens Q jobbet, startet jeg en todo.md
-fil for å legge inn flere kommandoer og ideer i kø. AI kan jo lese filer, ikke sant? Alt takket være den innebygde MCP i Q CLI.
Her kunne vi finne et sett med grunnleggende verktøy: https://github.com/aws/amazon-q-developer-cli/blob/main/crates/cli/src/cli/chat/tools/fs_read.rs
Åh, jeg glemte kanskje å nevne det, men ja, Amazon Q Developer CLI er open source.
En annen viktig del er settet med MCP-servere, som du kan finne her hvis du er interessert.
Det er litt bedre å be Q CLI bruke denne todo.md
-filen. Det er vanskelig for disse verktøyene å forstå hvilket innhold som for eksempel må behandles i repoet. Kodebasen kan være stor.
Spennende “Ah-ha”-øyeblikk, Q begynte å foreslå sine ideer og legge dem til i todo.md
-filen. Dette skapte en kul frem-og-tilbake kommunikasjonskanal, alt innenfor en enkel markdown-fil. Du vet, akkurat nå kan vi ikke snakke med CLI-verktøyet ennå, men vi kan både lese og skrive tekstfiler.
Vi fikk til og med avkrysningsbokser til å fungere i oppgavelisten, og Q var smart nok til å forstå dem og merke oppgaver som fullført. Denne typen interaktiv koding er ganske imponerende.
Distribusjon til AWS Amplify Lenke til overskrift
Med utviklingen godt i gang var neste logiske steg distribusjon. Jeg bestemte meg for å late som jeg var litt ukjent med AWS og spurte Q om veiledning for å distribuere appen.
Q foreslo AWS Amplify, og prosessen var overraskende enkel. Å koble til GitHub var en lek.
Oppsett av appens grunnleggende innstillinger i Amplify tok også bare noen få klikk.
Og slik ble appen distribuert, komplett med de nye funksjonene. Amplify håndterte alle byggeprosessene, så det var ikke nødvendig med manuell CI/CD-oppsett.
Det mest fascinerende? Selv commit-meldingene var AI-genererte!
Hele denne opplevelsen viste at Amazon Q CLI er mye mer enn bare et chattegrensesnitt. Det kan være en kraftfull partner i utviklingssyklusen, fra koding og testing til distribusjon og til og med prosjektledelse. Det er et glimt inn i en ny æra for programvareutvikling.
Selve spillet finner du her: https://timetectonic.cageyv.dev/
Målet mitt var mest å prøve den autonome oppførselen til Q og evnen til å følge instruksjoner og utføre ikke godt beskrevne oppgaver.
Oppsummering Lenke til overskrift
- Amazon Q Developer CLI kan bringe agentisk oppførsel til terminalen uavhengig av applikasjonene.
- Det er et gigantisk fremskritt siden CodeWhisperer-æraen
- Innebygde verktøy hjelper mye og lar agenten utføre mange kommandoer.
- Amazon Q Developer CLI kan også: feilsøke problemer i AWS, sjekke logger og S3-bøtter. Med tilgang til AWS API er det et veldig kraftfullt verktøy.