Build Your Own AI Software Factory with Claude Code — Transcript
Full transcript
- 0:00Today we're building a software factory
- 0:02with Claude Code. Thank you to Anthropic
- 0:04for sponsoring today's video. I love
- 0:06using Claude Code. Of course, we're
- 0:08going to be building Claude into our
- 0:10software factory. We'll be using a mix
- 0:12of Opus and Sonnet. And we're on 5.5 at
- 0:15the time of filming. Everybody agrees
- 0:16that these models are incredible. So, I
- 0:18want to show you what these can do. This
- 0:19is going to be a very simple factory,
- 0:21but as you'll see, it will still be very
- 0:23effective. The idea is that you can
- 0:25build one for yourself inside of an
- 0:27existing project. So, I'd encourage you
- 0:29to follow along with the video. This
- 0:30video will be very hands-on. I'm going
- 0:32to explain exactly what we're building
- 0:34with our software factory, what our
- 0:36approach is going to be, and we'll do a
- 0:38quick introduction of what software
- 0:39factories actually are. Here's the mind
- 0:41map for today's video. So, over here on
- 0:44the right is the demo, and I'm going to
- 0:45explain this diagram first for anybody
- 0:48who already knows what a software
- 0:49factory is. Then, we'll go through this
- 0:51left side, and I'll sort of explain a
- 0:53little bit of a history on these things.
- 0:55But if you want to review this, you can
- 0:56get this full thing as a high- quality
- 0:58image if you subscribe to my newsletter.
- 1:00I'll just send it right to your inbox
- 1:01right away. You can look through it with
- 1:03me. Let's actually jump over here. This
- 1:05is what we're going to build. It's a
- 1:06simple agentic software factory where a
- 1:09team of agents take a feature and pull
- 1:12that into the main codebase by the end
- 1:14of our factory. So, we input some
- 1:17feature request and then the rest is
- 1:19handled autonomously except for this
- 1:21last step, this human approval step.
- 1:23Let's walk through this. First thing we
- 1:25do is write a spec, and I'm going to use
- 1:27Opus for that. Then we're going to go to
- 1:29a building agent, which is actually
- 1:30going to build our feature. This will
- 1:32build the full working feature for us.
- 1:34Then we're going to hand this feature
- 1:35off to various review agents. We're
- 1:37going to do a security review, a UX
- 1:39review, a UI design review, and a code
- 1:42review. And these are all done with
- 1:43separate agents. Some of them are Opus
- 1:46or Sonnet in here. And then this gets
- 1:47fed back into the builder agent. And
- 1:49this happens in a loop until we're
- 1:51happy, satisfied with the code. And then
- 1:53we go to an approval step. This runs
- 1:55with another agent which is Opus. And
- 1:57then Opus decides, this agent says
- 1:59either we merge to main automatically or
- 2:02we hand it off for human review. And
- 2:04this is all managed through our factory
- 2:07that I'm going to build today. So if
- 2:08you're ready to go, you can use the
- 2:10timestamps in the video description to
- 2:12skip right to where we start building
- 2:13this. Otherwise, stick with me and I'm
- 2:15going to walk through the rest of this
- 2:16mind map. Software factories were first
- 2:18described by Bob Beamer at GE in 1968.
- 2:22Essentially, they're a
- 2:23computer-controlled programming
- 2:25environment containing standardized
- 2:27development tools along with historical
- 2:29information for management and
- 2:31measurement. And the short history of
- 2:34that is from there we saw a lot of stuff
- 2:36going on in Japan. And I'm sure this was
- 2:38happening in Europe and America as well
- 2:40to some extent, but that's what was
- 2:41characterized the early stage of
- 2:43software factories. Then in the 2000s we
- 2:46didn't quite have the CI/CD stuff going
- 2:48on but it was like how can we have
- 2:49reusable patterns models and frameworks
- 2:51to be building software. Then in the
- 2:532010s 2020s this is where we got CI/CD.
- 2:56So proper continuous integration
- 2:58pipelines GitHub actions and now we have
- 3:00agentic factories. So here's what a
- 3:02software factory looks like in the age
- 3:04of AI. And I love this quote. What's new
- 3:07is the automation of relatively
- 3:09unstructured cognitive work between the
- 3:11deterministic stages including of course
- 3:14writing the entire code it you know
- 3:15itself. So this is the basic loop. We
- 3:18have a trigger which goes to an agent
- 3:20which submits a PR which is merged by a
- 3:23human and inside of here we have all
- 3:25sorts of clever stuff going on with the
- 3:27agent pulling in information and this is
- 3:29where the interesting graphs come about
- 3:31with software factories. There's a lot
- 3:33more details I skimmed over in here. I'm
- 3:35going to cover this in my school
- 3:36community on my weekly calls and I
- 3:38record all of these and post them back
- 3:40to the community. So, if you want to
- 3:42keep hearing me discuss software
- 3:43factories, you can join my school
- 3:44community and check that out. Now, let
- 3:46me get on to the build with Claude Code.
- 3:48And we're going to start here and I'm
- 3:49going to paste this prompt into Claude
- 3:51to start building things. And this is
- 3:53the whole prompt we're going to use. So,
- 3:55I've got this prompt in the source code
- 3:57for this video. You can find that in the
- 3:59video description and you can reference
- 4:00that if you want. At this point, if
- 4:02you're following along with me, you want
- 4:03to start working in an existing project
- 4:05that you have. This is the source code
- 4:08for my website. It's a real ugly
- 4:10project. There is a lot of stuff going
- 4:13on in here. We're going to build a
- 4:14software factory right inside of my
- 4:16website. And I'm going to start by
- 4:18spinning up Claude code. And you'll
- 4:20notice that I've got bypass permissions
- 4:22on. So, this is going to let Claude do
- 4:23whatever it wants. But you can set this
- 4:25to your level of comfort. And the first
- 4:27thing I'm going to do is change my
- 4:29model. And I want to use Opus 5.5. I'm
- 4:32also going to set the effort. And for
- 4:33this task, I want to use high effort
- 4:35because I want it to produce a very high
- 4:37quality result. And I want it to follow
- 4:39all of the details in this prompt. Let
- 4:41me paste the prompt in. And I'm going to
- 4:43press CtrlG. And I can open this prompt
- 4:46up in my sort of default editor. And so
- 4:48I can also get out of this and see it in
- 4:50Claude. Here's the sort of one-s
- 4:52sentence description of our spec. We
- 4:54want to build a simple visual software
- 4:56factory in this repo using claude skills
- 4:58sub aents and markdown files. The
- 5:01markdown files are going to control the
- 5:02state of our application. Now the
- 5:04orchestrator is very important for my
- 5:06software factory. My orchestrator is
- 5:08going to be clawed code using whatever
- 5:10model I choose at the time and then I'll
- 5:12run this factory skill in order to spin
- 5:15it up. Now from there the factory works
- 5:17in this loop which I described or
- 5:19earlier. A feature comes through the
- 5:21specwriter which goes into the builder
- 5:23which then gets verified by various
- 5:26review agents and once those are done if
- 5:29we need changes this happens in a loop
- 5:31and then we go to the approver which
- 5:33either merges to main the feature or we
- 5:36get a human review and this is a system
- 5:38we can use repeatedly every time we want
- 5:40to build a new feature for our project.
- 5:43That's the power of a software factory
- 5:45and this is why everybody's so excited
- 5:47about these things right now and we
- 5:49could imagine in the future we want you
- 5:50know we can bring in data sources from
- 5:52the outside world and we can also have
- 5:54other things like we can have stuff that
- 5:56triggers this instead of a feature. So
- 5:58this is still my prompt by the way let
- 6:00me come down and continue talking
- 6:02through this. You can see we're setting
- 6:04this up as a skill and this is the
- 6:06convention for how agent skills should
- 6:07look and we've also got this factory
- 6:10folder. This will live right inside of
- 6:11the app that I'm working in. And then we
- 6:13have some example files just to give the
- 6:15right style. So this is how cloud sub
- 6:17aent syntax should look. So I have some
- 6:19examples of what this should look like,
- 6:21but we're mostly going to leave this up
- 6:22to the agent to build all of these
- 6:24things. And then here's the commands
- 6:25that I want to have. I want to be able
- 6:26to start a new job through the loop
- 6:29that's done here like just using factory
- 6:31and then describing my feature. And then
- 6:33lastly, I've got a dashboard. And this
- 6:34is going to give us some visibility into
- 6:36this whole system. So we can kind of
- 6:38tell what's happening while everything's
- 6:40running. So let's kick this off. Check
- 6:43out this. The orchestrator skill looks
- 6:45like this. I feel confident that with a
- 6:47longunning agentic task like this, we
- 6:50can really nail all of the little
- 6:51details in this. Um, and if you've used
- 6:54Opus, you know exactly what I'm talking
- 6:55about. You can throw any little small
- 6:57detail and it's extremely good at
- 7:00picking these up and propagating them
- 7:02through the code as it builds everything
- 7:03out. And now it's building out the
- 7:05reviewer agents. So, these all live as
- 7:07Claude sub agents, and these are going
- 7:09to be the guys in our software factory
- 7:11doing all of our work. Here's the
- 7:12reviewer UI agent. Claude has just
- 7:14finished up. The last thing it was
- 7:16working on was the dashboard for our
- 7:18factory. That's what it created right
- 7:20here. So, let's look at these decisions.
- 7:22Max two rounds. That works for me. Your
- 7:25checkout. The builder works on factory.
- 7:27Okay. So, this is the um branch that we
- 7:30check out to build our feature. That's
- 7:32cool. That works. And then we have this
- 7:34rework method. If it didn't work, we can
- 7:36just like spin it through again. So,
- 7:37there's some discussion about what the
- 7:39approver should escalate. If we're doing
- 7:41anything with billing, let's make sure
- 7:42we es escalate that. Anything with
- 7:44course access, this is stuff that's
- 7:46specific to my own repo. So, you know,
- 7:49the agent will be specific to yours,
- 7:51too. That's another cool point. Like
- 7:52this prompt that I wrote, this will be
- 7:54general for any anything. This will work
- 7:56for your project just as well as it did
- 7:58for mine because it's not at all adapted
- 8:00to my project. Uh, really cool. So let's
- 8:03restart cloud code so it loads the new
- 8:05agents and then run factory next. Um all
- 8:08right now I have a question though. Um
- 8:11when I run factory next what would that
- 8:14do? I don't think I have anything next
- 8:16yet. Right?
- 8:19In other words like I don't have any
- 8:21features that I'm expecting to build. So
- 8:23I don't think that would work. What I
- 8:24want to do is run factory and then
- 8:26describe the feature that I want to
- 8:28build. Also go ahead and spin up the
- 8:30dashboard.
- 8:32Oh, what? The backlog actually has some
- 8:34stuff in it. I put three starter items.
- 8:36So, Opus just figured out what I should
- 8:38be building next. That is hilarious. And
- 8:41here's where the dashboard's running.
- 8:42So, there's nothing going on yet.
- 8:44Everything's empty. Let's spin up our
- 8:46first job. Before we test it though, let
- 8:48me show you exactly what we just built.
- 8:50So, let me go to my project, and I'm
- 8:52going to open up this tool I have called
- 8:54Lazy Git. And this way, we can see all
- 8:56the changes. So, we built out a bunch of
- 8:58agents. These are all of our sub aents,
- 9:00the things that are doing the work.
- 9:01inside of our factory. This is our
- 9:03approval agent, builder agent, reviewer
- 9:05agent. Let's go back down. Here is the
- 9:07skill. This to me is like the main thing
- 9:10that's controlling the factory. It's the
- 9:12agent skill that we're going to use to
- 9:13like spin it up. It's the orchestrator
- 9:15skill effectively. That's how we can
- 9:17think of this one. And then we've got a
- 9:19bit of code in the factory itself, but
- 9:21very little. We have this backlog
- 9:23markdown file, and this is just going to
- 9:25track our jobs, like the stuff that we
- 9:28haven't built yet that we want to build
- 9:29out later. And then we have a dashboard
- 9:31and this will be give us observability.
- 9:33I showed you that already. And then just
- 9:34a few modifications to the agents file.
- 9:37Get ignoring some stuff. That's it.
- 9:39That's it you guys. I can also show you
- 9:40this in Vim. And let's just look. So
- 9:43this is kind of basically our factory.
- 9:45This is the orchestration scale and it
- 9:48just documents like different ways that
- 9:50we can use this. Um so this is what I'm
- 9:53talking about right here. We have
- 9:55factory slashfeature. So now inside of
- 9:58claude if I was to type backslash and
- 10:00start typing factory here it is. This is
- 10:02my skill which has been indexed by
- 10:04claude code and I can call it directly.
- 10:07I can also look at skills and I'll see
- 10:09this in the list of skills. If I just
- 10:11search factory and this is it. You can
- 10:13see it's a project skill just for this
- 10:15project available because it's in
- 10:17thatcloudskills. So let me just quickly
- 10:20hop back. We're on this step right now
- 10:21running the factory. We're going to
- 10:23watch how this actually proceeds. And
- 10:26I've got this kind of feature that I
- 10:28want to build. So my Obsidian agent
- 10:30setup course pages should not be
- 10:31paywalled. Only the videos are
- 10:33paywalled. Let's see if our factory can
- 10:35handle this feature inside my actual
- 10:37website. This is my production site that
- 10:39we're working in right now. So it didn't
- 10:40start the job. The facto's first
- 10:42precondition, a clean working tree,
- 10:44isn't met. I never committed any of this
- 10:46code. I'm actually going to commit this
- 10:48myself. like old school add clawed code
- 10:52software factory
- 10:55push that all right now I'm going to
- 10:58start this again but I want to clear it
- 10:59and from here I can run factory and
- 11:02submit my feature it's creating the job
- 11:04Obsidian course unpaywall and now we can
- 11:08see we're starting to use our sub aents
- 11:10here's the first one we're creating a
- 11:11spec using the spec writer background
- 11:13agent let me hop over and now I'm in the
- 11:16agent itself so I'm looking at the sub
- 11:18agent and I'm seeing what it's doing.
- 11:20It's creating a spec for me. So now the
- 11:22spec is done and we can see here we've
- 11:24written to a spec file and I can see our
- 11:26builder has just started working on
- 11:28this. So let me go back to the
- 11:30orchestrator and check out what
- 11:31happened. It was like okay we you know
- 11:33our our sub agent finished. It kind of
- 11:35picked this up and then it opened the
- 11:37builder and the builder down here is now
- 11:40down here and this is this is now our
- 11:42sub agent that's building this out. And
- 11:44by the way I want to look at this in a
- 11:46dashboard. Let me go over here and spin
- 11:49up the software factory dashboard. Yeah,
- 11:51it's it's making edits to the code. All
- 11:54right, so this is where we're at. So
- 11:56this is really neat because you could
- 11:58actually imagine we could be doing other
- 12:00stuff like at the same time. I'll also
- 12:02note up here we have a needs human
- 12:04phase. So anything that gets like stuck
- 12:06in here, we know that we would need
- 12:08human review at this point. So this is a
- 12:09like a real functional way that we could
- 12:11be using the dashboard. Oh, nice. Check
- 12:13this out. It just wrote a build file
- 12:16right here. It wrote this file to our
- 12:18factory. Okay, now we're back in Maine
- 12:20and our agent. Okay, sweet. We just went
- 12:23to review and we just kicked off all of
- 12:25our review sub agents. So these guys are
- 12:28representing our review. They're doing
- 12:30it. Okay, the UX round finished. The UI
- 12:32round finished. And they passed. So both
- 12:35of those passed, but we're doing the
- 12:37security over here considering. Okay,
- 12:39that's done. Code review. This is This
- 12:41is epic. Oh, look at this, you guys. We
- 12:43can even see the little icons. Oh my
- 12:46god, that is so cool. It's deciding if
- 12:48this feature should be pulled in or not.
- 12:50I'm actually blown away. This is uh this
- 12:52is how I want to develop features now.
- 12:54Um why have I not done this yet? So uh
- 12:57what's opus deciding? Escalating. It's
- 13:00escalating. So I think it'll go to the
- 13:02human review. There it is. So it's
- 13:03sitting in the human review phase. And
- 13:06now I need to approve this. What happens
- 13:08if I click on this? Okay, I can get all
- 13:12sorts of information from the dashboard.
- 13:14That is very cool. Escalate why the
- 13:18build is clean. Every acceptance
- 13:19criteria for the human if both
- 13:24for the human. So here's how I would
- 13:26approve it. I would need to know the ID
- 13:28of this feature and then I could run
- 13:30factory approve. Let me do that in a new
- 13:33session. So, I'm going to clear this and
- 13:35I'm going to say factory approve and
- 13:38then this. And we're done. It has merged
- 13:42it into my actual code. Now I can have a
- 13:45look at that. So down here, this Claude
- 13:47guy was just running my Okay, I'm going
- 13:50to come down here view. Okay, this is my
- 13:53source code and if I look at the git
- 13:54status, I'm ahead by four commits.
- 13:57That's because
- 13:59I've just committed this merge factory 1
- 14:01obsidian course on payw wall. This is
- 14:04the thing that was done by the agent.
- 14:05And I can look at that guy. If I look at
- 14:07the previous commits, this is what it
- 14:09did. So it went off onto a branch. It
- 14:11did a few different commits. It kind of
- 14:13built out our feature and then it merged
- 14:15it back. And that merge was done when I
- 14:17approved it. Very cool. Now I want to
- 14:20stress one thing. If I come up here,
- 14:22when I said factory approve, what's
- 14:24actually happening here is I have a
- 14:26skill, an agent skill called factory.
- 14:28And when I run that, we trigger the
- 14:29agent skill. Then all of this other
- 14:32stuff in here, this is just free form.
- 14:35So this is not not actually like a
- 14:36strict um like schema or um a strict
- 14:41spec for you know saying approved. Now
- 14:43let me show you where the metadata for
- 14:45this system lives. And this metadata is
- 14:48responsible for populating all of the
- 14:50information we're seeing down here.
- 14:51These just live as markdown files in our
- 14:54project. If I go into factory and then I
- 14:57look at all the files inside of here,
- 14:58this was the feature we just built. And
- 15:01all of these files are the metadata that
- 15:03we're populating inside of our dashboard
- 15:06down here. I love how simple this is. I
- 15:09can just like look at this stuff in Vim
- 15:11myself and review this. Agents can use
- 15:14this. Future agents, other systems. This
- 15:16is so cool for me. The one thing I'll
- 15:19say is we probably don't want all of
- 15:21this stuff committed to git. Of course,
- 15:23they're just text files. There's nothing
- 15:25wrong with committing them all to git,
- 15:27but it just kind of might mess up your
- 15:29fuzzy searching as you start doing file
- 15:31searching and stuff like that. It's
- 15:33something you can decide what you want
- 15:34to do. For my part, I don't think I
- 15:36would want these committed to git. So,
- 15:38if I look in my git ignore at the
- 15:40factory, you can see we're not
- 15:42committing any of this. So Claude
- 15:44already decided we shouldn't commit this
- 15:46stuff. So these these things are
- 15:48transient and they'll be deleted if you
- 15:50were to recclone the repo elsewhere
- 15:52unless you were to back them up with
- 15:53like some custom process which by the
- 15:55way is exactly what I would do. I would
- 15:57just throw them into cloud storage
- 15:58somewhere and I would get the agent to
- 16:00manage that. If you want to learn more
- 16:01about what I'm talking about there, you
- 16:03should join my school community. You can
- 16:05ask me or just join my weekly calls. I
- 16:07talk about these types of things all the
- 16:09time. This is how developers are
- 16:10building with coding agents now. And
- 16:12speaking of building with coding agents,
- 16:14let's keep developing this with cloud
- 16:16code. What I want to do is be able to
- 16:18support running multiple things through
- 16:20the software factory at once. Right now,
- 16:23that won't work too well because we're
- 16:25not using git work trees. So, let's
- 16:28build this in right now. Have a look at
- 16:30my software factory. I want to be able
- 16:32to run multiple features through the
- 16:35factory at once. And in order to do
- 16:37that, I think we'll need some sort of
- 16:39git workree integration.
- 16:41You know, I just realized um I could
- 16:44have used the software factory to build
- 16:46itself. That would have been awesome.
- 16:48Anyway, we got this done. Now, let me
- 16:50start a new session. So, what features
- 16:52should we build? Let's go into our
- 16:54factory. And I've got this backlog here.
- 16:57Let's have a look at that. Estimated
- 16:58reading time next to the date on the
- 17:00blog post. Okay, let's do that. Add a
- 17:03copy button to code blocks. Sure, let's
- 17:06do that. Add a four. Four for this is
- 17:08great. These are all things I should
- 17:09have on my site. That's nuts that Opus
- 17:12just came up with those on the fly as it
- 17:14built like the [laughter]
- 17:16Dude, these things always just blow my
- 17:18mind. All right, let's go factory next.
- 17:22Are we ready? Let's go. Um, now the po
- 17:25the point of this is to do multiple of
- 17:28these in parallel. And we just tic this
- 17:30off. So, we picked that one up. Um,
- 17:33let's let's do it. I'm going to start a
- 17:35new session down here. And I want to
- 17:37start these in separate T-Mox areas just
- 17:39so that I can watch all of these go.
- 17:42Let's start up Claude and let's say
- 17:45factory next.
- 17:48All right. Now, we've established in our
- 17:50top agent, we've started doing some spec
- 17:52writing and stuff. Um, what's going on
- 17:55down here? Oh, here they are. So,
- 17:57they've just two of them have entered.
- 17:59We have two new features that have
- 18:01entered the factory. And let's do a
- 18:04third one. Why not? Um, all right. Now,
- 18:08one thing I should show you is, you
- 18:10know, the orchestrator will be whatever
- 18:12agent we've spun up here. So, I've got
- 18:14Claude Opus 55. Just for fun, let's use
- 18:17sonnet here. I'm going to say model, and
- 18:20we're going to go to sonnet 55. And
- 18:22let's see what happens if I put it on
- 18:24loweffort. Why not? Let's try it.
- 18:26Factory next. What feature is this one?
- 18:30This is my last remaining feature. which
- 18:33would be the 404 page. So, sonnet should
- 18:36be very fast. So, I would expect that
- 18:39this feature might finish fast. But on
- 18:41the other hand, the orchestrator is not
- 18:43necessarily the limiting agent, right?
- 18:45What's going to limit this are the the
- 18:48sub aents and right now we're in the
- 18:50spec writer phase. And you know, this
- 18:52sonnet session is still going to be
- 18:53limited by the speed of the sub aents,
- 18:56which we're still using opus for. And in
- 18:59fact, we might want to use a small model
- 19:01to to actually do the orchestration. I
- 19:04don't think so, though. My intuition is
- 19:06that we want a really smart model to be
- 19:08the orchestrator and then some of the
- 19:10sub aents can use lower models, faster
- 19:13models that are, you know, aren't as
- 19:15good. Um, and that's been the approach
- 19:17for my software factory. That's how I
- 19:19that's how I approached this. Um, Sonnet
- 19:21is flying though. We're already on the
- 19:22builder phase for that. Oh, this is like
- 19:24a race, dude. And this is all just this
- 19:26is just working with um with get work
- 19:29trees, right? Like it's it's just
- 19:33working. Like I I don't really need to
- 19:35worry about it. I don't need to be
- 19:36messing around and switching work trees.
- 19:39Also, we just built this ourselves. Like
- 19:43this is your own thing. You you just
- 19:44built it. You can change it. You can do
- 19:46whatever you want. You're not relying on
- 19:47like some dude's um you know factory
- 19:50skill that is all hyped and you found it
- 19:53and it does like a million things. this
- 19:54is your own very simple skill for your
- 19:57own software factory and you know
- 19:58exactly how it works right and when you
- 20:00want to change it you know how you can
- 20:02change it. I think this is so important
- 20:04and I think people are just totally
- 20:05missing the point um right now with just
- 20:09you know following big things and
- 20:10starring everything on on um GitHub and
- 20:13thinking they have to keep up and be
- 20:14trying everything. Really what you have
- 20:16to do is understand the core concepts
- 20:18and how we can use coding agents to be
- 20:20doing the things that everyone's so
- 20:22excited about. Um, and then just making
- 20:24it work for you to give you actual
- 20:26productivity. And I will argue that what
- 20:28I've done here is actual productivity.
- 20:31Like I'm watching three agents crush
- 20:34through features on my website working
- 20:36in their software factory.
- 20:39Damn, what a world we live in. Okay, our
- 20:42sonnet agent is in review and it just
- 20:44kicked off all of the reviews. And I
- 20:47think this is probably my favorite part
- 20:48of the UI, how we can actually watch
- 20:50these results come in. Oh, okay. Our
- 20:55blog reading time features getting
- 20:57pushed through as well.
- 21:00Now, the blog reading feature actually
- 21:02does have a UI and a UX component to it,
- 21:05whereas these other features didn't so
- 21:07much. So, I'm curious if maybe it will
- 21:09get rejected. I doubt it. I mean, we'd
- 21:12use Opus to build it. What would be kind
- 21:14of crazy is if we tested out like a
- 21:16really dumb agent as the builder and
- 21:18then got Opus to keep like fixing and
- 21:20judging the dumb agent. That would be
- 21:21pretty fun. Uh oh, okay. Needs human.
- 21:24The 404 one needs human. I have a
- 21:26feeling we're going to need to lax the
- 21:28guard rails. I think like all of these
- 21:30things Claude is going to figure out
- 21:32some reason to get me to look at them.
- 21:34So that's something we could work on.
- 21:35That would be a way to work on our
- 21:36factory, make it more efficient. The
- 21:38approver agents taking a long time.
- 21:40Okay, it needs human as well for that
- 21:42one. This is actually legit. Um Claude
- 21:44doesn't want to invalidate my blog
- 21:46render cache. That'll take a little
- 21:48while to run when it when we merge this
- 21:51feature. So that's fair. As for the 404
- 21:54reading block, um I'm a little confused.
- 21:58We seem to have approved this, but there
- 22:02says there's nothing for the human, but
- 22:04it still needs a human call. So I'm
- 22:07going to investigate that. Why did this
- 22:09not get automatically approved and
- 22:11merged? Merge only runs when the main
- 22:13checkout is clean and on main here we
- 22:16have some stuff. So that failed. Okay.
- 22:19So the software factory is kind of being
- 22:21dumb. Um we have changes to the backlog.
- 22:25So it couldn't um commit that. Those
- 22:27changes are inevitable whenever we're
- 22:30using the software factory. Therefore
- 22:32they should not be blockers. Now of
- 22:34course it's unfortunate that I'm talking
- 22:36to Sonnet to do this. I mean, Sonnet's
- 22:38certainly quite capable, but I would
- 22:40want to use my best agent to be working
- 22:42on my factory. It's like the most
- 22:44important thing in my codebase, right?
- 22:46Yeah. So, it's specifically saying this
- 22:48file is okay if there's changes in it.
- 22:51So, that's cool. So, hopefully that
- 22:52would work properly next time. Um, but
- 22:56let me bring these in. So, I've got two
- 22:57things to approve and I can do that now.
- 23:00There's this factory approve command,
- 23:01but I could just be like, okay, merge it
- 23:04in now. So, you know, if I'm being real,
- 23:07like that's how I would, you know,
- 23:08that's how I would do this. But in the
- 23:10idea of the factory is that we've
- 23:12actually got inputs coming from things I
- 23:14don't control. Like I'm not necessarily
- 23:16spinning up an agent in a software
- 23:17factory. Maybe it's starting from other
- 23:20triggers. I'm going to talk about that
- 23:21in just a moment in my closing thought.
- 23:24Um, but let me finish this up. So, I've
- 23:25I've merged this in. So, we actually
- 23:27updated the metadata. So, I can I can
- 23:29see that that was merged in over here.
- 23:31Um, and meanwhile, this other guy is is
- 23:33actually still working. So, adding a
- 23:35copy button in code blocks. Yeah, that's
- 23:37a little bit maybe a bit of a tricky
- 23:39feature clearly. Oh, this is hilarious.
- 23:42So, this one won't merge because of the
- 23:43changes that I just got Sonnet to make.
- 23:46Um, okay. Yeah, update and commit like
- 23:48add those separately and then merge this
- 23:51in. Oh my god, I can barely speak. Opus
- 23:54got me. There we go. That one's done.
- 23:56What a beautiful thing. Now, let me go
- 23:58back to the mind map. And I'm just going
- 24:00to finish everything up by having sort
- 24:02of a look at what we would want to do in
- 24:03the future going forward for this.
- 24:05Here's four things that we could do now
- 24:07to get our basic software factory
- 24:09running better for us to be more
- 24:11effective. And the first thing we
- 24:13already did, we added git workree
- 24:15support so that we can run several jobs
- 24:17in parallel. And we just demoed that.
- 24:19Sick, right? Next thing we can do is
- 24:21GitHub issues as the intake or other
- 24:24things. for example, maybe we can
- 24:25trigger this from Slack. Um, GitHub
- 24:28issues are a really great sort of way to
- 24:31do this because the issue could be
- 24:33submitted by many different people. It's
- 24:35tracked inside of GitHub and we can sort
- 24:37of integrate naturally with GitHub in
- 24:39this way. So, we see you see a lot of
- 24:41people doing this. There's a lot of
- 24:42videos on YouTube to do that. We could
- 24:44easily extend our system to to use that
- 24:47as an input source for our system. Next
- 24:49would be to connect to application
- 24:51metrics. For example, we could connect
- 24:53to Sentry. This is like a monitoring
- 24:55platform for applications and then we
- 24:57can pull direct bugs like from our app
- 24:59in production and just pull these into
- 25:02the software factory to get the relevant
- 25:04context about what feature we're trying
- 25:05to push through it. This is like really
- 25:07critical for software factories and it
- 25:09sort of reminds it sort of brings to
- 25:11mind these original ideas of software
- 25:13factories that were proposed like all
- 25:14the way back in the 60s like I talked
- 25:16about earlier in the video how we want
- 25:18access to like monitoring and metrics
- 25:21and other metrics that we might want are
- 25:23infrastructure metrics like CPU and
- 25:25memory and the reason we might want
- 25:26those is so we can keep an eye on things
- 25:29after the deployment. the software
- 25:31factory can actually handle the post
- 25:32deployment as well and keep watching
- 25:35things because if we build a feature
- 25:37that wrecks our our software, we can
- 25:40undo it as part of the software factory.
- 25:42It can be still in the loop even after
- 25:44it's published, right? It's not done
- 25:46once it's been pushed to production.
- 25:48This is the future we're going to. This
- 25:51is the future we're already in.
- 25:54Wow. I kind of got goosebumps like
- 25:57actually saying that right now. Thank
- 25:58you to Anthropic for sponsoring today's
- 26:01video. If you aren't using Claude Code,
- 26:03then you can click the link in the video
- 26:05description to sign up now. I hope you
- 26:07followed along with me, though. I hope
- 26:08you were doing this as we went, and I
- 26:10hope you have your own software factory
- 26:12now for your own project. Now, here's a
- 26:14few things that I think we should
- 26:15consider, stuff I haven't talked about
- 26:17yet in the video. The first one [music]
- 26:18is, I guess, the elephant in the room,
- 26:20and that's around cost. Like, yes, I
- 26:23think this system is probably building
- 26:25out really effective features for me.
- 26:27I've got good observability. I can go
- 26:29into the sub aents. I can see the logs.
- 26:32From a data and quality perspective, I
- 26:34think it's really good. I think it's
- 26:36topnotch, but it's going to cost more
- 26:39money. There's no way around it. Anytime
- 26:41we're using sub agents, that's could
- 26:43incur extra costs because the agent has
- 26:46to pass contacts back and forth. So, the
- 26:48question is, is this token cost worth it
- 26:51for quality? Now, all of this was on my
- 26:53plan. This is all part of my clawed
- 26:55plan. I'm not using API tokens for any
- 26:57of this. That's something to consider. I
- 27:00think that's hugely beneficial, right?
- 27:02So, uh yeah. So, these are like just a
- 27:04couple considerations. Uh despite these
- 27:06things, this is absolutely what I'm
- 27:09going to do. Like I'm going to be
- 27:11building a lot more of these. And so,
- 27:12that brings me finally back around to
- 27:14the channel. I'm going to end this video
- 27:16now, but I want to keep building stuff
- 27:18like this. And I've got a few more
- 27:20videos about Claude Code coming your
- 27:22way. So, I'll link these here when I'm
- 27:25finished. If there's anything you'd like
- 27:26to see, leave me a comment to let me
- 27:28know. Thanks for watching.
- 27:47Heat. Heat.
About this transcript
This page contains the full transcript of Build Your Own AI Software Factory with Claude Code by ZazenCodes, generated from the public captions YouTube serves with the video. The transcript has 5,662 words across 778 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.