WEBVTT

00:00:00.160 --> 00:00:11.200
Claude and AI coding tutorials are a dime a dozen these days, but what people are not really covering nearly enough is how to use these tools to work in large code bases.

00:00:11.360 --> 00:00:31.640
That's what I wanna cover with you right now because you probably already have a complex code base or two or three. You've got the apps and platforms that you're building, your second brain. You have these code bases that are tens or even hundreds of thousands of lines long, and it could be tough to get these coding agents to navigate those larger code bases and work in them effectively.

00:00:31.720 --> 00:00:35.000
And even if you don't have a complex code base yet,

00:00:35.240 --> 00:01:07.980
you'll get there, my friend. You start with a simple idea, a simple code base, but as you evolve that code base, the coding agent strategies that worked before, they fall flat on their face. That's why I'm excited to get into this. Synthropic put out this article just a few days ago, how do you use Claude code to work in large code bases. And really these ideas apply no matter the coding agent that you are using. And there's a lot of gold in this blog post. So I wanna get into all of this. They do stay pretty high level in the blog post though. And so I also took all of their strategies

00:01:08.115 --> 00:01:17.475
and I built them into a demo code base for this video. So not only are we covering the article, but we're also gonna see concrete examples of all the strategies

00:01:17.555 --> 00:01:20.275
in action. And I even have a Claude plugin

00:01:20.450 --> 00:01:50.285
that makes it super easy for you in two commands to take a lot of the strategies that we're covering here and immediately bring them into any code base that you are working on. And so we'll get to that, but I wanna start pretty high level, share these strategies, and and let's see them in action as well. So Anthropic starts by talking about all of the pretty impressive places where Claude code is currently being used at an enterprise level across multi million line model repos, decades old legacy systems, distributed architecture spanning dozens of repositories.

00:01:50.800 --> 00:01:57.840
Basically, they're just making the point here that if you think your code base is too complex for Cloud Code, you are wrong.

00:01:58.080 --> 00:02:15.365
And then they go into how Cloud Code navigates a code base, at least before we have more of an AI layer. So the tool out of the box, it uses something called a gentic search. So we're not performing traditional rag or semantic search. There's no code base indexing with Claude code.

00:02:15.525 --> 00:02:22.930
Instead, it's going to navigate a code base more as an engineer would with command line tools like grep, just looking at the folder structure, using

00:02:23.330 --> 00:02:49.340
all of the command line tools at its disposal to identify the places for especially a larger code base to pay attention to and where it needs to edit. And so this is really powerful because then there's no index that you have to keep in sync, but the trade off is that Claude works best when it has enough starting context to know where to look. And so this really gets us into a lot of the strategies that we'll cover here. It's all about how do we curate that context upfront

00:02:49.340 --> 00:03:05.795
so Claude can navigate a more complex code base effectively, knowing where to actually look based on the request that we have for it. So that then brings us to the main point of this blog post that really sets the stage for all the strategies. The harness matters as much as the model.

00:03:06.195 --> 00:03:12.435
A lot of people get really hyper fixated on model benchmarks and they think that tools like Claude Coding Codex,

00:03:12.515 --> 00:03:22.830
the power really comes from how good the underlying large language model is. And yes, that matters, but honestly what matters even more is the ecosystem built around the model, the harness.

00:03:23.070 --> 00:03:40.070
And I like to call it the AI layer. I think that's more descriptive. It's really everything that they lay out right here with quite a few paragraphs. I also have a nice diagram to make this even simpler. The AI layer is the set of context and tools that you give your coding agent to work on a code base. And so traditionally,

00:03:40.230 --> 00:03:44.630
a code base would have two main parts. It would have the code and then it would have the tests.

00:03:44.870 --> 00:03:48.070
And so now with the AI layer, we have a third component

00:03:48.070 --> 00:03:49.990
of every code base introduced.

00:03:49.990 --> 00:03:56.125
This is everything like your global rules, your skills, your MCP servers and sub agents.

00:03:56.365 --> 00:04:16.170
Really every single individual feature of Claude code that gives tools or context, that is a part of your AI layer. And so there's seven things that we have here. Couple you might not be as familiar with like LSP and hooks, but we'll talk about all of that because really each of these seven map to one of the strategies that Claude code covers.

