Jeg tror mange mennesker som kanskje ønsker å utvikle et nytt programvareprosjekt ofte blir snublet i begynnelsen i prosessen med å starte det, siden det virker så skremmende å starte med et tomt repo. Så jeg tenkte at jeg raskt ville gå gjennom den siste arbeidsflyten min, noe som dramatisk senker standarden når det gjelder innsatsen og tiden som trengs for å komme i gang. Den desidert viktigste delen er å ha en god idé eller hva du skal lage som faktisk ville være nyttig for mange mennesker hvis den virkelig fungerte ordentlig og gjorde det den prøver å gjøre bra. Jeg kan egentlig ikke hjelpe deg med denne delen, men det vanlige rådet om å klø din egen kløe og løse dine egne (ikke-nisje) smertepunkter er en veldig god måte å komme i gang på. Jeg tar meg selv i å tenke på prosjektideer hele tiden. Uansett, neste trinn er å skrive ut ideen uformelt, slik du kan gjøre i en rask e-post til en nær venn. Du prøver ikke å gjøre dette til en formell plan, bare den raskeste måten å formidle den grunnleggende ideen og hva den gjør og spesifisere eventuelle deler av teknologistabelen eller bibliotekene du vet du vil bruke. De vedlagte skjermbildene viser et eksempel på dette for en idé jeg tilfeldig hadde for et par dager siden. Det tok meg kanskje 10 eller 15 minutter å skrive opp. Den trenger ikke å være lang, og den kan referere til andre kilder for å holde den kortfattet. Denne første beskrivelsen blir deretter ledeteksten for GPT-5 Pro. Dette tar vanligvis minst 15 eller 20 minutter å kjøre (morsomt nok lengre tid enn det tar å skrive ledeteksten). Du kan prøve andre modeller, men de vil være mye verre. Jeg tar da ofte den samme meldingen og gir den til Grok4 Heavy eller Opus4.1 og mater disse ideene tilbake til GPT-5 Pro og oppfordrer Pro til å ta alle gode ideer den ser i de andre forslagene. Hvis det faktisk er noe smart i disse planene, vil GPT-5 Pro gjenkjenne det og innlemme det. Deretter ber jeg Pro om å lage et detaljert, detaljert markdown-plandokument basert på det første svaret, og jeg lagrer det som en fil i en nyopprettet prosjektmappe. Så vil jeg ofte iterere på dette noen ganger, starte en ny Pro-samtale i nettappen og gi hele markdown-planfilen og be den om å forbedre planen på forskjellige måter for å gjøre den mer pålitelig, robust, ytende, intuitiv, brukervennlig og andre gode adjektiver. Og jeg vil oppfordre Pro til å gjøre uttømmende nettundersøkelser om den nyeste dokumentasjonen, blogger, opplæringsprogrammer osv. Jeg vil deretter ta de foreslåtte revisjonene og lime dem inn i kodeksen og be kodeksen om å integrere revisjonene i det eksisterende markdown-plandokumentet. Etter 2 eller 3 runder med dette stabiliserer ting seg og du får en veldig god, utfyllende plan. Dette er nøkkelen til alt, for når ting fortsatt er i planfasen, er det mye lettere å justere og forbedre dem fordi du ikke har noen kode ennå. Mål to ganger, kutt en gang osv. Her er en kobling til det resulterende plandokumentet som kom fra den første ledeteksten for dette forslaget: På dette tidspunktet begynner jeg å legge til en AGENTS dot md-fil; Jeg starter med en eksisterende jeg har og ber Pro (i samme økt som det siste plandokumentet ble skrevet) om å tilpasse den for dette nye prosjektet og teknologistabelen samtidig som jeg bevarer noe generisk. Hvis det er noen kritisk viktige biblioteker, vil jeg også noen ganger lage en spesialisert veiledning for beste praksis (for eksempel hvis du lager en MCP-server, vil jeg generere en veiledning for beste praksis spesialisert for fastmcp-biblioteket, men hvor jeg også staver ut hvordan jeg skal strukturere prosjektet osv.) På dette tidspunktet ber jeg kodeksen i en enkelt økt om å begynne å bygge ut prosjektstrukturen, lage mapper og tomme plassholderfiler, lage .gitignore-filen osv. Det er her prosessen min avviker dramatisk fra den typiske tilnærmingen. Jeg bruker først Steve Yegges perleprosjekt og ber codex om å gjøre plandokumentet om til en haug med oppgaver og deloppgaver ved hjelp av perler. Så bruker jeg tmux til å lage en haug med codex-økter, så mange som 8 på en gang (jeg tror mer enn det også ville fungere bra)...
Her er lenken til tråden min om å lukke automatiseringssløyfen med tmux:
Jeffrey Emanuel
Jeffrey Emanuel8. nov. 2025
I just figured out how to really automate my agent workflow even more with some tmux wizardry. Now that I'm using my mcp agent mail project to get a bunch of agents to talk to each other about implementing a plan (and also coordinating using the beads project for task management), I still need to "feed" the agents by queueing up a bunch of messages in codex to keep them busy. This involves going one by one through the various tmux panes (one for each codex instance) and pasting in some canned messages or hitting the up arrow a few times to reuse past messages, such as: "Pick the next bead you can actually do usefully now and start coding on it immediately; communicate what you're doing to the other agents via agent mail." It feels a bit silly and inefficient to be doing this, even though it doesn't take that long to give each agent enough instructions to keep them busy for over an hour. But now I realized I can automatically queue up a bunch of messages in every relevant tmux pane at once, simply by copying and pasting this into the console outside of the tmux session (this is tested and working in zsh): --- PANES=(${(f)"$(tmux list-panes -a -F '#S:#I.#P' | tail -n +3 | head -n -2)"}) for pane in $PANES; do tmux send-keys -t $pane -l 'pick the next bead you can actually do usefully now and start coding on it immediately; communicate what you'"'"'re doing to the other agents via agent mail.' sleep 0.1 tmux send-keys -t $pane Enter for i in {1..4}; do tmux send-keys -t $pane -l 'keep going, doing useful work! and communicate!' sleep 0.1 tmux send-keys -t $pane Enter done tmux send-keys -t $pane -l 'great, now I want you to carefully read over all of the new code you just wrote and other existing code you just modified with "fresh eyes" looking super carefully for any obvious bugs, errors, problems, issues, confusion, etc.' sleep 0.1 tmux send-keys -t $pane Enter tmux send-keys -t $pane -l 'Be sure to check your agent mail and to promptly respond if needed to any messages; thereafter proceed meticulously with the plan, doing all of your remaining unfinished tasks systematically and continuing to notate your progress in-line in the plan document, via beads, and via agent mail messages. Don'"'"'t get stuck in "communication purgatory" where nothing is getting done; be proactive about starting tasks that need to be done, but inform your fellow agents via messages when you do so and notate that in-line in the plan document. When you'"'"'re really not sure what to do, pick the next bead that you can usefully work on and get started.' sleep 0.1 tmux send-keys -t $pane Enter tmux send-keys -t $pane -l 'ok can you now turn your attention to reviewing the code written by your fellow agents and checking for any issues, bugs, errors, problems, inefficiencies, security problems, reliability issues, etc. and carefully diagnose their underlying root causes using first-principle analysis and thereafter fix or revise them if necessary? Dont restrict yourself to the latest commits, cast a wider net and go super deep!' sleep 0.1 tmux send-keys -t $pane Enter done --- This script: Gets panes: Finds all tmux panes, excluding the first 2 and last 2 Sends 8 messages to each selected pane: "pick the next bead..." - tells agents to start working on next task "keep going..." × 4 - repeated encouragement to continue working "carefully read over..." - instructs fresh code review "check agent mail..." - long message about coordination, avoiding communication paralysis, staying productive "review code written by fellow agents..." - peer code review for bugs/issues Each message is sent literally (-l flag) with a 0.1 second delay before Enter to ensure the Codex CLI processes them properly.
11,72K