A good code base to work from is a big help. I had some typescript that was terribly tangled and neither I nor Junie could make head or tail of the error messages when we tried to change things. After spending two days straightening it out both of us could understand error messages when we got them and I could ask for it to do things and usually get good results quickly.
My voice talking to Junie is pretty similar (like the first phrase, pointing out files that it should look at, explaining different flows, explaining what I did and the last sentence) I don't have anything like the AGENTS.md file but I do have a few exemplar files that are heavily commented with prescriptive stuff about "this is how we do things" or "here are how the parts of the system fit together" and will tell it to go look at these.
Pretty frequently though I do start out in "Ask" mode and might add some questions about "Do you think we should do ... or ...?" or "I'm concerned about ... what do you think?" or "Do you think this plan makes sense?" or "Am I missing something?" and end with "Propose to me about how you will make this change"
and then I will look at what I get, ask it "Do you really need to ...?" or "How will that affect ... ?" and once I like what I see I will flip it to code mode and say "Make it so!" maybe with some more specific direction.
ok now i want you to work on the offer, confirm and decline player draws events in game feature. there’s already a userSubmitsDrawOffer file on the server, rename this and fix references. call it “userSubmitsDrawRelatedEvent”. on the client, make it so the “offer draw” button is enabled in the footer the same time that the “abandon game” time is over with, when those buttons change enable that button (only on the user’s turn when they have control otherwise disabled). in the “normal” flow, if a user clicks on this it should send an event to the file we’ve changed above with a payload of “initialOffer” true along with the game uid etc. I’ve added new optional properties to the GameInfo type of team0DrawOffered and the team 1 one. have it update this game with that bool and send a new emit to the opposing team’s clients only of “opposingTeamOfferedDraw”. on receipt of that on the client update the footer with an “accept draw offer” button (don’t bother with a cancel/decline). if the in-control user clicks that it should send an event back to this server file with a new boolean of “acceptsDraw”. also somewhere in the movepiece path, lets have it delete the new gameInfo property every time even if its not there (for the correct team) as a user making a move is effectively the same thing as declining a draw offer. lets get it to that point and then when we’re at the point of an accepted draw we’ll do the “end game” style updates after you’re all done with this. go ahead and try to do this now plz.
A good code base to work from is a big help. I had some typescript that was terribly tangled and neither I nor Junie could make head or tail of the error messages when we tried to change things. After spending two days straightening it out both of us could understand error messages when we got them and I could ask for it to do things and usually get good results quickly.
My voice talking to Junie is pretty similar (like the first phrase, pointing out files that it should look at, explaining different flows, explaining what I did and the last sentence) I don't have anything like the AGENTS.md file but I do have a few exemplar files that are heavily commented with prescriptive stuff about "this is how we do things" or "here are how the parts of the system fit together" and will tell it to go look at these.
Pretty frequently though I do start out in "Ask" mode and might add some questions about "Do you think we should do ... or ...?" or "I'm concerned about ... what do you think?" or "Do you think this plan makes sense?" or "Am I missing something?" and end with "Propose to me about how you will make this change"
and then I will look at what I get, ask it "Do you really need to ...?" or "How will that affect ... ?" and once I like what I see I will flip it to code mode and say "Make it so!" maybe with some more specific direction.
Active link to the AGENTS.md file: https://hastebin.com/share/vewunonulo.sql
Full prompt to create feature: