Birgir Birgisson
Mini-kurs på svenska

En alltid-på Codex-setup, från soffan till poolen.

Codex flyttade in i fickan. Det betyder att en utvecklingssession kan följa dig från skrivbordet ut till caféet, och vidare till en solstol, utan att du tappar en enda tråd kontext. Den här kursen visar exakt hur du bygger det flödet.

7 moduler · ~25 min · GRATIS

Modul 01

Codex flyttade in i fickan.

Det viktiga är inte att Codex finns på telefonen. Det viktiga är vad det öppnar upp.

Fram tills nu har vibe coding krävt att du satt vid en maskin. Du öppnade en terminal, du ritade upp en plan, du körde modellen och du tittade på vad som hände. När du gick ifrån skrivbordet pausade flödet. Sessionen levde i en terminal som du själv hade öppnat, och den dog när du stängde locket.

När Codex flyttade in i en mobil-app blev tre saker möjliga samtidigt:

  • Du kan initiera en körning utan att vara framför en dator. En kort prompt från ett kötillstånd, och något kompetent börjar jobba för dig.
  • Du kan styra en kraftigare maskin från fickan. Telefonen behöver inte vara där allting händer. Den är fjärrkontrollen, inte motorn.
  • Du kan plocka upp en pågående tråd. Det du startade vid skrivbordet är fortfarande där när du är ute. Inga kopierade promptar, ingen omstart, ingen "var var jag?".

Princip

När verktyget följer dig in i fickan slutar arbetsdagen vara bunden till en stol. Den blir bunden till hur du tänker.

Det här är poängen med kursen. Att du går från en setup där varje maskin är sin egen ö, till ett flöde där all kontext är delad. Du läser, godkänner och styr från den enhet som råkar vara närmast. Den enhet som råkar göra det tunga jobbet är alltid samma. Och du tappar aldrig tråden.

Modul 02

Tre lägen, en sömlös upplevelse.

Du behöver förstå att Codex kan köras på tre helt olika sätt. Det är samma märke, men olika kroppar.

Innan du sätter igång med setupet är det värt en minut på att zooma ut. Det här är de tre lägena:

01

Lokal CLI

Codex som en kommandoradsapp på din egen maskin. Snabbt, ärligt, har full tillgång till disk och processer. Det här är där det riktigt tunga jobbet sker.

02

Cloud sandbox

Codex kör i ett isolerat moln, klonar ditt GitHub-repo, kör jobbet, öppnar en PR. Bra för långkörningar du inte vill ha på din egen burk.

03

Mobil-app

Codex inbäddad i ChatGPT-appen på telefonen. Främst initiera, läsa diff, godkänna. Inte tänkt för att skriva en stor refaktor på en pendel.

De pratar med varandra via två saker: ditt konto och ett delat repo. Kontot binder sessionerna. Repot är där koden lever. Allt annat i kursen är variationer på den här bilden.

Tumregel

Mobilen är förarsitsen, inte motorrummet. Du ska kunna säga "ja", "nej" och en kort instruktion därifrån. Det tunga får andra maskiner göra.

När du har bilden klar för dig känns valet självklart. Skrivbordet för djup, molnet för långa jobb, telefonen för att vara närvarande utan att bli avbruten.

Modul 03

Varför en session per enhet dödar ditt flöde.

Multi-enhets-problemet är inte ett bekvämlighetsproblem. Det är ett friktionsproblem som gör att du till slut slutar lyfta laptopen.

Sättet de flesta använder en kodassistent på i början är samma sätt som de använde sin editor på i tio år. En session per maskin. Stationären hemma har sin terminal, laptopen i ryggsäcken har sin egen, och om du skulle drömma om att jobba från mobilen så har telefonen ingen alls.