00:04:16.330 --> 00:04:28.135
This is where I have a concrete example for each of them. So let's get into this. So the initial strategies that Anthropic covers are all about making it as easy as possible for Claude code to navigate your code base at scale.

00:04:28.295 --> 00:04:39.650
And a lot of it centers around the first and maybe even most important part of your entire AI layer, which is your global rules. So take a look at this. They have this visual representation

00:04:40.130 --> 00:04:42.050
for how often

00:04:42.370 --> 00:04:58.915
the each part of the AI layer is used throughout a Claude code session. You can see that most of them are sporadic, like your hooks and skills and the LSP for navigation. We'll talk about all these as well. But your global rules as your foundation, it is dictating the behavior of clog code the entire time.

00:04:59.235 --> 00:05:02.860
So you better spend a good amount of time strategizing

00:05:02.860 --> 00:05:09.500
around your context curation here. And so their first tip is to keep your global rules lean and layered.

00:05:09.660 --> 00:05:32.830
Something that I see a lot of people do unfortunately is create these global rule files that are thousands of lines long. That is not a good idea. There are actually studies out there that prove that that can hurt your coding agent performance even if you think that being really specific and comprehensive helps. You're just gonna overwhelm your LLM with context. You just need core information. What is the code base about? Give it a little bit of an idea of the tech stack or architecture,

00:05:32.830 --> 00:05:54.655
for example. I mean, this is just an example that I have in this repo. Um, then your general conventions and gotchas like what I have right here, commands to run for things like testing and getting the dev server spun up, like that's all you really need. So keeping it lean. And what Anthropic means by layered is you can actually have claw dot m d files in sub directories.

00:05:54.735 --> 00:06:06.160
And so I have the main claw dot m d at the root of my repository here. That means that whenever I start a Claude session like this, it is always going to have these rules loaded.

00:06:06.720 --> 00:06:12.145
But then as soon as I navigate and start editing files in one of these subdirectories,

00:06:12.145 --> 00:06:28.160
it's also gonna load in that claw dot m d automatically. So if I start working in the API service for example, I'm gonna load in my core rules or I should say those are already loaded, but then I'm also going to load in the API service rules that I have in this separate claude.md.

00:06:28.160 --> 00:06:29.200
So I'm building

00:06:29.360 --> 00:06:43.055
up the list of conventions based on where I'm actually operating in the code base. It's like the idea of progressive disclosure that we have with Claude code skills. This is really powerful because if you have a massive code base, you're gonna have a ton of conventions,

00:06:43.375 --> 00:06:54.340
but most of them are gonna be specific to certain slices of the code base. So let's just load in the conventions we need depending on where we're working. Because whenever you have some kind of GitHub issue or Jira ticket or whatever,

00:06:54.580 --> 00:07:13.645
hopefully it's scoped to a very specific part of your code base. And then another thing you can do if you're really confident where you need to work in a code base is you can actually initialize clog code in that sub directory. So if I know for example that based on a Jira ticket or GitHub issue, I'm only gonna be working in the API service,

00:07:13.805 --> 00:07:25.420
then I can, you know, right click in Versus code, copy my path, and then within here, just for the sake of example, I guess I'm already there, but I can change my directory to that path and then I can open up Claude here.

00:07:25.580 --> 00:07:52.930
And the power of this is now this is the current working directory for Claude code. So unless I tell it to, it's really gonna stick to editing files in just this directory. So it'll load the claw dot m d here and then it still will load the root claw dot m d. So you can see that it does automatically walk up the directory tree and load every claw dot m d. So the root context isn't lost, but we're just honing Claude code in on that part of the code base. And so basically,

00:07:52.930 --> 00:07:58.530
you're doing the navigation here. So the rest of their strategies are like, you know, how can you help Claude navigate things effectively?

00:07:58.770 --> 00:08:01.650
But most of the time, especially if you are an engineer,

00:08:02.065 --> 00:08:12.545
you know where to start. Now, you don't know where to start, that's where this strategy comes in. Building up some kind of code based map when the directory structure doesn't do the work. And

00:08:12.945 --> 00:08:22.620
this usually I put in my global rules. So I don't have it in this example here. But often what I'll do is I'll have a section that outlines the directory structure, like all the subdirectories,

00:08:22.620 --> 00:08:57.820
maybe like a brief description of each of them. That way Claude can help me do the discovery, help me figure out what slice of the larger code base to focus on based on the work that I have. So usually it comes down to Claude's gonna help you figure that out or you're just going to immediately know and initialize Claude code there. The sponsor of today's video is JetBrains Academy. Now, I've tried a lot of AI courses in the past and most of them have this problem. The way that I'd put it is that the course ends where the real work actually begins. And what I mean by that is you'll go through some material and some really basic exercises,

00:08:57.820 --> 00:09:00.300
but then you don't get to really deploy anything.

00:09:00.725 --> 00:09:04.325
And JetBrains Academy is different with their skill paths.

00:09:04.485 --> 00:09:09.685
Here, when you learn a concept, you get to apply it to a real project immediately.

00:09:09.765 --> 00:09:17.500
And so you do your work and go through the lessons in the IDE, and then you get to right away deploy what you've built in AWS sandboxes.

00:09:17.660 --> 00:10:21.200
So you start by picking a path. Let's say we wanna do build and deploy custom LLMs with Python and AWS. This seems very relevant right now. And so we have the course layout here. This is the syllabus, and you can see that each of the sections, it'll open the course in your PyCharm IDE. So we get to go through the material where we're doing all of our coding already. The AI assistance is built right into the IDE. I can navigate through the lessons and go through all the material right here really easily. And then as I'm doing my exercises, it's just right here in the IDE. So I get to code as I normally do. And then when it comes time to run and deploy things like the fine tune model that we have in this lesson, we get to do it in an AWS sandbox. This is not a mock. It is running in the cloud, but it's fully prepaid. You don't need an AWS account. This is what I wish I had when I was learning how to build and fine tune models. So when you finish a skill path, you have real projects deployed live that you can host on GitHub, talk about interviews, and get hired for. And you have certificates both from JetBrains and AWS to back it up. So if you're looking to build proficiency

00:10:21.280 --> 00:10:29.605
and credibility with generative AI and LLM engineering, I would highly recommend checking out JetBrain Academy's skill pads. I'll have a link to them in the description.

00:10:29.845 --> 00:10:35.205
Cool. So there are some more strategies to cover here like scoping your tests and link commands per subdirectory,

00:10:35.285 --> 00:10:45.290
ignoring certain files like build artifacts, your coding agent never reads them. But I wanna move on now to talk about the next part of the AI layer and that is hooks.

00:10:45.370 --> 00:11:11.260
And you'll see in a second why I wanna cover this right after global rules. So you can use hooks to make your entire AI layer, your entire setup self improving. This is really really cool. This is part of the goal that I was talking about. So most teams think of hooks as scripts that prevent Claude from doing something wrong. So a lot of people use hooks like a pre tool use hook to stop Claude from editing in certain directories, removing files or folders, that kind of thing.

00:11:11.820 --> 00:11:15.660
But their more valuable use is continuous improvement.

00:11:15.660 --> 00:11:20.700
And so take a look at this. A stop hook can reflect on what happened during a session

00:11:20.975 --> 00:11:48.080
and propose claw dot md updates while the context is fresh. Right? So the the hook runs at the end of the session. And I have a live demo of this. I'll show you. I actually built out both of these hooks here. And then a start hook can load team specific context dynamically. So every dev gets the right setup without manual configuration. So based on the role or the part of the code base they're editing, we can have a hook that will even go out to confluence for example and pull documentation

00:11:48.080 --> 00:11:55.485
for that team, that function, that part of the code base, whatever. So I have actually a pretty basic example of that here.

00:11:55.965 --> 00:12:08.330
And so I have a hook and so you can see in my settings dot JSON, this is where I have the start and end hooks defined. So propose Claude dot MD updates for the stop hook and then the session start context for the start hook.

00:12:08.890 --> 00:12:12.730
And so what this hook does, this is just more of a basic example,

00:12:13.050 --> 00:12:38.650
is it's going to load context around git. And so any kind of unstaged changes that I have, like a change to this file here, looking at the git history as well. So take a look at this. If I go into Claude and I start a new session and then I say, what did the start session hook tell you about this session? Obviously, it's a little cheesy, but just to show you that it loaded the context, we have this orientation here. The working tree is clean. Here are our recent commits.

00:12:38.810 --> 00:13:29.915
Right? And so like this is just giving it some context going into like here is what we're currently working on and here is what we worked on recently. And you could extend this, like I said, to pull things from confluence based on the developer that is starting Cloud Code. There's a lot that you can do here. And then take a look at this. To demo the stop hook for you, I'm going to give a really simple request for something that I wanna change. Obviously, if I was doing work for real, I go through a more extensive process of planning and implementing and validating. But here I'm just asking it to make a simple change so that I have something to then propose a change to the global rules. Because something really important that you need to do, and you can see that the process actually ran here in order to propose some changes. Uh, something that's really important to do is as you're evolving your code base, you need to make sure that your rules are evolving as well. It's really, really bad when your claw.md

00:13:29.915 --> 00:13:30.795
goes stale

00:13:31.060 --> 00:13:47.435
because you made some changes in the code base where the it kinda, you know, dictates something needs to be added to the global rules or something has to be updated. And so that's why it's really powerful to have this kind of process that automatically proposes these changes. So take a look at this. This hook runs

00:13:47.595 --> 00:13:48.955
whenever Claude

00:13:49.195 --> 00:14:06.940
stops. So whenever it's done with its turn. So you saw that terminal pop up for a little bit. It runs a separate Claude session in headless mode to look at these changes, look at the global rules, and propose if anything needs to be tweaked. And so it outputs that in a markdown document. Take a look at this. I have my Claude

00:14:07.020 --> 00:14:08.300
markdown review.

00:14:08.380 --> 00:14:41.410
And so we have the reflection that just ran right now. Are the two areas that were touched. So it's gonna look at those subdirectory global rules as well. And here it decided no changes needed. Adding a trial enum value follows the existing model only convention. So the thing that we really care about at a high level still holds up based on these changes. And so maybe it's not the best example because it didn't decide to change anything, but I think it's also really powerful because usually we don't need to change our Claude code or claude.md conventions. That's especially why we keep these files so lean. But maybe for example, I could say, you know, make a change

00:14:41.995 --> 00:14:45.835
that would require updating the claud.md.

00:14:45.835 --> 00:14:58.080
So I'll come back and see what it does with this. And so there we go. We had to change something bigger in the billing service and now in our markdown review, it is recommending making an update to the second bullet in the claude.md

00:14:58.080 --> 00:15:00.560
for our billing service subdirectory.

00:15:00.560 --> 00:15:02.880
Pretty neat. So now we can take these recommendations

00:15:03.120 --> 00:15:15.625
and we can action on it ourselves. We can have a conversation with a separate Claude session to make these changes. It's up to you how you want to take this forward. The power I'm just trying to show you here is we can have this self reflection process

00:15:15.785 --> 00:15:19.065
constantly running in the background, making these suggestions

00:15:19.225 --> 00:15:37.620
that we can, uh, you know, just action on when we're actually ready to. So the next part of the AI layer that Anthropic focuses on here is skills. And you probably know what a skill is. They've been blowing up all over the Internet the past few months. It's really like the main way to extend the Claude code right now with new workflows and capabilities.

00:15:38.180 --> 00:15:49.755
And so, like, this is an example of a skill right here for adding API routes in this code base. Really a skill is some kind of set of steps, some kind of process reusable prompt that you have for Claude code.

00:15:50.155 --> 00:15:56.075
And these are really important in large code bases because you're gonna have dozens or maybe even hundreds of task types.

00:15:56.540 --> 00:16:00.940
Like this would apply to a task type of building an API endpoint.

00:16:01.500 --> 00:16:12.565
And so not all expertise needs to be present in every session, which is the same reason why we have different clon dot m d files in subdirectories, which there is definitely some overlap here that I'll talk about in a second.

00:16:12.805 --> 00:16:17.765
And so skill solve this through progressive disclosure. So we're offloading specialized workflows

00:16:17.765 --> 00:16:27.430
and domain knowledge and we load it when we actually need it. So that way we're not bringing in prompting and workflows for things that don't apply to the current task at hand.

00:16:28.070 --> 00:17:20.510
And so when we define a skill, we have the name and the description. The description is what is given to the coding agent right away. And if it decides like, okay, based on the description, I should use the skill, then it'll read the full skill dot m d file. I've talked about skills a lot on my channel already. But the parameter that most people don't know about, and this is what Anthropic talks about right here, we can make it so that skills can be scoped to specific paths so they only activate in relevant parts of the code base. Like we know that this process for adding API routes that we want to be very repeatable, it only applies when we're gonna be reading and editing files in the API services directory. And so we can scope it there. Really, really powerful. It's a way to basically enforce it like when we touch this part of the code base, we're going to bring this convention, this workflow into this session context.

00:17:20.990 --> 00:17:42.995
And so like I said, there is a little bit of overlap here with that and the subdirectory claw dot m d files. Right? Like we're loading this in only when we work here. Same thing when we operate in here. We're also going to read this claw dot m d. The distinction that I'd like to make is that global rules are your conventions. It's the rules that you need to follow. Like, every route is registered here, for example.

00:17:43.235 --> 00:17:46.355
Your skills are the workflows. So we have rules

00:17:46.515 --> 00:17:47.875
and we have workflows.

00:17:48.410 --> 00:17:49.770
So that distinguishment

00:17:49.850 --> 00:17:52.170
kinda helps me understand the overlap,

00:17:52.330 --> 00:18:20.700
but really for a lot of these sorts of conventions, you can kinda do it as a skill or a clon dot m d. The more important thing here is we just wanna scope these conventions and rules to the part of the code base where they actually matter so we're not overwhelming our coding agent with context it doesn't care about. So Anthropic talks about plug ins next, but I'm gonna cover that at the end because I'll show you how to use my plug in to incorporate all these ideas in your own code base. So let's move on to talk about language server protocols.

00:18:20.700 --> 00:18:25.580
I'm excited for this because I just started incorporating this into my own Claude code ecosystem.

00:18:25.900 --> 00:18:27.740
It's really powerful. Essentially,

00:18:27.900 --> 00:18:32.540
you give Claude the same navigation that a developer has in their IDE.

00:18:32.505 --> 00:18:39.225
And And a lot of bigger companies especially build own custom LSPs to really help Claude navigate through their code base effectively.

00:18:39.385 --> 00:18:40.905
And so an LSP

00:18:40.985 --> 00:18:59.360
is something that is really built into any IDE by default. It's the kind of thing that allows you to know like in Versus Code, I can control click here to immediately navigate to the definition for the class that I used in this other file. So that kind of like type hinting and navigation and highlighting like all that is in LSP.

00:18:59.600 --> 00:19:01.200
And so essentially

00:19:00.925 --> 00:19:03.165
with an MCP server,

00:19:03.325 --> 00:19:14.525
we can give Cloud Code this exact functionality that we as the engineers have in our IDE to make it so that we have better search capabilities than just GREP by itself or can complement

00:19:14.720 --> 00:19:20.880
some of the tools like grep that are built into cloud code natively just through the CLI commands that it has.

00:19:21.280 --> 00:19:29.600
And so what I built here, I'm actually kind of knocking two birds with one stone because they talk about LSP and then talk about MCP servers as a way to extend everything

00:19:29.885 --> 00:19:41.565
is I built a local MCP server that comes with this code base. It comes with the plug in that I'll cover in a little bit as well that gives Claude code some new code base search capabilities.

00:19:41.725 --> 00:20:04.445
And so take a look at this. I'm gonna go into a new Claude session here. If I do slash m c p, you can see that I have the code based search enabled. There are three tools here to complement the search capabilities that I already have. And so I'm going to paste in a prompt, find every place that monthly total sense is referenced in this repo. And I know that's like oddly specific, but that's the point is we need something very specific to search for here.

