No Coffee?, Claude Thinking, and Git Workflows
TJ (00:00)
Hey, welcome back to the Slightly Caffeinated Podcast. I'm TJ Miller.
Chris Gmyr (00:04)
and I'm Chris Gmyr
TJ (00:05)
So Chris, what's new in your world,
Chris Gmyr (00:07)
I mean, it's been going pretty well. My son's ninth birthday was yesterday, but it feels like it's yeah, it's been. It was a good day, but it just feels like the birthday month between like traveling and seeing like multiple groups of families and friends in New York and then coming back here and like it just seems like we've had five different birthday events and then we have is like friend kid birthday party.
TJ (00:12)
sick.
Chris Gmyr (00:31)
Tomorrow he's doing like a bowling party. So it just seems like the never-ending like birthday month for him Yeah, but it's been good it's been cool my mom got him this like little four pack of like laser tag guns So we've been like running around the house and playing laser tag We did like last night after dinner and then this morning after breakfast like the three of us were just running around and then my wife came down and It's like let's play laser tag
TJ (00:35)
yeah, man. Never ending birthday month.
Chris Gmyr (00:56)
So yeah, it's been fun. We'll be happy when it's all kind of over and we can get back to like non-birthday activities and stuff like that. But it's been good. And then just, you know, usual busyness at work, lots of project work. And then we do our like annual self and peer reviews, manager reviews, 360, all that stuff now. So because I joined the...
team and the company in February. Like I made the cut to do those. So a lot of this week has been working on reviews for about half the team, myself, the manager and a few other things. So I've been busy with that. Not as much code this week, but be good to be done with that after today.
TJ (01:36)
Yeah.
Yeah.
Yeah, it's I think that stuff's super important. I...
I don't miss it. Like, I love the reviews we do at Geocodeo and I mean, there's like five of us. So, let's see my show. Yeah, there's like five, six of us. So it's really like pretty painless, but boy, did I really dread having to do those at a Curology. was just so many people. Like it was at least...
And this is just like as an IC, like it was like five or six reviews, like every time we did them, like peer reviews, manager reviews, self-reflections and yeah. Yeah. Don't, don't miss that. And now you're in a position where you've got to do like a whole bunch too now.
Chris Gmyr (02:14)
Mm-hmm. Yep.
Yeah, luckily I only had to do like three peer reviews so far because a few people joined after the cutoff. ⁓ So they didn't make it. So probably next time around, next year, I'll probably have to do a lot more because I kind of just see everyone and everything going on on the team. but yeah, with the three peer reviews, my self-review, the manager review, and then we have to think about like
TJ (02:34)
Sure.
Yeah.
Chris Gmyr (02:50)
personal goals, OKRs, things like that too. It's just like a whole bunch of things to think about and plan and do and get approved. But it's good. It keeps everyone aligned. And it's good that we have a feedback cycle because I've been with companies that just don't do it at all or very few and far between. But I try and give everyone feedback as we go and do. I have one-on-one set up with everyone on the team anyway.
TJ (02:52)
⁓ huh. yeah, yep.
Chris Gmyr (03:14)
at least the monthly cadence. So there's plenty of opportunity for me to give feedback, positive or negative as we go. it's not, nothing should be a surprise in annual reviews, right? So I just try and keep everyone up to date as possible and also ask for feedback for everyone else too. Cause I don't want any surprises be like, well TJ, you should have said something six months ago and we could have done something a little bit different or better. So try to keep,
TJ (03:24)
Yup.
Yeah
Chris Gmyr (03:40)
Yeah, the feedback flowing and making sure everyone's comfortable with giving feedback, positive, negative, critical, whatever.
TJ (03:49)
Good.
Yeah, it's important stuff,
Chris Gmyr (03:50)
Yeah. So yeah, how about you? What's new in your world?
TJ (03:54)
man, just this saga of me like battling mental health has been brutal the last couple months. And it's like just seeped its way into everything and it sucks. Like
just Lericon prep, which is going really well. I feel really confident in that. We can talk a little bit more about that too. but just like really focused on trying to like prep and be dialed for Lericon, but like Prism work has like kind of fallen behind because of Lericon prep and mental health issues and like family stuff. And, it's just been, it's been a slog. but
We'll see. I'm looking forward to, I'm really looking forward to Lericon, man. Like I'm super bummed you're not going to be able to make it, but like just being able to like take a week, like a week-ish, right? Like, like take a week, go hang with my people, the community, and just kind of like have some time to escape a bit. I think it's going to be fantastic.
And I am just, I am so excited to like introduce Prism to everybody. And I, I'm so excited to like see what people build with it. so, a lot, a lot in that. so this, this weekend and all of next week is just going to be like all hands on deck trying to like smash out stuff on Prism. I really.
really want to hit 1.0 before Lericon and I really don't know if I can pull it off. I've got like 19 open PRs on the repo right now. Like it's insane. And some of them are like really like the reason why there's so many is there's like a handful of small ones but there's a couple like really transformational and like big ones. And so I've got to really like take a step back, think about them.
Chris Gmyr (05:21)
Yeah, that's a lot.
TJ (05:34)
like figure out if that's what I want to do, if that's what I want to support, stuff like that. So I don't know, man, just.
I want to say taking it one day at a time, but man, I swear to God, feels like just take it an hour at a time and just hour by hour, man, hour by hour. And yeah, trying to keep the kid busy too.
Chris Gmyr (05:48)
Yep, hour by hour.
TJ (05:54)
Summer's tough, like working full time. Like I want to like do stuff with him and he wants to do stuff with me, but like got a lot going on right now. So, cool thing is I think, I think something really important is the after Laracon, like early, I think like the second week of August, we're the three of us, like myself, my wife, my son, we're all heading to,
San Diego for a long weekend. And I'm so excited. We're going to hang out with Eric Van Johnson of PHP Architect. We're going to like chill with him, hit the pool, hit the beach. I think we signed up for a like meat animals at the San Diego Zoo. So like, we're going to go to the zoo, have a good time. But like we also have this like interactive meat like zookeepers and their animals.
Chris Gmyr (06:40)
That's awesome.
TJ (06:40)
Yeah, I'm so excited. Like, I have no idea what we're gonna meet, but like, I can't wait.
Chris Gmyr (06:46)
Yeah,
the San Diego Zoo is great. We've been there a couple of times because my brother-in-law is out there. So we visited a few times and yeah, really like it out there. Like all of San Diego area, like Carl's Bad area, going to the zoo. Haven't made it to like, legal land yet, but you know, there's a bunch of different activities to go, you know, and do out there. yeah, the zoo is great out there. We like it a lot.
TJ (07:05)
Yeah.
We thought about dipping it in and doing a day at Disney, but I think we opted for the zoo instead and we're like maybe in February again, we'll like, we'll head back out there and do like Disneyland for a few days. Just do like a dedicated trip just for that. Yeah, like a few years ago, we signed up for like a Disney rewards credit card. And we're like now at the point where it's like, okay, that's going to pay for
Chris Gmyr (07:23)
Nice.
TJ (07:33)
a day or two. Like, that's fantastic. Sick man. Yeah, I feel like that was kind of a heavy update, but like, such is life.
Chris Gmyr (07:41)
Yeah, things happen and I think, you know, obviously mental health is very important and keeping yourself in a good space is important, but it's also good to talk about it because a lot of people are going through, you know, similar things, plus or minus, you know, severity, but you know, the more people talk about it, the more comfortable it'll make other people talking about it and make it a little bit more normalized and
TJ (08:01)
Yeah.
Chris Gmyr (08:08)
instead of just people just staying in their heads.
TJ (08:11)
Yeah, I try to be like very open and transparent about my mental health and like mental health struggles. because I do recognize that so much is like, do, I do feel comfortable like talking about it and, being open about it. I think, like you just said, like it helps other people be like more open about it. It, the very least, like even with themselves.
Which I think is important. So like, yeah, I want to like destigmatize and like normalize it as much as possible because it's just things people live with, you know?
Chris Gmyr (08:38)
Yeah, it's part of life for sure.
TJ (08:40)
Yeah, yeah.
So cool man. You want to talk some coffee?
Chris Gmyr (08:44)
Yeah, so about coffee. ⁓ Bless me. Yeah, so I thought. A good question to talk about today was if coffee disappeared tomorrow. What would become your new morning ritual drink?
TJ (08:46)
As I'm sitting here drinking an energy drink instead of coffee.
Mmm. I think I'd probably become a tea guy.
I think I think that would that would end up happening. I don't know. Like I need.
Yeah, I probably switched it to you.
Chris Gmyr (09:06)
Yeah, same. I really like just having something warm in the morning, kind of like clears my throat, like feels good. I don't know, just nice to have something warm, like even in the middle of summer, like it's still just nice to have like a warm cup of coffee or tea or whatever. So yeah, I'd probably go to tea, probably like in the morning, keep something like, you know, caffeinated, like a green tea or like a black tea. Even like.
TJ (09:11)
Yeah.
Yeah.
Chris Gmyr (09:32)
Macha would definitely do like some macha. ⁓ Yeah, something like that.
TJ (09:33)
love a good match. Yeah. One of my one of my
one of my alternative summer drinks is an iced matcha. So I'm a big fan. Like, yeah, I think so it's like it's hot. It's the summer, right? So it's like, I'll wake up, I'll drink a hot coffee and then pretty much immediately switch to ice. And so it's like my morning is normally like a
At PHP Tech, their speaker gift last year and this year was some custom... my God, why am I blanking on this now? I don't even have it in front of me. What's the... We've talked about this. What's the company that does the coolers and stuff and all the... Yeti, yeah. They give us custom Yeti mugs, which I love. And so...
Chris Gmyr (10:08)
Yeti.
TJ (10:13)
One, like the one I got this year is my coffee mug. The other one's my like cold drink mug. And yeah, I'll, uh, a hot coffee, iced coffee, like, um, but I gotta have, I just, don't know, man, like I gotta have something hot in the morning. Like, don't know why, just have to.
Chris Gmyr (10:32)
Yeah, I'll go over to tea. Gotta be like big loose leaf tea, not like the ground up bags and stuff. Yeah.
TJ (10:38)
tea bags. Yep.
Yeah, we've got, we pretty much, so like we, we do our own cold brew, but we also drink a lot of iced tea as well. And so we've just got like a bunch of bags of tea we do for our iced tea. So I got our fridge is like, yeah, pitcher of cold brew, pitcher of iced tea, like always brewing. But when I used to work at coffee shops, a couple of them were like very
artisan coffee shops. And so we'd have like loose leaf tea and gosh that stuff like a fresh loose leaf tea is honestly pretty, pretty dang good.
Chris Gmyr (11:02)
Mm-hmm.
Yeah, yeah, we've gotten Tivana before when we used to live in like upstate New York. We had like a Tivana store that was before Starbucks bought them. Now I don't know. I don't know. We haven't gotten it for a really long time. I don't know if it's any good anymore. But locally here we have a tea shop. We don't go to very often, but they have like a bunch of loose leaf tea and you can go in there. You can like build your own bags. You can mix things up. You can buy any sorts of
TJ (11:32)
Yeah.
Chris Gmyr (11:38)
stuff there like huge variety of tea and matches and cups and mugs and teapots and stuff like that. it's very dangerous because everything just smells so good and looks great. but we do enjoy going there once in a while. So I don't know. I'd have to hit that place up.
TJ (11:54)
Yeah, I'm 100 % a coffee snob and I think if I went the T route, I'd be 100 % a tea snob too. Like, just guaranteed. Yeah, right? Just be snobby about my hot drinks and caffeine. I'm also very particular about my energy drinks. I just, like, I'm either drinking one very specific monster or I'm drinking Elani. And like, even inside of that, like, I've got...
Chris Gmyr (12:00)
Yeah. Might as well. Got to stay consistent, for sure.
Yep, yep, totally.
TJ (12:21)
very specific flavors that I'll drink and I just get it direct from Milani and get them by the case.
Chris Gmyr (12:26)
Yeah,
gotta stick to what you like. Life's too short to drink things and eat things that you don't like or are fond of.
TJ (12:29)
Yep. Yeah.
That's so
true, So true. Cool, dude. think we can move on from coffee and talk some AI because I, that's all I do. Right? Like it's all I do is just talk about AI now. Yeah. So I think something interesting to talk about inside of Claude is some, I don't know, man, it feels very hidden feature around like enabling.
Chris Gmyr (12:41)
Yeah.
Because why not?
TJ (12:58)
thinking. It's not like super exposed, right? It's not like a
slash command or which I feel like it almost should be. Man, maybe that's like my, I've not used any like custom slash commands in Claw.
I know, like, Matthias has talked about using some at work, but I've not used any custom slash commands. And maybe that's a good excuse to put some together, is like, for thinking enablement. So this is something that, like, you recently stumbled across, right?
Chris Gmyr (13:26)
Yeah, so I was listening to the Mostly Technical podcast and they've been talking about a lot of AI stuff. Ian's been working on a few side projects and using Claude and a couple other tools to help him build that out. And just a little comment that he put in there of just how there's different levels of thinking. So even if you put think in the prompt,
it'll think a little bit harder. And then you can say, think harder or think hardest or like ultra think. And there's like four or five different levels, right? And I, I'm not sure if like you mentioned this before, but like it just never registered. And then after hearing him talk about it, went back to the Claude code documentation, initial blog posts and whatever, which is huge. And there's this like one little paragraph of like how to add
TJ (14:15)
yeah.
Chris Gmyr (14:19)
this thinking or up to ultra thinking and it'll increase the amount of tokens that you use, it should yield much better results than just a blank prompt without any of this additional thinking. So I'm like, man, I gotta go back and read through this and I watched a couple videos afterward. I'm like, yeah, let's try this out. And there is a pretty big...
TJ (14:29)
Yeah.
Chris Gmyr (14:42)
significant difference between the two. I haven't gone all the way up to like ultra thinking, but like I've done like think hard about, you know, blah, blah, blah, whatever. So it did make a difference. So I think, yeah, the custom commands, custom slash commands might be a good call out to do that. Because I think that's a relatively new feature as well. I think it came out in a few like minor versions ago. But yeah, you can create a custom
command, which is basically just a markdown file in the dot cloud directory. And you can put your whole prompt in there. You can accept arguments and whole bunch of other things. So yeah, probably just doing like a thinking level for different slash commands and then entering whatever other prompt you have as a argument might be like a good starting point to kind of utilize different thinking models within the cloud code prompts.
that would be a good idea.
TJ (15:37)
Yeah, I don't know. just like dawned on me that like maybe that could be an interesting slash command. like, especially when I'm coding, most of the time I like will end my initial prompt with just like, ultra think, right? Like almost like a hashtag on Twitter or something. I've just like, yeah, I'll just just ultra think. And it'll be funny. Because sometimes it'll be like, in its thinking, it'll be like the user wants me to ultra think about this.
Chris Gmyr (15:53)
Mm-hmm.
You
TJ (16:04)
It's so funny. It's just like, ultra thing. Like, and I think it was kind of clever that they like baked it into just like prose. So like, as people are like, yeah, like, think hard about this. It will automatically like pick up and like set the thinking settings and everything. And that there was like an interesting way of handling it. But I think I'd love to see it like more exposed. I, yeah, I don't know if many people know about it.
but boy does it make a difference when coding is just like, yeah, toss on an ultra thing, chew through some extra tokens, but like think about what you're doing before you do it.
Chris Gmyr (16:36)
Totally. So yeah, I've been tinkering with it. I tried the custom slash command bit. I feel like I've just been doing a bunch of random stuff. So it hasn't been one task or repetitive task for things. But I'm sure just being able to think through a couple other workflows and build tests for this file or something like that might be a good reason to play with some custom slash commands.
TJ (17:00)
Yeah, yeah, think, so like, don't always, that's not true either. I guess, nevermind. Think out loud there for a second, but then decided to stop myself because, yeah, I don't know where that was heading, but, yeah, Ultra Think is like huge.
definitely just like toss that in and see what happens. I think it definitely makes a big difference when it comes to code. Other tasks, I don't know so much, between the couple really big unlocks for coding is planning mode first, right? Get a good solid plan, go back and forth with it, review the plan, make sure everything's aligned. So like lock that in.
And then tossing in, yeah, think hard, ultra think, that kind of stuff. I think that's maybe one of the biggest unlocks to using Claude code.
Chris Gmyr (17:46)
Definitely. And actually, one thing that I was thinking about is over time having Claude work on a project, it's supposed to be building up more context on what it does. But not a lot goes back into the Claude Markdown file when you do Claude in it. Is there a workflow that you
perform to update that local memory or update the Cloud file with new commands that you've built or just different contacts? Is there something that you do either manually or have Cloud do for you to update that after a few weeks of working on the project?
TJ (18:27)
Yeah, it's hard to say because I haven't worked on anything like really net new with Claude. And so for the most part, my Claude files are like fairly static because like they're established projects. like the commands that it runs are like those aren't really changing or like adding new commands to things very often. And my
Clawed files are mostly like, here's the architecture of the project. Here's like useful commands that you may need to run for like different purposes. And then I have my like Laravel PHP coding style guide dumped into the Clawed file. Just cause like that's like the majority of what I work on are prison projects or work stuff. And so it's just like constantly coding.
So I just like don't have
I don't have a lot of reason to go back and update it. So I don't have an established workflow for that. There have been a couple times I've gone back and added manual edits for new commands. It's like I recently went back to my work one and added a few things because Matias started doing some work with using work trees. I don't know if we've talked about that at all.
Have you played with work trees much?
Chris Gmyr (19:44)
If not, they're the git work trees,
TJ (19:46)
Yeah, Git work
trees. essentially what a Git work tree is, is you have your main directory with a fric for your repo, right? Well, Git can spin up a work tree, like a new directory that you can work inside of and basically have multiple work streams going at once. So where this comes in useful with Cloud Code is if you want to maybe work on two features at the same time.
you can split off a work tree and have a Claude instance inside of each work tree and doing independent work inside of those. So you can parallelize that process without it stomping on itself. So it's almost a new clone of your code base, but really kind of preference to, yeah, here's a PR. This is a work tree for a branch.
Yeah, yeah. So like, Matias started playing with that a bit. And so like, I've started playing with it a little bit now that there's some like affordance for it. And I've finally had an excuse where like, I wanted to do some parallel work streams where it's like, I've got a lot that I want to do. And this one task is something that I can just like, have it auto edit files and just like run run wild with. But the other one is something that I wanted to handhold a little bit closer and like actually work through and like pair on each code.
change that it was making. So I was able to like split off a work tree and do that stuff. So what I've started to do, so I added like the, we use task files. I've been using task files since I just forever because it's like kind of like a new version of make files. And so, and it's just like all yaml, it's fantastic project task file.dev.
So I, when TS added all the tasks, like all the work tree commands to the task file. So I went back to the cloud code and like the cloud file and added the work tree commands. like if it, so I could ask it to like spin up a new work tree to like work on something and it like can handle, can handle doing the work tree stuff. or have at least like an understanding that like, there's this stuff around work trees. so it's.
Yeah, I don't have a reason to go back and update it frequently. I do wonder what an interesting, I do wonder what a good workflow for that looks like, because I can see that being something that like does get stale and something you want to keep updated. And I'm sure Claude can just do that also.
Chris Gmyr (22:09)
wonder if it's like asking Claude, like, hey, there's been like a number of like PRs and new code conventions or a new package that was added, like, rescan the application and update your Claude code file. Maybe just as simple as that. Or maybe introducing a new slash command to do that automatically. So you run it like, I don't know, like you do your
TJ (22:22)
Yep.
Yeah.
Chris Gmyr (22:31)
package updates or know, brew upgrades every week. So like just run like a cloud refresh command or something like that, like every week.
TJ (22:40)
Yep. Yeah, you could do something like that for sure. One thing I haven't experimented with is running Claude code in headless mode. that could be an interesting use case for updating the Claude file based on some sort of automation. Hmm. No, that's interesting stuff. While we're talking about Claude, kind of an interesting thing that I found myself doing was
Chris Gmyr (22:53)
Yeah.
TJ (23:01)
I have a PR, right? And it's got a bunch of work on it. And I come back to it later. Like, so like, I'm done with the Claude code session. I've moved on to working on other features, but now I have like PR review. So like, I have changes that I need to make based on that PR review. How do I manage the context of that situation? Because like, how do I get Claude to get back up to speed with like what we were doing?
Because now we're not in the same cloud conversation anymore. We've had multiple sessions since then. So how do I get back to that, rebuild that context to have it go off and do some changes? So what I've started having to do is I'm like, look, we're working on this feature, describe the feature. And this is if I don't have the project file around anymore. So when I do plan mode.
I'll extract, it's like the final plan that we decide on to go with. I'll copy that out and I'll put it in a markdown file or maybe some notes somewhere if I feel like I'm going to have to revisit it. And so like that's got the plan of like what we did for that, at least that session. And so I can use that to rebuild the context if I have that kicking around. But the other thing that I've started doing is like, just giving it a brief description of like what
the PR was for and like, hopefully I had a good PR description and I can just like copy and paste that. So at least you're like, I have like a GitHub issue that like details the work that we were doing for that feature. So like, I try to add that context back to it just as like pros, but then I'll be like, look, we've done this work over the last eight, 10 commits, like whatever, however many commits that we've done. And I'm like, go review those.
Like go review the changes before you start working. And so like, we'll actually go back through the Git log, look at the changed files and like review the diffs and everything so that it now has the context of like, here's what we actually changed. So that when it goes in to do the work, it like has that context of like, here's the files we touched, here's the changes we made, and here's like whatever contents, like whatever context I could scrap together for like what the project initially was.
so like, Hey, I haven't to go back and like review the commits to like rebuild context for revisiting something. that has been a pretty fruitful strategy.
Chris Gmyr (25:32)
Yeah, I've been doing something similar like that too for either helping with PR reviews that I'm not super familiar with, bringing down the branch and saying, hey, this is a new feature branch. Review what changes have been made. Are there any optimizations or even explain this thing? And it's pretty good with Git commands anyway. like you said, it'll review all the individual commits as a diff from main.
TJ (25:49)
Yeah.
Chris Gmyr (25:58)
and figured that out pretty well. I did notice that there is a like Claude GitHub app that you can install in like the org or a repo and it'll allow it to gain access to issues and PRS and like even more info on the code base. So I wonder if. I don't know if you've tinkered with that, but I wonder if you could like bring in the context of like what's in the GitHub UI.
of the PR description, any sort of comments that have been made on your reviews, and bringing that into context as well. That might be an interesting thing to explore soon.
TJ (26:35)
Yeah, so I have the GitHub Docker MCP server configured. it's got access to GitHub through the MCP server right now. for Prism, I can link it to an issue, and it can go through the GitHub MCP server and pull down comments, pull down changed files, and stuff like that. So I do leverage that a little bit. But I tend.
Chris Gmyr (26:53)
Mm.
TJ (26:58)
What it's guiding me towards is like...
making
just being like stronger about like writing out issues and like writing PR descriptions and better commit messages because like it's going to leverage that. And that's something that I've really kind of steered away from with Claude is like having it interact with Git and like cut its own commits and everything. I've very much left that to be a manual process of like, no, I want like, I don't want to commit this yet because
we're still in flight on it or we're working on something pretty broad. And that's maybe something that I'd like to experiment with a little bit more, is having Cloud cut its own commits at different stages so that it has really good commit messages so that it can rebuild context maybe from a Git log rather than having to go and do all the diffs and everything. ⁓
Chris Gmyr (27:47)
Yeah, totally.
I haven't done anything with get commits with Claude. I just do it manually because typically, like the first go around, I have to make some manual edits or go back into planning mode and say, like, oh, fix this or go in this other direction. Or you added too many params that I don't really care about and go from there. So yes, you could make even more commits based on that, which may or may not be helpful. But I don't know. I like seeing things a little bit more cleaner.
before committing to something. But it also makes it harder if it kind of goes off the rails if you didn't commit anything, because then you have to ask it to roll back the changes, and it gets a little wonky from there. And I don't know, maybe committing earlier is better.
TJ (28:28)
I have been so bit, I've
been so bit by like it going off the rails before I had a chance to like commit anything and now I'm just like, screwed. Like, I don't know what to do now. So yeah, maybe maybe in what I'm after is like detailed commits, right? Like, like,
I still end up with tons of whip commits over this stuff because it's like, we've just been, Claude and I have been like pair programming for 20, 30 minutes and we have like a bunch of stuff done. Like things are functional. Let me like cut a commit while things are functional and like then go back and refactor. And that's like, for example, I had Claude working on a feature the other day and it was like mocking the controller.
And I'm like, what are you doing? Like everything worked, all the tests were passing and like the test it wrote was correct, but like who mocks a controller? Like what is going on here? Or like it was some legacy code. So like the approach is kind of funky, but like it, nude up an abstract controller to call a private method on it to like.
Chris Gmyr (29:32)
Yeah.
BIRD.
TJ (29:46)
It, no, so it, this was it. It took, the abstract controller, extended an anonymous class, with the abstract controller, then implemented a new test, like a new function, like a new method for this anonymous class that ended up calling a private method on the abstract controller. And I was just like, okay, I really can't think of a better way to like,
test this piece of functionality. I know I really should extract this private method on this abstract controller out to an action or something. Then I can unit test it and then pull it in. This is where I think the action pattern shines. I know I need to make that refactor, but I really don't have the bandwidth to make that size of a refactor right now.
And so I ended up leaving the test because I'm like, really couldn't think of a better way of doing it. But I was just like, that is such a like awkward way to like test it. Like, come on Claude. But like it did it. It worked. But yeah, I've had to like, yeah, mock weird things. I'm like, no, like step back from that. But I'd rather have the commit of like, yeah, everything's functional. All the tests are passing and like we're green.
we should probably cut a commit now so that if it does go off the rails later, at least we have a working copy and we can go back and refactor it later.
Chris Gmyr (31:03)
Yeah, I might mess around with that, too, the commit messages. I also like your idea of copying and pasting the plan before you execute it, because I feel like I've been bit by that already. ⁓
TJ (31:10)
yeah.
I tried
to tell it to write the plan to the file, but then it ends up doing a distilled version of the plan and tasks. it's like, no, no, was very satisfied with the plan we came up with. Don't write a new version of the plan. I want that exact plan. Luckily, I use T-Mox, and so it's easy for me to just scroll up and go into Vim mode and copy and paste it and everything.
Chris Gmyr (31:45)
Yeah.
TJ (31:46)
I found I've been doing that as a manual process now is just like once we've settled on the plan I'm copying and pasting that so that like we can get back to that game plan later. ⁓
Chris Gmyr (31:57)
Yep,
I like that.
TJ (31:58)
Yeah.
Chris Gmyr (31:59)
to steal that for sure.
TJ (32:00)
do it. It's like super helpful.
like, yeah, plan mode up front is like big, big, big, big game changer. Like I don't do hardly anything now without jumping into plan mode. I also upgraded, man, I upgraded to the 5x plan. What happened to like the 5x plan, I think is like 100 bucks a month from Claude and their 20x plan is like 200 bucks a month. What
Chris Gmyr (32:11)
Yeah, totally.
TJ (32:22)
I had a real heavy month of working on stuff between work and Prism. And I chewed through probably $200 in API credits over the course of a month. And I had looked at these 5x and 20x plans. And I'm like, oh, man, that feels expensive. But at the same time, I'd be spending $150 a month in API credits and just not realizing it because I'm buying them at $25 increments because I'm weird. And that's just what I've been doing.
almost as like a checkpoint for myself, right? I'm like, it's another 25 bucks. I'm like burning through credits. Like, I just had to re-up again. But I switched to the 5x plan. And so far, I have not hit any rate limits or anything yet. It's definitely worthwhile.
Chris Gmyr (33:04)
Nice. Well, I think they just updated
their rate limits. I feel like I just got an email from them yesterday or the day before. They've updated limits across all the plans. But yeah, even upgrading to the next level up, I'm sure it updates rate limits. So you should be in really good shape now.
TJ (33:14)
I think I heard something about that.
⁓
yeah, the 5x plan has been just, I've been really enjoying it. like the cloud code came out with an update to where the default model is to use Opus, which is their like big smart model. Like it uses that up until you hit 20 % of your quota. And then it switches over to Sonnet, like full time. But while you're writing code that will like switch between it like will pick the best model for the job.
Chris Gmyr (33:44)
Nice.
TJ (33:49)
But I found that, I found those two things interesting. But yeah, I switched to the 5X plane and I've been like super happy. I was glad they had it.
Chris Gmyr (33:56)
Yeah, I might have to do the same if I keep on using it pretty heavily. So is that the, because there's two possible plans, right? There's the API plan and then the kind of chat UI plan, which you can now use for Claude. So did you upgrade the API plan then?
TJ (34:10)
So there's your
API, which is all credit-based, right? You buy credits, and it uses those credits for requests. So there's your API usage. And then there's their plans. And so for plans, you have the pro plan, which is like $20 a month. you can use that with Cloud Code, too, if you want now.
So you have like the pro plan, you have the 5x plan, and you've got the 20x plan.
And those are all like various different levels, but 5x plan has been like super solid. I realize like if I'm using it enough and I end up like bumping up against the rate limits, I definitely feel like it's worthwhile to make then make the jump to the 20x plan if I'm like really, really jamming on it because like this stuff is fantastic. And so I also get those like, there's, it's not just rate limits.
Let me go take a look real quick.
Let's see. Yeah, so you get, not only do you get more usage inside of your rate limits. So they have like the free plan, pro plan, max plan. And max plan, you've got like the 5x or 20x plan. But you also get higher output limits. And you get like early access, you get priority access during high traffic times. So like, if they're
like really high traffic, and I'm just using like Claude.ai or like the UI chat and everything, I'll get priority access as like other people are maybe getting rate limited because Claude's too busy, like MaxPlan users will still get priority access. So there are like other things that are advantageous about like moving to the plan, but boy, that makes a big difference.
Chris Gmyr (35:55)
Yeah. But you still need API access for other apps and things that you have running on behind the scenes, right? That you would still need API, not just cloud code, right? All of your.
TJ (36:08)
Yeah,
so Cloud Code works with all plan types. Initially, it was just API, but then they figured out all the OAuth and everything to make it work for Pro plans and for Pro and Max plans. But yeah, if you're using Prism or something, that's all API access. You can't use your Pro plans for that stuff. So yeah.
Chris Gmyr (36:28)
Cool. Yeah, we'll have to keep this updated on how the Max plan is working out for you.
TJ (36:33)
Yeah, so far I've been like super happy and like, if I end up staying inside of rate limits for it, then I actually end up spending less by potentially a good margin ⁓ by using my like max plan instead of API tokens. So I think I'm going to end up being like in a really good spot with it.
Chris Gmyr (36:46)
Yeah.
Yeah, does it show you on the plan somewhere of like your usage level of that or no? I know like on the console, the API side, it actually shows you like how much that you're using per like API key and and all that. And obviously the billing kicks in if you go past your threshold. But I'm not sure if there's something on the plan because like my question is like, how do you know that you're actually utilizing that $100 a month?
TJ (37:22)
That's a question.
Chris Gmyr (37:25)
compared to bumping back down to the $20 a month plan and re-utilizing the API console.
TJ (37:35)
Good question. I have no idea. Yeah, yeah, I've not looked like for me. It's just like, am I am so far my evaluation criteria are am I hitting rate limits? How often am I hitting rate limits? And am I spending?
Chris Gmyr (37:38)
OK. Fair enough.
TJ (37:51)
Is my spend more than what the plan is or not? Like if I'm staying inside of the plan, then not hitting rate limits, then I'm good to go because I know I'm going to be chewing through those credits on the API side of things. so based on my API usage, like that's kind of how I decided, like it was part of the deciding factors. went and looked at my API usage over the last like two months and like I'm consistently over a hundred bucks a month. So like
It just makes sense to make the switch.
Chris Gmyr (38:20)
Yeah, totally. Nice.
TJ (38:23)
So
yeah, Yeah, yeah. Well, I got some ultra thinking to do. You wanna rap?
Chris Gmyr (38:24)
Okay.
Yeah, let's wrap it up.
TJ (38:32)
Cool, dude. So thank you all so much for listening to the Slightly Caffeinated Podcast. Show notes, all the links of things we've talked about in social channels are down below and they're all.
Creators and Guests