Det funkar tills du försöker växla. Då dyker symptomen upp:

  • Du commitar på fel maskin. Branch ligger lokalt på stationären, du behöver den på laptopen, du börjar mejla zip-filer till dig själv.
  • Du tappar promptkedjan. Du vet vad du sa till modellen, men du minns inte exakt hur den svarade. Eller tvärtom.
  • Du börjar undvika att flytta dig. Eftersom kostnaden för att byta enhet är hög, sätter du dig hellre vid skrivbordet i fyra timmar i sträck. Och då har hela poängen med portabilitet försvunnit.

Det fragmenterade flödet

Tre öar, ingen bro

Stationären har en pågående branch. Laptopen har en annan. Telefonen har bara ditt Instagram. Att gå från soffan ut till caféet är samma sak som att börja om.

Det alltid-på flödet

En sanning, tre fönster

Stationären kör. Laptopen och telefonen är fönster in i samma sanning. Du flyttar inte arbetet. Du byter bara fönster.

Rotorsaken är att tillstånd lever i lokala terminaler. Lösningen är att flytta tillståndet, både kodens och samtalets, till en plats alla enheter pratar emot.

Nyckelinsikt

Friktionen är aldrig hårdvaran. Friktionen är att tillståndet bor på fel ställe. Flytta tillståndet, så löser sig växlingen av sig själv.

Modul 04

Mobilen styr datorn, så släpper den dig.

Det finns två sätt att tänka kring Codex på mobilen. Det första är ointressant. Det andra är hela poängen.

Det första sättet är att tänka att telefonen ska göra jobbet. Att den ska skriva koden, köra testerna och pusha. Det går, men det är inte särskilt nyttigt. Telefonen är inte rätt verktyg för det.

Det andra sättet är att tänka att telefonen ska styra jobbet. Att den ska säga "starta det här", "godkänn det där", "kör om". Då är telefonen perfekt, för det är precis vad du gör mest av dagarna ändå.

Den här skillnaden är allt. Funktionen heter "Control Another Device", och den gör att en session på telefonen kan dirigera en körning på en annan maskin du äger. Sessionen plockas alltså inte upp på den lilla skärmen. Den plockas upp där den startade, men du behöver inte sitta där.

01

Starta hemma

Du sitter vid skrivbordet, sätter igång en längre tråd, går igenom första iterationen.

02

Gå ut

Du lämnar maskinen påslagen. Sessionen lever vidare. Du tar med dig telefonen.

03

Plocka upp

Från caféet öppnar du Codex på telefonen. Du ser tråden. Du skriver en mening till. Hemma-maskinen jobbar vidare.

Princip

Telefonen är en fjärrkontroll till en kompetent maskin, inte en kompetent maskin i sig. Behandla den så, så blir den värdefull. Behandla den tvärtom, så blir den frustrerande.

Det är därför funktionen kallas "kontrollera en annan enhet" och inte "kör Codex på telefonen". Namnet säger vad det är: en bro mellan något portabelt och något kraftigt.

Modul 05

Hjärnan i flödet, vilken dator som helst.

Det viktiga är inte vilket märke som står på datorn. Det viktiga är att den alltid är på, alltid nåbar och inte är samma maskin du tar med dig.

Du behöver en bas. En enhet som inte stängs av när du går ut, som inte slutar prata internet när locket går igen, som inte tappar fjärrsessionen när skärmsläckaren startar. Den enheten är inte din laptop. Laptopen är en klient i den här arkitekturen, inte servern.

Det enda hårda kravet är att maskinen kan köra Codex. Det betyder att du har stora friheter. Mac mini, en gammal Mac med locket öppet, en stationär Windows-burk, din speldator som ändå står i hörnet, en liten Linux-mini eller en mini-PC du fått över från jobbet. Det är inte modellnamnet som avgör. Det är att den klarar tre saker.

  1. 01

    Den är tyst nog att glömma

    Du kan ha den stående i samma rum som du sover utan att höra den. Det är det här som avgör om den faktiskt blir påslagen dygnet runt, inte specifikationsbladet.

  2. 02

    Den är energisnål nog att alltid vara på

    Den ska kunna jobba över natten utan att du vaknar med dåligt klimatsamvete. En liten mini-PC eller Mac mini drar lite ström. En tung speldator drar mer, men det funkar fortfarande, du blir bara mer medveten om elräkningen.

  3. 03

    Den kör en miljö du kan utveckla i

    Mac, Linux eller Windows med WSL. Det viktiga är att Codex har sin terminal, sina nycklar och sitt git på plats. Det är inte OS-religion, det är att verktygskedjan ska kännas hemma.