00:20:04.845 --> 00:20:13.005
And I'm telling it not to use grep just for the sake of the demo. I'm telling it to use a symbol level approach and that's going to key in that it needs to leverage

00:20:13.430 --> 00:20:19.990
the MCP server that I built here that leverages the language server protocol. So it's able to do more intelligent searches

00:20:20.150 --> 00:20:28.230
that it might figure out it needs to if I don't tell it to not use grep or you could just, you know, build in some instructions in your global rules for how you want to use these searches.

00:20:28.775 --> 00:20:32.375
We can see here that it used my whereas and find references tools

00:20:32.455 --> 00:20:34.775
in my custom MCP server.

00:20:34.855 --> 00:20:38.695
And so here are the results. We have one definition and two references.

00:20:38.935 --> 00:21:05.805
Pretty cool. So I I know that like I'm talking about complex code bases here but my demo is kinda simple in the end but I kinda have to have that balance there of like a somewhat complicated code base but still it has to be easy to like parse through and show the results here. But that's an example of using an MCP server to expose a language server protocol. And really for massive code bases, once you get like into the six digits for lines of code,

00:21:06.045 --> 00:21:19.270
you need something like this because Grep by itself is gonna be slow and really token inefficient as you're trying to navigate through a code base. This is a lot more of a directed search looking for things like the definitions and references

00:21:19.430 --> 00:21:32.985
for things like classes and variables. So that's a quick overview of LSP and MCP and how I use them together. You gotta have some kind of harness to give better search capability to Claude code when you're working in larger code bases.

00:21:33.225 --> 00:21:49.295
And really, they operate like skills, just use sporadically throughout your session. So like with skills, we're loading in instructions when we need those conventions or workflows, whatever. LSP, whenever we need to perform those searches to find definitions, references, things like that, we'll call upon the tools. MCP,

00:21:49.375 --> 00:22:10.410
pretty similar. Right? Like we need to perform a search, take some kind of external action. We call upon one or multiple tools for an MCP server at that time. Now the last part of the AI layer that we still have to cover is sub agents. But this one's nice and simple. The the advice that Anthropic has here is simple but still really powerful. We want to use sub agents to split exploration

00:22:10.410 --> 00:22:11.610
from editing.

00:22:11.690 --> 00:22:20.835
So the idea with a sub agent is that we send in a task, like we want to search the web for, you know, best practices for this kind of architecture

00:22:21.075 --> 00:22:30.820
or maybe to do some kind of code based exploration to find the part of the code base to focus on. We send in a task and it runs with its own context window.

00:22:31.140 --> 00:22:39.860
It does all the analysis it needs to and then it returns a summary back to our primary cloud code session to reason about an action on.

00:22:40.585 --> 00:22:42.665
And these kind of exploration

00:22:42.665 --> 00:22:53.865
tasks that we wanna give to a sub agent, you can imagine them getting to hundreds of thousands of tokens. So if we're not using a sub agent and we have our primary Cloud Code session do that web research or code based exploration,

00:22:53.945 --> 00:23:04.260
by the time we get to the actual editing, we're already gonna have this extremely bloated context window. That's why we want to dispatch the work to sub agents, especially because with exploration,

00:23:04.420 --> 00:23:32.630
usually all we need is that summary back. Right? Like, here are the recommendations for the tech stack. Here's a part of the code base we're gonna have to address based on this Jira ticket. Like, that's the kind of thing that you task a sub agent with. And so I don't actually have that much of a demo here for sub agents because I use them liberally, like, all the time. Especially at start of the conversation, I'll say something like, I want you to spin up three sub agents here. One to research the database, one the back end, one the front end. Help me figure out how I can add in authentication.

00:23:32.630 --> 00:23:54.660
I don't know. I'm just kinda throwing off something off the cuff here, but you have sub agents built into a lot of these coding agents now like Cloud Code and Codex. And so you don't even have to define your own custom sub agents like a lot of people did before. You just send off a request like this and now it's just gonna use the explorer sub agent that we have built into Cloud Code. And so it takes care of that whole, dispatch, getting the summary back, and everything.

