Using Opencode while working out
Leveraging an LLM to do get things done while you’re getting other things done is pretty great.
Here’s a brief sampling of what I got done today during my workout:
- Created a blog using Astro 5 with the new Content Layer API
- 1 x 4 @ 8 RPE of squats
- Wired it up with markdown and MDX
- Created a blog listing page and single post pages
- 3 x 10 @ 8 RPE of bench press
- Set up a 404 page
- Added a footer
- myoreps of dumbbell press
- Ensured that I was using consistent styling with some theme work and component abstractions
- generated an outline for what I should post here.
- 3 x 15 @ 7 dumbbell fly
This isn’t done yet. I’m not loving how the blog post page looks. It’s a little plain but I don’t really have a lot of time. Opencode is a cheat code for using an LLM to make changes. You still need to understand how to break out tasks in ways that LLMs understand. There’s a ton more that I’m learning with this firehose right now but this is an example of what a command and result might look like:
Example Task:
I have tasks written out like this. I keep a little x so that I can keep track what I’m having the LLM do.
5. - [x] we need a slug route for blog posts,
then let me know where the hello world post will live
Example Result:
This is what the LLM actually does and how it reasons about it.
## Task 1.5: Create Slug Route for Blog Posts
### Work Log
- [x] Create a dynamic [slug].astro route for individual blog posts
- [x] Display blog post content with proper layout
- [x] Inform user where the hello world post will live
- [x] Fix slug route to use correct frontmatter field name
(publishDate instead of publishedAt)
- [x] Debug and fix the Missing parameter: slug error
- [x] Update blog route to use id instead of slug
for Astro 5 Content Layer API
- [x] Fix entry.render is not a function error
use render function from astro:content