Använd det du redan har

Du behöver nästan aldrig köpa något nytt för det här. En äldre Mac mini, en gammal MacBook med locket öppet i ett hörn, en stationär PC du inte gamar på lika ofta längre, en liten Linux-burk eller en mini-PC från jobbet. Allt funkar. Det viktiga är att maskinen alltid är på, alltid nåbar och inte är samma maskin du tar med dig.

Det är när "maskinen som jobbar" är samma som "maskinen jag bär" som hela kortleken ramlar.

Setup-checklista

  • Stäng av automatisk vila. Energiinställningarna i ditt OS, sätt maskinen så att den inte somnar när skärmen släcks. Annars dör körningar mitt i.
  • Slå på "starta om automatiskt efter strömavbrott". Om strömmen blinkar vill du att maskinen kommer tillbaka utan att du behöver vara där.
  • Fjärrinloggning på. SSH på Mac eller Linux, OpenSSH-servern på Windows. Bara din användare. Du vill kunna nå maskinen från laptopen i samma nätverk, eller via Tailscale utanför.
  • GitHub-credentials på plats. SSH-nyckel inlagd, git ssh-testad, gh CLI inloggad. Det är det här som låter alla enheter pusha mot samma centrala punkt.
  • En projektmapp att alltid jobba i. Inte en hög filer på skrivbordet. Ett dedikerat ~/code som klonar repon i sig. Lätt att backupa, lätt att tänka kring.
Och om jag inte vill öppna ut maskinen mot internet?

Du behöver inte. Tailscale eller motsvarande mesh-VPN ger dig en privat adress till maskinen som bara dina egna enheter ser. Du slipper både portforwarding och dynamic DNS, och du slipper att exponera SSH mot öppna internet.

Modul 06

Ett repo som enda sanning.

Det är inte din terminal som binder samman setupet. Det är ditt repo. När alla enheter pratar emot samma GitHub-repo, försvinner växlingsfriktionen.

Den första instinkten är att synka filer. Dropbox, iCloud, någon mapp som speglas mellan maskinerna. Det funkar i några timmar, sedan kraschar det. Versionshanteringen är inte en filsynk, den är ett samtal mellan ändringar.

Den rätta modellen är enkel: GitHub är sanningen, varje enhet är en klient. Det är där state lever, det är dit allt skickas, det är därifrån allt hämtas. Codex hjälper dig att hålla rytmen.

Aktivera "Control Another Device"

  1. 01

    Logga in med samma konto överallt

    Mobilen, laptopen och din alltid-på-maskin ska vara inloggade mot samma Codex-konto. Det är så de upptäcker varandra.

  2. 02

    Slå på "Control Another Device" i inställningar

    Den ligger i Codex-inställningarna under enheter. När den är på syns dina andra maskiner som möjliga mål.

  3. 03

    Välj din alltid-på-maskin som default-mål

    När du startar en session från telefonen ska den landa hemma, inte i molnet. Det är poängen.

GitHub-rytmen som låter dig växla enheter

  • En branch per uppgift, alltid pushed. Du jobbar aldrig på main, du jobbar aldrig länge på en lokal branch utan att pusha. Pusha innan du går.
  • WIP-commits är okej. Du städar i squash sen. Bättre en ärlig "wip: halvvägs i refactor" pushad än en perfekt commit som ligger lokalt.
  • Pull innan du börjar. Första kommandot på den nya enheten är alltid git pull. Det är där sanningen bor.
  • En PR per spår. När branchen är pushad lever det som en draft PR. Det gör att telefonen kan läsa diffen i GitHub-appen om du vill granska där.