00:23:54.820 --> 00:24:13.245
Alright. So the rest of the article that we haven't covered yet is really covering a lot of the strategies that I already hit on, like running LSP servers so Claude can search by symbol not by a string, talking about actively maintaining the Claude dot MD files. So this is where the stop hook comes in to make those recommendations as we're operating with Claude code.

00:24:13.565 --> 00:24:22.700
The other thing that I wanna hit on here is the plugin that I have for you. So if you go to the read me for this demo repo that I'll link to in the description,

00:24:22.860 --> 00:24:28.780
I have instructions for taking this to your own code base. Now obviously some of the things like the claw.md's

00:24:28.780 --> 00:24:34.395
and the subdirectories are specific to me, But this plugin is going to give you the self improving stop hook,

00:24:34.875 --> 00:24:44.635
the explorer sub agents, there's more of like a custom sub agent that I built that you can use. And it's gonna give you the code based search MCP server with that LSP. So you have that whole searching harness.

00:24:45.080 --> 00:24:55.800
And then I'm going to give you a more generic skill that you can use in a as an example that shows what it looks like to use that path parameter to scope a skill to a certain subdirectory.

00:24:55.800 --> 00:25:08.445
So just kinda consider this plugin a starting point. If you wanna like really quickly pull in these things to experiment on your own code base, you can install this plug in on any code base, even one that you already have built out with its own AI layer already.

00:25:08.845 --> 00:25:15.880
So all you have to do is slash in cloud code slash plug in marketplace ad and then give the path to the repository.

00:25:15.880 --> 00:25:36.875
So you still have to clone this repo locally because I don't have this hosted in NPM. So you give the path and then make sure you add the tooling folder at the end. And then you just do plug in install helpline AI layer at helpline tooling. Then you go through the whole installation process here and then boom, it'll install all these things for you to start playing around with. So that's one way to do it. I just wanted to add a plugin to make it really convenient.

00:25:37.035 --> 00:25:45.010
The other way to get started with a lot of the ideas that I have here aside from, you know, reading the anthropic blog post is just to clone this repository,

00:25:45.250 --> 00:26:31.605
point your Claude code at it, you know, like copy this directory, you know, right click copy path, give this to Claude code and say, hey, these are a bunch of cool strategies Cole shared with me for working with complex code bases. Help me understand how they work and how I can incorporate it for my code base. That's always the easiest way to really take any repo these days is just give it to Claude code and have it, uh, help you understand it and apply it. So that'd be my recommendation for getting started here. So I hope that you found these strategies really useful. You can apply them right away to your larger code bases. Even if you had some of these things incorporated already, I hope there were some good golden nuggets for you. And so the last thing that I wanna end on is talking about some really good advice that Anthropic also gives at the bottom of their article here. It's all about assigning ownership

00:26:31.685 --> 00:26:49.980
for clon code management and adoption. And I've been around a lot of companies as I've done my consulting and trainings. I know this is really good advice. Essentially, what they're saying here is you have a an individual or more likely a smaller team to champion the initial build out of the AI layer for your organization.

00:26:50.905 --> 00:27:02.185
And so what that looks like is you start with a quiet investment period. You have a couple of people that build out the the rules and skills and the LSP and the MCP servers, the whole AI layer for the organization,

00:27:02.345 --> 00:27:43.730
and then roll it out to people over time. And the power of this is you get to create something that's really foundational for everyone to adopt together and then people can get more consistent results with Claude code or whatever coding agent faster so they're not disappointed when they first use the tool. You wanna avoid people being really disappointed when they first use it because they don't have an AI layer and you want to avoid everyone evolving their own separate AI layers when really you want a standard for the organization. So really, really good advice that they have here. This is also something that I help with. And so I do offer enterprise trainings where I help you build up the AI layer, understand the core methodologies for AI coding and create that standard

00:27:44.050 --> 00:28:09.108
for your adoption of coding agent tools like Cloud Code. So definitely, got my email in my bio. Reach out to me if you're interested in that. Otherwise, I hope that these strategies were useful for you. I appreciate you going through everything here. Let me know if you have any questions in the comments below. Otherwise, if you appreciate this video and you're looking forward to more things on AI coding and Claude code, I would really appreciate a like and a subscribe. And with that, I will see you in the next video.