BehovLös viaInte via
Synka kod mellan maskinerGit push och pulliCloud-mapp eller Dropbox
Granska ändring snabbt på mobilenDraft PR på GitHubSkärmdump av terminalen
Bevara aktiv tråd över enheterSamma Codex-konto + Control Another DeviceKopiera-klistra prompts
Skydda hemma-maskinen utåtTailscale eller motsvarandeÖppna SSH-port mot 0.0.0.0
Förhindra "var var jag?"Pusha WIP innan du gårLita på minnet en timme senare

Tumregel

Om det inte finns på GitHub finns det inte. Det är hård regel, inte ett ideal. Skulle din alltid-på-maskin gå sönder ikväll ska du kunna fortsätta imorgon från laptopen med ett pull.

Modul 07

Studio till pool, det riktiga flödet.

Nu zoomar vi in på vad du faktiskt gör en vanlig dag. Inte teorin, utan rörelsemönstren.

Det är lätt att läsa en setup-guide och tänka "okej, men ska jag verkligen jobba från en solstol?". Det korta svaret är att du nästan aldrig kommer att jobba från solstolen. Du kommer att flytta arbete dit. Det är en viktig skillnad.

En dag i flödet

  1. 07:30

    Skrivbordet hemma

    Du startar dagen vid din riktiga maskin. En timme djupt arbete: planering, refaktorer, det som kräver att du tänker brett.

  2. 10:00

    Ut till caféet

    Du tar laptopen. Pullar branchen. Fortsätter på ett mindre tydligt avgränsat spår. Pushar igen innan kaffet är slut.

  3. 14:00

    Promenad eller pool

    Du har laptopen kvar i ryggsäcken. Du tar fram telefonen, kollar att den senaste körningen gick igenom, godkänner en diff, säger till modellen att fortsätta med nästa steg på hemma-maskinen.

  4. 18:00

    Tillbaka hemma

    Du sätter dig en kort stund vid skrivbordet, ser vad som hänt under dagen, gör en pull, granskar och mergar.

Vad mobilen är bra på, vad den är dålig på

Bra på

Korta beslut

Godkänna en diff, säga "kör vidare", "stoppa", "kör om utan den där filen", "öppna en PR med det här som titel". Snabb läsning, snabb instruktion.

Dålig på

Lång djup tankearbete

En stor refactor över fem filer, en arkitekturskiss, debug av något subtilt. Vänta tills du sitter vid en skärm med plats för dina ögon att flyta över saker.

Förbered för mobil-uppföljning

Innan du lämnar skrivbordet, gör en kort sammanfattning till modellen: "Här är vad jag har gjort, här är vad jag vill att du fortsätter med, kör inte X." Då blir mobilen ett "ja/nej" istället för ett "vänta, var var vi?".

Det här är hela poängen. Det är inte att du ska kunna utveckla en helt ny app på telefonen. Det är att du ska kunna behålla framdriften i din kod under timmar du tidigare hade förlorat helt.

Quiz

Snabb koll på det viktigaste.

Tre frågor. Inga poäng. Bara ett sätt att se om grunderna sitter.

Fråga 01

Vad är hela poängen med funktionen "Control Another Device" i Codex?

Telefonen är fjärrkontrollen. En kompetentare maskin gör jobbet, du styr den från fickan.

Fråga 02

Vad är hjärnan i en alltid-på vibe coding-setup?

Den maskin du bär ska inte vara samma som den maskin som jobbar. När det är samma, ramlar hela kortleken.

Fråga 03

Varför är GitHub kärnan i flödet, inte filsynk?

Versionshantering är ett samtal mellan ändringar, inte en kopia av en mapp. Det är därför filsynk alltid fallerar i det här flödet.

0 av 3 Du har svarat på frågorna. Bra jobbat. Skrolla vidare till sista sektionen.

Klar

Bra jobbat. Du tog dig igenom hela mini-kursen.

Nu har du en bild av flödet. Sätt upp det en gång. Sen bara funkar det.