AI-Assisted Coding Tutorial – OpenClaw, GitHub Copilot, Claude Code, CodeRabbit, Gemeni CLI

💬 Chat with this Video
Ask anything about this video…
In this course, you will learn about AI assisted software development. I'm Bo KS and I'm teaching this course. AI coding tools are not just a trend or a gimmick. They're genuinely transforming how professional developers work. Studies show that experienced developers can have extreme productivity gains while maintaining quality when they use these tools effectively. But here's the key word, effectively. You can't just install an AI coding tool and expect magic to happen. you need to understand how these tools work, when to use them, and perhaps more importantly, when not to use them. So, what exactly are we going to cover in this course? We're going to start with the fundamentals. Understanding how AI models actually work, what tokens are, why context windows matter, and what hallucinations mean in the AI world. Then we'll get hands-on, taking you through the entire coding life cycle from generation to review. You will master AI pair programming and Agentic terminal workflows using top tier tools like GitHub C-Pilot, Anthropics Claude Code, and the Gemini CLI. The course also covers open-source automation with OpenClaw, teaching you how to set up a highly customizable, locally hosted AI assistant for your development environment. Finally, you will learn how to maintain high code quality and streamline your team's workflow by integrating code rabbit for automated AIdriven pull request analysis. Code Rabbit provided a grant to make this course possible and it's a good addition to your AI tool stack. So, let's talk about who this course is for. This course assumes you have some programming experience. You don't need to be an expert, but you should be comfortable writing basic programs, know how to use a code editor, and have a basic understanding of Git. AI tools are most powerful when you already understand the fundamentals of coding. One more thing before we dive in. Throughout this course, I want you to actually code along with me. Don't just watch. Open up VS Code, install the tools I'm showing you, and practice. The best way to learn AI assisted coding is by doing it. You'll develop an intuition for what works and what doesn't, and you'll find your own workflow that fits how you like to code. All right, let's get started with the fundamentals. Before we start using AI coding tools, we need to understand some key terms. These concepts will come up throughout the course, and understanding them will help you get better results from any AI tool you use. First up, tokens. Think of tokens as word pieces. They're how AI reads your code and text. When you type something to an AI, it doesn't see individual characters or words the way we do. It breaks everything down into tokens. A token might be a word, part of a word, a punctuation mark, or even a space. The word function might be one token, while functionalize might be broken into multiple tokens. Why does this matter? Because AI services often have token limits. Free tiers limit how many tokens you can use per day or month. So, understanding tokens helps you understand why sometimes you hit limits and why longer prompts cost more. Next, a context window. The context window is how much information the AI can remember at once during a conversation. Think of it like the AI's short-term memory. If you have a small context window, the AI can only consider a small amount of code or conversation at a time. With a larger context window, the AI can understand more of your project, remember earlier parts of your conversation, and give more relevant suggestions. Context windows are measured in tokens. Uh, for example, GPT4 has a context window of about 128,000 tokens. Claude has up to 200,000 tokens. Gemini can handle over a million tokens. But when you watch this video, a lot of these services may have even more tokens they can handle. In practical terms, this means some AI tools can analyze your entire codebase at once, while others can only look at a few files at a time. Now, this is a really important one. Hallucinations. A hallucination is when the AI confidently suggests something that's completely wrong. It might make up a function that doesn't exist or reference a library that was deprecated years ago or even invent API methods that never existed. The AI doesn't know it's wrong. It's just predicting what tokens are likely to come next based on its training data. Sometimes those predictions are spot-on and sometimes they're completely made up. This is why you should always verify AI suggestions. Don't just accept code blindly. You need to test it. You need to check the documentation. You need to make sure all the functions actually exist. And then finally, prompts. A prompt is a simple instructions, a simple instruction to the AI. It could be a comment in your code, a question in a chat interface, or a detailed description of what you want. The quality of your prompts directly affects the quality of AI responses. Vague prompts get vague responses, but specific detailed prompts get specific, useful code. We'll talk more about prompt engineering later, but for now, you just need to remember that the clearer you are about what you want, the better results that you'll get. Okay, let's talk about when you should use AI assistance and when you should just code things yourself. So AI is good for writing boilerplate code like getters, setters, basic CRUD application op operations, uh learning new frameworks or syntax, writing tests and documentation, refactoring repetitive patterns, getting unstuck on syntax errors. But sometimes you need to code yourself like when you're designing system architecture, making security critical decisions, writing complex business logic, learning new concepts for the first time or working on performance critical optimizations. Basically, you need to remember that you need to use AI to speed up implementation, but keep architectural decisions to yourself. AI is great at the how, how to implement something, how to write the syntax, how to structure a function, but you should be deciding the what and why. What you're building and why you're building it that way. Think of AI as a very fast, very knowledgeable junior developer. They can write code quickly, but you need to review it, guide the architecture, and make the important decisions. Okay, time to get hands-on. I have uh VS Code going right now and I'm going to show you how to get GitHub Copilot set up and how to use it. So, if you don't already have VS Code installed, just pause the video and go download it from code.visisualstudio.com. It's completely free. So, let's install Copilot. Now, I'm going to go to this extensions icon right here, and then I'm just going to search for GitHub Copilot. Now, an important note here, you may see two extensions in the marketplace uh because uh there there's an original GitHub C-Pilot that's now deprecated. What you want is GitHub Copilot chat. So, I'm just going to click the install button on GitHub Copilot Chat and then it's going to install and then I'll see this page here about the extension. So, this is an all-in-one extension. There used to be a few different ones. So, this single extension now handles both the chat and the code completions. So, after it installs, you're going to have to log in. It could come up with a login page or you're going to have to click this person icon. to the account icon in here. And then we're going to sign in. There's a few different ways to get signed in. I'm going to click the backup and sync settings. And then there's a sign in button here. And then I'll sign in with GitHub. Now, it's going to open up a browser and it's going to have me authorize with GitHub to sign in. So, I'll just click continue here and then authorize. And now, we'll go back into Visual Studio Code. And now we can just confirm that we're signed in to GitHub Copilot. I'm going to go to manage extension account preferences and go to GitHub Copilot chat. And then I'm just going to confirm that I'm using my current account which is BOCS. Okay. Now you should see a GitHub C-Pilot icon in the corner here. If you don't, we can just rightclick on this bar. I'm going to turn on C-pilot status. And I can click here to finish the setup. I'm just going to click on use AI features and then this will finish the setup of GitHub Copilot. And now we're set up and we're we can now see the chat in this right hand side of the screen here. And we can actually toggle the chat with this button in the corner. So this is how we can basically open the chat. So I can close the chat with the X. I can open the chat by going to that. And then we can actually do a new chat, quick chat. There's a few other things. Configure inline suggestions. And so now a little bit about pricing. So GitHub offers Copilot free, which is super powerful. Basically, you get 2,000 code completions and 50 chat or agent requests every month. If you're a student, teacher, or open-source maintainer, you can still get the pro plan free, which gives you unlimited completions and more advanced premium models like GPD5 or Cloud 4. So, you can always look into that if that's something that you think that you would be interested in. Okay, let's try out our first AI suggestions. I'm going to just create a new file. So, I will just create a file called demo.j. JJS and I'm going to close my chat for now. So in this demo.js um even though we only installed the chat extension, our ghost text completions are built right in. So if I just put in a comment here function to calculate the area of a circle, you could see that even while I was typing this comment, it was suggesting the end of the comment. So now that I see this, I can press enter to accept one line or tab to accept this entire function. So you can see the gray text appear and when you but it's temporary, but if you press tab, it'll put the whole text in. And this is a function to calculate the area of a circle. I didn't even have to write anything. And now let me show you a few more examples. It's actually give me a suggestion for another uh com inline comment here. But I'm going to do something else. I'm going to say function to validate an email address using reax. And if I just wait here, it's going to suggest this whole function here. validate email. So this is a function with a proper reax pattern which is pretty impressive. So I'll just press tab here to select it. Now I'm going to try another one uh something even more complex function to fetch data from an API and I'll just and log the response. Now it's just showing the beginning of this right now. So I pressed enter and it's giving me async function fetch data URL. If I hover over this, it's going to show me uh some options. So right now it's only giving one out of one option. So there's only one option to accept. But let me show you something. I'm going to press tab to accept this option. Press tab to accept this option. And now I press enter. I haven't pressed tab. But if I hover over this, we can also just instead of accepting the whole option, accept one word at a time. So it's going to either be command or alt and then the arrow button. So basically I'm just accepting one word at a time here. And now it's giving me the rest of the function. Now if I hover over this again, I can see it says one out of three. That means there are three different options I can accept. See, I can just scroll through these three different possible codes that it's giving me. And there's also the shortcut. If you kind of hover over this, it shows you the shortcut. So, it's either going to be alt bracket or it's going to be your option bracket, uh, depending on if you have Mac or Windows. So, I can just scroll through these just with my shortcut keys on my keyboard. So, that's pretty nice because Copilot doesn't always know exactly what you want, but it may have a few different options. And then once you find the one you like, you just press tab to select it. So, basically, you can choose the code that fits that best fits your coding style or project needs. Okay. Now, I'm going to give you another pro tip that's going to dramatically improve your suggestions. It's the neighboring tabs trick. So, let me create a few more files really quick. Okay. So, let's see what I've just set up. I have a user test.js with a test for our users. I have a users.css with some styling for our users. And now I'm just going to go into our user.js file. And we're going to see that basically AI has a limited context window, a short-term memory of what you're working on. And by default, Copilot looks in the file you're currently typing in, but it also scans the other tabs you have open in VS Code. So to really understand this example, I just want to show you just one more time the user.est basically I'm using for looking for a specific data uh test ID called user card name. So now what hap let's see what's happen I go back into users.js. I'm going to import my users.css file. It's going to automatically fill in users.css CSS and it's going to suggest a function. I'm going to fill in that function, but I'm also going to pass in an avatar URL. And then see, you can basically se uh use the autocomp completion and then go in and make some changes. And now look, it's giving me an entire suggestion. And I'm just going to put tab to fill this in. And you can see it's getting the classes from our CSS and it's adding this test ID user card name. So it's getting the classes that we create right in the CSS and it knows to use the test ID user card name. And then so that's exactly what we want and it it figure out the context based on our other files. So without those tabs open, Copilot might suggest a generic name like container or user box. But with the files, it knew what we actually needed. Okay, let's do a quick practice exercise together. I'm going to create a new file. This one's going to be called to-do.js. And we'll just close all these other files we have open. Okay, just let's just start with this comment. to-do app with add, remove, and list functions. And then I'll just press enter here. And look, it it knows that I want to start with an array. So I'll just press tab to set that. Plus, let's just make sure I spell functions right up here. And then it's automatically I don't even have to give it another comment. It's already saying function add to-do. So I'll just press tab to accept that. Now it's filling in the function. I just press tab to accept that. Now it's giving me my remove function. So I press tab to select that. And now it's giving me my list function. So I press tab to accept that. And basically in just a few seconds we got a basic to-do app structure. And all I had to do was add that comment at the very beginning. Of course, you'd want to test this and make sure it works the way you expect, but AI just saved us a lot of typing. Okay, now that we got the basics down, let's unlock the true powerful features of GitHub Copilot. So, Copilot isn't just a code completer. It's basically a full-on development partner. So, we're going to cover the three main interaction modes, the model selection, and how to give C-Pilot a rule book for your specific project. GitHub Copilot now categorizes your quest into three distinct modes. So as mode is the default. It's great for questions, explanations, and learning. Edit mode spec is specifically for refactoring and making spec direct changes to your existing files with a clear diff view. And then agent mode is is the autonomous mode. This is where Copilot plans and executes multi-step tasks across your entire repository. Knowing when to switch between these will keep you from getting AI hallucinations and knowing your code stays clean. And again, this is all in the chat, which I'm just about to show you about. So, let me demonstrate how these actually feel in practice. So, I'm going to open the main chat. We can click this chat button up here, or we can do control alt I or command alt I depending on if you have Windows or Mac. So, I just did command alt I and I got this chat session here. I'll close this. So after we open this chat window, notice this dropdown right here. We have a we can change the mode from agent mode, ask mode or edit mode or plan mode. So I'm going to go to ask mode. Also, we can select different LLMs or models that we want to use for the request. And so we're in ask mode. So in ask mode, I can be very broad. So I can at say something like what does the reduce method do in JavaScript and how does it compare to a for loop and then I can send that and then it's just going to do some thinking and this working section this is basically what it's thinking to itself before it comes up with the answer. Okay, so now it it came up with the answer. Array.prototype.reduce runs reducer function across an array of elements. So it gives it signatures, it key behaviors, when to use versus a for loop, and it even gives some examples. So it's basically a tutorial style response. It's a safe mode because it's not going to change a single line of my code unless I manually copy it out. And you can get into this ask mode just from or your file. Like let's say you have a function here. I can right click on here and then go to explain. And basically now it's going to um use the ask mode to explain a function in my code and it's going to break down the logic for me. So here's the explanation of that code. So this is another example of how to use ask mode and it can help you explain code that you're working in. Okay, I'm just going to go up here and start a new chat or you can always just keep using the same chat. But basically now I'm going to go into edit mode. So this is where you know you want to change something. So I'm going to look at this code here and you can see it's already added the file the current file context. It's giving the current file context to the chat. And this is basically an old callbackbased function. So I'm going to say refactor to async a wait and add a 5-second timeout. And we just wait. And we're going to just watch the editor. Basically, instead of just giving a block of code on the sidebar, it applies the changes directly to my file in a diff view. I can see the old code in red and the new code in green. And then I can review every single line and click apply or discard or actually keep or undo. So I'm just going to press keep. And so this is the fastest way to refactor. And I kept the the new code here which is going to be a lot more robust than my previous code. Okay. I could continue along with in agent mode in this chat, but I sometimes if I'm doing something all something completely different, I like starting a new chat. And now I'm going to go into agent mode. So you can see it says describe what to build next. So agent mode does more than just write code. It's going to think and it's going to act. So I can give it a massive task. So I'm saying create a full rest API with express that has JWT authentication and saves users to a local SQLite database and then just start. Now we're going to watch the sidebar and so it's going to start by doing all the planning here and basically it's going after it creates the the plan it can actually create new files install the necessary mpm packages to my terminal write middleware. It can even run a test build to make sure its own code doesn't have any syntax errors. So you can see it's now created a plan and it's going to work to implement the plan. And as it goes, we are going to have to basically um give it some feedback. So it says allow edit to sensitive files. The model wants to edit package.json. So I'm just going to click allow. And you can see it's now generating all these files right in our project directory. And as it work as it's working, we can see it has a little icon under the different things that's been created. So we can go through and just like check in on the code that's being created. So it's even creating folders, directories within the folders. And so we'll just let this work for a little bit and then come back once it's uh finished. Okay, now it basically just finished. It says what it's done. It it it says what it builds, the files it added. Next step, run install and start the server locally. It gives us the commands to run and then some test examples, how to log in. So now we can try that. First, let me just keep all these changes. And it says, "What would you like me to do?" Yes, install and start server. So now we will be able to see whether it can actually run things in the terminal right from the agent. And anytime it's going to run a command, we're often going to have to allow it. So now it's doing mpm install. And instead of clicking allow, I can enable auto approve. So now it'll just automatically allow everything. Now this is more risky, but for now I am going to do that. And uh it's suggest um it just wants to make sure we really want to do this. And yeah, I'll trust it. So now it's actually seeing that there's some server issues and it's just going to go along and try to fix all the issues itself. So it's going to ask some questions along the way and continue to try to kind of figure out things and get everything working. So, we just created an entire working application. And so, while agents are powerful, they're not magic. So, you always want to look at the plan it generates and just make sure it doesn't go too wild on your code base. And next, I want to talk to you about repository customization. You can actually train Copilot on your project's rules using a special file. So instead of telling copilot every time to use typescript or use functional components, you can make this file called GitHub or copilot instructions and then you can just put the instructions here and then it will use all these instructions whenever it's working. Also, you don't even have to write this file yourself anymore. What I can do is just go into chat and just put slashinit. And this is going to generate or update work workplace instructions. And then I just run that. And now it's going to scan my project. It's going to basically figure out what I'm using. And it's going to generate custom a customized instruction file for me. So now every suggestion it gives will automatically follow the project's specific naming conventions and style guidelines. In this case, it's creating instructions based on the application that it created, but it's still a good example of how you can create these instructions. So I can go here and then I can see the instructions that it created. So these are the instructions it created based on this application and so I can go through and always change things like maybe it says always use JWT secret for environment from environment and changes that sign or verify tokens. I could change that to use something else. Maybe I don't want to use SQL SQL light. I can change so it uses what I want to use. Okay. Now I'm going to talk about participants and slash commands. So think of participants as department heads. Basically we we would put this into the chat. So I can do at workspace when we want when we have a question about the whole project. So let me show you an example of that. So it' say at work workspace where is the database connection defined? So basically it's looking through our whole project to find this information. So the database connection is defined in DB.js s as the endpoint DB instance the user model imports and then it can answer a question and then you would use at terminal to ask how to do things in the command line like maybe like how to how do I terminal how do I prune my docker images we can use at vs code to um basically do something associ that's directly related to VS code like set up debugging for node another thing would be at gith GitHub at GitHub is a new thing that lets you search your PRs and issues directly from VS Code. And then we al also have our slashcomands slashdoc generate documentation slashexplain explain the codefix to fix errors in the selection slash test generate unit test new create a new project structure. So right now I don't have any tests. So I'm just going to type in slash tests. And it says it looks like you may not have test set up in this repository. Would you like to set them up? And accept. So now it's just going to go and create all the tests for this project. And then I have the option, do I want to use or Mocha? For the test I will use just there's just basically two different JavaScript testing frameworks. And it's just going to go and ask me questions anytime it needs some user input. Okay. Now, let's talk more about code rabbit. Automated code review is one of the more valuable uses of AI in the development workflow. Think about it. How many times have you pushed code, waited a day or two for a code review, then had to context switch back to fix issues? With AI code review, you get feedback in minutes while the code is still fresh in your mind. So, what is Code Rabbit? So, Code Rabbit is an AI powered code review platform. It has So, here's some of the things it does. We have automatic PR reviews. The moment you create a pull request, Code Rabbit analyzes your changes, security analysis. It catches vulnerabilities before they reach production. Also, code quality suggestions, not just bugs, but ways to make your code better. Natural language chat, you can discuss if the feedback right in the PR comments. Also, it's a learning system. It learns your code base and code patterns over time. It integrates with GitHub, GitLab, um I mean GitLab, Bitbucket, and Azure DevOps. If you use any of those platforms, you can use Code Rabbit. So, let me explain the workflow. First, you create a poll request. Then, Code Rabbit automatically kicks off a review. Then within the minutes within minutes within minutes you get a summary of your changes identified issues with severity levels specific suggestions for improvements security vulnerability alerts. Then step four you can chat with code rabbit to ask questions or request clarifications. And then finally when you push new commits code rabbit does incremental reviews. And then there's going to be different review types based on the severity all the way um from critical which are severe issues that may cause failure or security breaches all the way down to trivial which are low impact quality improvements. So let me show you code rabbit in action. I have this sample project here called techart. It's basically a simple e-commerce API built with ExpressJS I have on GitHub, but here is it running locally on my computer. Basically, there's all these products you can add to your cart. And once you add to your cart, you can see them over in the cart here. over here. You can sort by price, you can sort by category, you can sort by low to high, and then it's like I said, just a e-commerce site. So, let's start by setting up Code Rabbit. So, I'm over on Code Rabbit AI, code rabbit.ai, and I will you can either log in or get a free trial. You want to connect your GitHub to Code Rabbit because it's going to work right through your through GitHub. So, I'm just going to authorize Code Rabbit. And then I'll get this installed. And I can either um authorize install for all repositories or specific ones. Since I'm just using one for this tutorial, I'm just going to authorize it for a specific one. And I'll go to techmart and install and authorize. And it's always good to have two-factor authentication on GitHub and any other important website. And that's pretty much it for the setup. Now, if we already had PRs on this repo, then we could review a PR right here. But we don't yet. I'm going to be making one. So, let's skip to the app. Okay. So, the setup is complete and Code Rabbit is now watching for poll requests. So, let's simulate a real development scenario. I have my code here in VS Code. I'm going to add a discount code feature to this e-commerce app, and I'm intentionally going to make some mistakes that developers commonly make, the kind of things that slip through when you're coding quickly. So, let me create a new branch. So, it's just going to be called feature/disountcodes. And now, I will create a new file called discount service.js. JS this will handle our discount code logic and I'll just paste in some code some code here we have an inmemory discount codes um we have again it would be a database in production but this is just an example we have admin credentials and then we have the code to apply a discount code to cart not going to review this in detail because that's not the point of this tutorial but we have a route to create a new discount ount code to delete discount codes and to search the discount codes for autocompletes. So I'll save that and then I'm going to update our server.js. So we want to be able to use the route. So I'm going to require a discount service and then I'm going to get get the use the route here the the API/disounts. Okay. Okay, now down in the terminal, I'm just going to commit this and create a pull request. So, get add and then I will get commit with this message about adding a discount code. And then I'll just push it. So, I'll just push that to GitHub. Now, I'll just go over GitHub and create a pull request. And I'll add a very simple description, not what you would normally do, but for this example, I will create this pull request. So now we just can wait here and you can see it's doing some checks and so we just have to wait a minute or two and then code rabbit starts its review and it's currently processing the new changes and gives us this cool little uh asky art here. Code rabbit just finished up and look at this. It so what it does first is it generates a summary of exactly what the PR does. added discount code functionality. Introduce admin panel for managing discount codes, discount code support, expiration tracking to control validity periods. So that's kind of nice to get a summary of what the commit is of what the PR is. But here's where it gets interesting. If we scroll down a little bit here, we are going to find the issues. So first it has a nitpick comment creation currently accepts accepts empty invalid code. So basically something that you could change, but it's not super important. And then prompt for all review comments with AI agents. So uh if an AI agent is going to be looking through this, but look at this. We we got some issues. So it's going to uh each there it's going to be different types of issues and it's going to use a color and a word like this to tell us what type of issue. This is a major issue. Remove the hard-coded admin password. Hard coding secrets and code is a security risk that makes rotation difficult. So obviously no one's going to put an admin password in code probably not. But you may accidentally put some keys or some other hard-coded information and this is going to find it and it's going to give us a proposed fix and even the code that we need to to do to fix it and then some commitable suggestions. So I can just click commit suggestion. I can just click commit suggestion just like this and it's now going to add the change there. And then we can scroll down. It's going to find another issue here. So it says this is a another major issue. Don't trust client supplied totals. Validate inputs and clamp totals. So basically this is accepting cart total from the client which can be manipulated. This can should be computed server side. So now it's going to give us some suggestions for how to fix this. So we could fix it right here if we wanted with this commitable suggestion. Uh I'm going to skip that for now because you already know how that works. And now we have a critical issue. This is even worse. Protect admin list uh delete endpoints. They're currently unauthenticated. So someone can access this these admin in endpoints without being authenticated. anyone can enumerate or delete discount codes. So that's obviously very bad. We go down here and we see now this is just a minor issue. Um so this just says remove or properly input search discount. It's dead code with unfixed bugs. So we can see it's going to give us some different things that we need to do to fix this. And one thing cool is that we can actually um chat with code rabbit right in in the PR. So here I can say something like this is the authentication problem. I can say at code at code rabbit AI can you show me how to properly secure these admin endpoints using middleware and then comment here and then I had to refresh it and now we can see the code rabbit's response. I'll show you how to create an authentication middleware for securing your admin endpoints. Here's a clean approach. And now it's going to give the complete approach of how it's going to do it. Some benefits, some alternatives. And we didn't necessarily have to do this in this case because we could have also looked at this example fix. But you can see now it's giving us a much more indepth solution of how to fix this. And we can also use commands to interact with code rabbit. So if I do atcode rabbit ai summary, this is going to regenerate the PR summary. And then we can see I just refresh and it comes in here. Summary regeneration triggered. And we can see it's going to be a little different the summary up here. We also can do code rabbit AI resolve to mark to mark resolve comments. And we can do code rabbit AI generate doc strings. And this is going to add documentation. It's basically going to um add generate documentation for for the discount functions. And we can see now it says dock string generation in progress. So you can see it added a commit that references pull request. And then also basically it's creating a new PR. So once I'm done going through all this and choosing whether I want to basically resolve the conversation if I want to uh implement these commitable suggestions and also it does warns you review the code before committing but uh in this case I'm just going to commit that suggestion and then once you're ready you can just merge the poll request and then I'll just confirm the merge here. I can go over to the dock stream string one that was created and we can go to file changed and we can see we have doc strings on these this function here. And if we go down we can see that this time the review was skipped because it was authored by the user configured for code rabbit reviews. So basically it it um by default code rabbit skips reviewing PRs authored by itself. So I can just merge that pull request. So here are some key code rabbit commands you should know. I talked about a little but we have pause which will pause automatic reviews. Resume resume automatic reviews. Uh review which is going to request an incremental review. Full review which completes a new review. Then we have summary which we already saw that updates the PR summary con resolve which will mark resolved com comments. Then we can show the configur the configuration. We can show the command reference. We can we already show generating documentation. We can generate a sequence diagramgram which is basically a way to visualize the code flow and then we can help plan the implementation. Now we can also customize code rabbit's behavior with a code rabbit.yaml file in the repository root. So I can just add code rabbit.yaml. So here's an example of our configuration file. So the profile setting is interesting. So chill is going to focus on important issues, fewer nitpicks. But if we change it to assertive, it's going to be more thorough and include style suggestions. And then we have some other other ones like request change workflow we don't false high level summary true auto review enabled but for drafts it's false. Uh chat auto replay true. So you can basically set it to behave how you want. Now as far as the profile uh like for production repository I recommended assertive mode but for personal projects or learning chill is going to work great. Now code rabbit has a CLI tool that lets you get reviews before you even commit. You can install with homebrew mpm. Then you just have to authenticate and then you can uh use it to do an interactive review and then also get basically plain text output or you can get your um an output for AI agents. So I'll do brewtap code rabbit AI tap and then I'll just do brew install code rabbit and I'll do code rabbit o to get authenticated actually off login. So I'll just log in here. Okay, I'm logged in. And now I can just call do code rabbit right from the command line. Code rabbit. And it's going to be reviewing the same the same code changes that we were reviewing on the website because I haven't pulled down all of the fixes onto my local repository. So we can just see how it can review all those same things but locally. Okay, now it has found these problems. The critical bug, hard-coded credentials and source code, missing a weight and reference, non-existent endpoint, missing input validation, and then some of them are critical. So now if I just go into it, we can see what the problem is. And we have a chance to um close this. We can apply. So we see so if we press A it will just apply the suggestion or we can copy the prompt to fix with AI or R would be to reject the commit. So I'll just apply this suggestion. Oh I guess this this in this case it didn't have a suggestion but I know some of them do. So if I go up to this critical one I can apply this suggestion and you can see this applied and committed the suggestion. We have a green dot because that one was uh committed. And we can also apply this suggestion. Okay. Again, no suggestion to apply. Sometimes there's the the they they have suggestions, sometimes they don't. But um it will tell us what to do to fix it if it doesn't have the suggestion. And we can always copy this prompt to fix it with AI. So let me show you how that would work. So this is says missing a way and references non-existent endpoint. And so what I'm going to do is just press C to copy the prompt to fix with AI. And here is the the prompt that it's going to copy. Now I can just open my chat over here and then I'm just going to paste in that prompt and then I will submit it. So this is how we can use one AI code rabbit to find the the bugs and then we can use another AI GitHub Copilot to fix the bugs. So some of them we're going to be able to basically apply a fix right from Code Rabbit but some of them will be a little more complex. So we can use GitHub Copilot to do the fixes here. Okay. Now it gives a summary of the changes. We can actually look at what the changes here are here and we can see that it made the changes based on the problem that code rabbit found. So we can keep those changes and we can basically just keep doing that using our GitHub copilot or another AI agent to to fix things. And there's even a faster way to go about that. So, I'm going to just close out of code rabbit. And this time I'm going to call I'm going to run code rabbit again, but I'm going to put prompt only. So now it's not going to have that visual mode. It's not going to give you a chance to it's not going to tell you what's wrong. It's not going to give you a chance to apply changes. It's just going to give us the prompt that we need to give to GitHub Copilot or give to another AI agent so it can do all the fixes on its own. Cuz honestly, uh, if I'm just trying to move quickly, especially if it's like just a simple personal project, uh, I don't really care what the problems are or why they're they're problems. I just want them fixed. So, in this way, we can get the prompt to just give right to the AI and then it will fix it. And while we're waiting um for this to give us the prompt to give to the AI, I want to tell you about how you can even automate this process. So I could just go into my AI and just and just say this implement the discount code feature, then run code rabbit-prompt-on and fix any issues it finds. So now it knows to implement the discount code feature and then it can just run the AI the AI agent can just run code rabbit on its own and then find the problems and fix the problems. So okay but now it this is finished running. So it it gives us the prompt that we can just copy and we can paste into the agent. But when we actually just tell the AI agent to use code rabbit, this creates a powerful feedback loop where your AI assistant writes code and code rabbit quality checks it. It's basically like having two AI assistants collaborating. So one writes and one reviews. So it's going through right now just to write write the code based on the code rabbit review that we already got. We just covered Code Rabbit's core code review features, the CLI, and how it works with AI agents. But Code Rabbit has been shipping some powerful new features, and I want to demo the ones I think are the most useful. Code rabbit plan, premerge checks, and some advanced CLI workflows. First up is Code Rabbit Plan. The idea is simple. Before you write any code, you create a plan. You describe what you want in a GitHub issue and Code Rabbit analyzes your codebase and generates a detailed coding plan. Let me show you how it works. So, I got a GitHub issue here on my TechMart demo repo. It says users should be able to save products, their personal wish list, view their wish list, and so on. Now, watch this. I'm going to create a new comment at code rabbit AI plan and then I'll just comment that. And so now code rabbit is going to start analyzing my entire codebase and generate a coding plan. Okay, now it finished creating a plan. So we have a summary of the plan and then it's going to give us some design choices some and even some different options that we can use and then it's going to give some imple some exact implementation steps. So task one wish list status storage structure and then what we have to do then what we have to do for task two all the different things we have to implement and so on and then we also have the phase two frontend wish list experience and it's going to give us some everything we have to do and then if we scroll a little bit we can see the prompt for AI agents so basically we can just copy this prompt for AI agents to write all the code we And same with here we have another prompt for AI agents. And then we have the research. We also have our next steps. So this is going to combine all we can have basically all of our prompts in one. And then we can it says we can iterate on the plan uh continue to kind of get some more feedback. So basically, instead of telling an AI agent, add a wish list feature and hoping it figures out your architecture, you give it this contextrich plan. The agent knows exactly which files to modify, which patterns to follow, and what the acceptance criteria are. You can also reply to this comment. We could reply here, and we can refine the plan. So like if I disagree with the design choice, I could just say so and code rabbit will update it. And this works with GitHub issues, GitLab, Jira, and linear. You can even set it to auto plan. Anytime you add a feature label to an issue, it automatically generates a plan. Next, I want to talk about premerge checks. This turns Code Rabbit from a helpful reviewer into an actual quality gate that can block bad PRs from merging. Let me show you a real example. I've already created a PR on TechMart that adds a loyalty program feature. But before we look at the PR, let me show you how to turn on premerge check. So in Code Rabbit, you can go to configuration and then click review and then we can click premerge checks. And this is where you would turn it on. You do need the pro mode to turn it on, but you can still create a check even if you don't have pro mode on. You just have to start the check manually. So to ch start the check manually, we just go to our poll request and then we just comment code AI review and I comment on that and it's going to do the check. Now, if we had premerge checks enabled, it would automatically start that without having to comment this. And we can see that this PR isn't very good. Uh, the title just says stuff and the description just says some changes and the code has some issues. Okay, it finished up and it has this walkth through of what's going on and then it finds some problems like that there's a bad title and how we should replace the title. We also have some checks here. These are actually um the description is checked because there is a summary automatically added here. So, it's going to basically fix our bad description and put in an all new summary of what happened. And then we have all these actionable uh fixes. So, all these issues just like what we've seen before. And not only do we have the issues, we have the prompt that we can um uh use with our AI agents. And you can see it's finding all the issues in the code. So you can set this up so it runs this automatically on every pull request. A pre-check. I also want to mention multi-reo analysis. This is for teams that have multiple repos that depend on each other like a backend API and a front-end app in separate repos. you link them in code rabbit's settings either through the web interface or in your.code rabbit.yaml. So in your code rabbit.yaml you're just going to specify the repository that is linked. So now when someone changes an API endpoint in the backend repo code rabbit checks the front-end repo and says hey the front end is consuming this endpoint and your change will break it. Those findings show up right in the PR review. So if you work with microservices or separate front-end backend repos, this can be a gamecher and it's available on the pro plan. Now I'm going to show you the CLI in in action with some advanced workflows. So earlier we covered the basics, but let me show you the real power which is using it as a quality gate for code you're actively writing. So I have some uncommitted changes. this rewards calculator.js file. I'm going to actually run code rabbit before I've even committed anything. So in the terminal, I'll just run code rabbit. And I already know there's been some files that have changed. So I'll just hit enter to get into the review. And you can see code rabbit is going to find some issues right uh before we even commit the code. So that can be nice when you're actually in development. And just like before, you can uh copy the prompt to fix with AI. So basically get into this generate, review, fix loop. And one last thing I want to talk about with code rabbit. An independent company called Martian recently published the first rigorous benchmark for AI code review tools. It's called the code review bench and they tested 13 different tools. So you can see all these tools including code rabbit uh gemini code cloud cursor and code rabbit is at the very top. So it ranked number one in its F1 score which measures measures the balance of catching real issues without giving you false positives. So this was across nearly 300,000 poll requests. And it's a completely independent organization not associated with code rabbit. So that's code rabbit. To summarize, it automatically reviews every PR you create, catches security issues, bugs, and code quality problems. You can chat with it to discuss feedback. The CLI lets you review before you commit. And it integrates with AI coding agents for automated quality control. Okay. Okay, now let's talk about command line AI tools. These are powerful alternatives to IDE based tools like C-Pilot. We'll focus on two, Clog Code and Gemini CLI. So why use uh CLI tools? Well, they're more powerful autonomous cap. They have more powerful autonomous capabilities. They're better for terminalheavy workflows. They're they often have larger context windows and they're great for system administration and devops. So cloud code from anthropic I think is good for complex reasoning tasks. So we can install with this npm install and then just anthropic-ai/cloud-code. Now cloud code requires a claude pro subscription or API credits. There's no free tier, but it's worth it for the capabilities. We can start an interactive session just by typing in claude. And then we are going to just basically do some setup and we're going to have to log in. So, it brought me to a website that I just had to authenticate on. And now login is successful. So, we can just go through the rest of the setup. Okay. Now I can start talking to Claude. So let's just start with this. Analyze this codebase and suggest improvements. And we're still using the TechMart codebase. So Claude is reading through the files trying to understand the architecture and then eventually it should give us some recommendations. So it's continuing through reading the different files in the codebase. And here is the overview. So it gives the overview and then it gives some issues. Um some of the issues are some issues that we already knew about but then it also gives some additional things such as this race condition user ID collection on registration. Uh cart can reference deleted invalid products. Um, and it has some information about the architecture, the code quality, error handling, and it it even has some information about the front end and some missing features. And then it gives a summary of the top five things. And some of this stuff we knew from some of our uh from earlier in this course, but some of it's all new, like the course allows all origins with credentials. And then I can just ask it to fix. I can say yes, please fix all five. And then we can go, we can see that it's going to just think through this. It makes a list of things it's working on. And then it starts working on everything. And then I'm going to say yes, allow all edits during this session. So it's just going to make all the changes. And now we can watch it as it basically makes all the changes right within the terminal. And now we can give it permission to run bash commands. It's going to basically install b-crypt. So that's one great thing about the CLI is that it can actually do things right within the the terminal and run different commands. Now clog code actually has different thinking modes for different levels of analysis. So when we're giving it commands, we can tell it think for quick an analysis, think hard deep reasoning, think harder, and ultra think for maximum depth analysis. We basically just tell it ultra think, and then we would tell it what to do. And then Cloud would spend more time reasoning uh through the problem before responding. Okay, now it's done. And it would give the summary of all the changes and it tells what what it changed and the files that it changed. Basically, it just did everything. Now, we could also within our project directory, we could make a file called claude.md and then we can give claude context. So, basically we could say what type of application we're using, what kind of technology we're using, um different coding standards, the project structure. We could just put this all in basically in plain English. So it has it could understand the project and conventions and then would follow them and the suggestions. So here's like an overview of what I was talking about with claude and we can also resume a pre I didn't say this but we can resume a previous session with the claude dash resume. And then here's the different thinking modes I was talking about. Now let's talk about the Gemini CLI. Google's Gemini CLI has some unique advantages. There's a massive context window with over 1 million tokens. There's a good free tier with 1,000 messages per day and it's multimodal. It can process images. So to install Google Gemini, we'll just do mpm install-g and Google Gemini CLI and then we can log in with Gemini O login. Then we have a little setup here and we'll log in with Google and then it's just going to open the authentication page in my browser which I have on my other screen but it's pretty straightforward. Okay, I've successfully logged in and we need to restart. And it's right now just going through and learning about my application. And it gives us tips for getting started up here. Uh including creating a Gemini MD kind of like our cloud MD to customize interactions. And it's just basically exploring our codebase to start off with. And it's actually running the application and just testing it out. And I haven't even done anything. It's just I haven't given any commands. It's just trying to figure out on its own how everything works. So it successfully logged into the demo account and verified the session and basically just actually ran the whole account. I didn't even tell it the whole application and logged in and everything. And basically just like claude CLI, I can just type in any message, give it any commands and it will just update all the files. One thing about amazing about Gemini is that you can show it images and we'll understand them. You can basically like if you have a sketch of a UI on paper, you can send the photo and ask it to turn into a React component or I'm going to try something. I'm going to take a screenshot of this keyboard and I've put that screenshot into this folder the Ziotechart and I'm going to give it a command. So I'm saying find the product image from the screenshot and add two more keys and I'm passing in the keyboard. So right now we have 1 2 3 4 5 6 7 or 1 2 3 4 5 6 7 8 nine keys on the keyboard. Let's see if it can actually add more keys to the keyboard. It is just an SVG. So, I'm seeing if it can get that image and figure out what SVG that that images of and then add the keys to the the SVG. And then it's giving me some options of what I want it to do. It's it's asking what I want to do. I'm going to enter custom value and I'm going to say update the SVG file to add more keys to the image. Now, I'm not sure if it actually read the PNG file or if it just happened to find the keyboard.svg because it was the same. It still uh started with keyboard. But let's see if it's actually able to add keys to that image to the SVG file. Oh, good. It gives me a little joke while while we're waiting. And I'll just say to allow the change. And I think this could be adding the keys to the file. Okay, now let's check again. So, we have eight keys. I'm going to refresh. And there's 10 keys. It worked. It added two more keys to this keyboard. Okay. So, it didn't actually read the screenshot like I was hoping, but it still managed to do what I wanted. And it does have the ability to to read images. So, both Clog Code and Gemini CLI are both great for different reasons. Honestly, I do like clog code better, but um you do have to pay uh you have to get a good plan to make it work the in the best way. Okay, now I want to show you something different. We've talked about AI that helps you write code, but what about an AI that you that can actually do things for you? So, OpenClaw is an open-source personal AI assistant that runs on your own computer. It's a little bit like having a junior developer who never sleeps, can use any tool, and remembers everything you've told it. I've been using it personally and I have been really liking it. It's been helping me with a lot of things. Here's what makes OpenCloud different from other AI tools. First, it's always available. You can message it from WhatsApp, Telegram, Discord, or any chat app you already use. It's like texting a co-orker who happens to have access to your computer. Second, it has persistent memory. Unlike chat GPT where you start fresh each conversation, OpenCloud remembers context 24/7. It knows your projects, your preferences, your ongoing tasks. Now, the memory isn't perfect, but it's better than some of the other tools. Third, it can actually take actions. It can run commands, open browsers, manage files, deploy projects, even send emails. For developers specifically, OpenClaw is powerful because it can run tests and fix failing ones automatically. It can manage cloud code or codec sessions from your phone, check your GitHub notifications and respond to issues, deploy code to staging or production, monitor your services and alert you to problems. Imagine you're on a walk and you get a notification that tests are failing. You just text your OpenClaw, fix the failing test, and open a PR. It does the work while you finish your walk. So, here's the OpenClaw website. Now, the setup is very straightforward because it you just go to the website and it gives you basically the quick start, the one line, and then you just have to run this on whatever computer you want to set it up on. Basically, it runs it can run on your laptop, Mac Mini, a cloud VM. Uh you can configure which chat services to connect, set up your API keys, and start chatting. So, I'm not going to go through the whole setup because it's very straightforward, but I'll show you how it works because I already have it set up on my computer. I have a laptop, but I also have another Mac computer. And I have OpenCloth set up on my other Mac computer. Um, I guess it's I it's really a Mac Studio, not a Mac Mini, but you can run on a lot of different types of uh computers. So, here is my the the chat interface. I was just chatting about it. I was just chatting with OpenClaw about my personal website, kins.cc. So, if I go to the website, it's very old. I haven't updated this for so long and so I was thinking about just telling uh so basically I asked if it could figure out how to access my website uh through GitHub because it's hosted on my GitHub which I already have connected to GitHub. I already have connected to OpenClaw and so it cloned the repo. It found the correct repo. It cloned it and then it just gave me these suggestions. So, I'm not I'm actually just going to say make it update the website. So, I'm just saying update the website in whatever way you think is best. And so, since it has access to my GitHub and this is stored on GitHub pages, it can actually make live changes to my website. So, it's saying I'll do a full refresh, modern design, updated content, everything current. Let me build it out. I actually have no idea what it's going to come up with and it's live, but you know, this website's not super important. Normally, you're going to want to verify things before you update things live, but let's just see what it comes up with. While it's doing that, I'm going to show you some other things on OpenClaw. So, there's a few things you can actually get set up on this. One of them is the cron jobs, which is very interesting. Basically, you can tell Open Claw that you want to do things on a regular basis, and then it will create a cron job. So, I have a few uh a few things set up. So, I have it so it will check different sponsorships for my personal channel in my hey.com email. I have it so it's going to work on a a SAS that I'm building every night. I have it give me a morning briefing of just important information uh every morning for my calendar. I have it uh basically every week it's going to write me one YouTube script with slides to make a YouTube video. I have it so it can uh automatically outreach to sponsors for my personal channel. And so it's going to have do these things based on the cron job. So, one cool thing about OpenClaw is I have it set to connect to my email, but it can also do things that don't have a a direct way to connect. So, I have email through hey.com and there's not an API or it's hard to connect spec uh directly, but I can have it use a web browser, a visual web browser on the computer. So, I have it actually access my hey.com email through just like a regular web browser and it just uses the the visual cues and everything to access and do things on my hey.com email. So, that's one thing cool is it's not just a CLI, it can also do things on your desktop. So, let me go back over to my chat and it says done. if it finished making all these changes to my personal website. So, let me just go over to it and refresh and see what it looks like. Okay, this is interesting. So, it just like completely made these changes to my personal website. We even have a new photo on here and it says what I'm working on, uh where to find me, some featured videos, get in touch. It's now giving my uh hey.com email address and I have a now page about what I'm working on now. So, okay, I'm just going to leave it up for here for here. Um, it looks pretty nice. So, that's just kind of interesting how I could just tell it to make changes to a live website and it'll just make those changes. I didn't even know what to expect. And interesting, it now it added a link to nowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowowow.com explain what a now page is which is where I where I got the idea for a now page. I wonder where that link is. Oh this is a now page. So this is actually something created by Derek Civers uh author and creator that I follow. So you basically you can tell open claw to do anything. Um, like I said, some I've asked it to make a tutorial with a slideshow and a script. So, if I go to my personal tutorial website, this all SQL syntax in 14 minutes, >> SQL syntax in as quickly as possible. Whether you're just getting started or need a quick refresher, department, and projects. These tables have columns like ID, name, salary, department ID, hire date, and so on. So, this whole tutorial, it's a 13 or 14-minute tutorial. It was created with openclaw. I just it made all these slides and it made the script and I just read the script and went through the slides to to explain SQL syntax in 14 minutes. And so basically, Open Clock can help you with whether you're a software developer, a creator, um, and or whatever you do, it's going to be able to to help you with anything that you're doing on a computer. And it also works great with other tool the other tools we covered with code rabbit. It can actually connect with code rabbit. It can connect with cloud code. It can connect with copilot. Anything that has a CLI it can use because it's actually working right on my local computer. So it can monitor your PRs and ping you when you code red rabbit finds issues. It can spawn cloud code sessions and manage them remotely. It basically is an orchestration layer for your entire AI workflow. So the open cloud documentation has so much information. Basically these are all the messaging platforms you can connect to it on. So I currently have it to set up on WhatsApp and discord and so I can contact I can send messages openclaw through discord. So, I've connected to this open claw, uh, this maltbot. It basically, uh, that's my open claw. And I I can say I'm going to say, "What is on my calendar?" And it's only going to respond to Discord if you messaged it on Discord. It's only going to respond on WhatsApp if you messaged it on WhatsApp. But you can tell it from any platform to send to any other platform. So on Discord, I could tell it to send something to my WhatsApp. Okay, now it's giving me my upcoming calendar. Nice. It's even wishing me a happy birthday. The key insight with OpenClaw is that it's self-improving. You can literally ask it to build new capabilities for itself. Say you wanted to check your email every morning. You tell it create a skill that checks my hey.com inbox each morning and summarizes important emails. It builds the integration, tests it, and starts using it. This is different from traditional software where where you have to wait for someone to add features. With OpenClaw, if you can describe it, it can probably build it. OpenClaw also works beautifully with the other tools we've covered. With Code Rabbit, OpenClaw can monitor your PRs and ping you when Code Rabbit finds issues. With Cloud Code, OpenClaw can spawn cloud code sessions and manage them remotely. And with C-Pilot, OpenClaw can commit and push code you're writing in VS Code. It becomes the orchestration layer for your entire AI workflow. If you're interested, check out OpenClaw.ai. There's an active community building skills and sharing workflows. The most productive developers don't just use one AI tool. They combine them strategically. So here's how you could use different tools for different things. So for planning, you could use cloud code with Ultraink for architecture decisions. Then you can implement using C-pilot in VS Code for rapid coding. You could use code rabbit to catch issues. You could use Gemini for its large context window and open clock can actually kind of combine all things these things together because open clock can use any CLI tool. So it can use clog code, it can use code rabbit, it could use Gemini and basically each tool has a different thing that it does best. So the combination is more powerful than any single tool. Now let's talk about model context protocol or MCP. It's basically a way to give AI tools extra capabilities. So think of MCP servers like apps for your AI. Without MCP, your AI is limited to what you tell it. It can't search for documentation, access databases, or test websites. But with MCP, it can access real-time information and interact with external systems. Basically, it's a way to give your AI your um AI different tools that it can use. So, for example, for cloud code, you can create a config file at just uh cl.cloudmcp.json if you're on Mac. And then if you put in this code or this JSON, it's basically going to give Cloud the ability Cloud the ability to browse the web and test websites for you. So it's giving the the Puppeteer tool to be able to go through websites and then Duck.Go that's basically uh for for web search. And so the puppeteers for the browser automation, you can also give it different MCP servers that will allow it to do file operations or connect to GitHub for repo management or uh Postgress for database queries. And now here's another pattern you can use to kind of combine different AI tools. You can first write tests with cloud code. Then you can generate test code with Gemini. You can implement with co-pilot agent mode saying something like implement the payment services service to pass all these tests. Then you can review with code rabbit which is going to catch different edge cases you missed. So the tests can guide the AI implementation and code rabbit quality checks everything. This is a good pattern because tests give the AI concrete goals to code against and then you have the immediate feedback on correctness. So let's try combining everything right now. So first I'll run claude and then I'll just say ultrathink plan the architecture for a user dashboard with analytics. So, we'll start by planning everything with Claude. And then it's I just have to confirm that I want to proceed. And it's realized that the project directory is currently empty. And then it's just going to give me some choices of how I want to of what framework I want to use. So, I'm going to basically answer some questions so it knows exactly what I want. And I'll submit my answers. And now it's able to use uh tools. It can do a web search. Okay. It's created the plan and I can actually execute the plan itself. So I can tell it what I want to do. I'll just execute the whole plan. And now it's basically going to just build the entire project. Took a while, but it actually build out the entire dashboard. I'll just ask it to commit this. Now I'll just ask it to run locally. Okay, it has the server running locally. Okay, here it is running and there's a login. We don't have to look at the whole thing right now. And now I can open up VS Code and basically look through the code. And I'm just going to tell it to look through the code and suggest improvements. And it's going to implement secure visitor ID and some other improvements here. Now I'm just going to ask it to open a PR with the change. So there we go. Okay. Now I'm going to tell it to run code rabbit prompt only and fix any issues it finds. So basically this is how we can use one AI tool inside another AI tool and then I just have to allow the command. Okay, in this case it looks like the review from Code Rabbit had no actionable issues reported. I guess that's good. But now you can see how this would work. Uh if you did have it's always good to to run a review just to see if there is issues and then it can fix it right within the within the AI tool. Okay, let's talk a little bit about AI code quality. So AI generate code needs human oversight. And so here's a good quality checklist. You want to make sure it actually runs, that the the logic makes sense, that the functions and variables are defined and just see if it feels wrong and definitely test edge cases. And there's a lot of things you need to look out for. Sometimes AI will make up functions, the wrong parameters and such. There could be missing air handling. Honestly, right now, AI can often solve some of these mistakes itself because a lot of AI tools will check its own code after writing it and then make the the make the fixes. But it's still good to check things yourself. And what's really important is checking for security. There's so many stories out there of people that vibe code an app and it has horrible security. So you never want to accept AI code that has hard-coded passwords or APIs, eval with user input, uh SQL without parameterized query sensitive data and error message and disabled security features. And you're always going to want to verify that input verification is present that there's proper authentication authoriz and authorization that secrets use environment variables. This is very important. A lot of people have vibecoded uh secrets onto GitHub where anybody can use it. Uh we want to make sure the dependencies are up to date and errors don't expose internals. Now these are security essentials for whether you're using AI tools or not. But you definitely want to check when you're using AI for coding. AI doesn't understand your security context. Only you do. So let me show you a concrete example. AI might create code like this here, which is basically a function that builds a SQL query using string concatenation. That's a classic SQL injection vulnerability. So, here's the safe version. It uses parameterized queries instead. And this is exactly the kind of thing that Code Rabbit catches automatically in code reviews. So, that's uh Code Rabbit is especially helpful when you're using AI to write code. So, let's just talk a little bit about how to write a good prompt because better prompts equals better results. So, basically use this formula where you're giving a lot more information. Don't don't just uh to try to be as specific as possible. Basically, you want to be specific about input parameters and types, expected output format, error handling requirements, style preferences, and that's going to make your your resulting code better. So, here's just a final quick reference for what tool to reach for like get uh based on the tools that we've covered in this tutorial. GitHub Copilot is great for real-time coding in VS Code, quick completions, learning new APIs. Then code rabbit for PR reviews and qu and quality gates security analysis team consistency. Then we have cloud code and gemini are great for uh complex refactoring architectural discussions autonomous dev sessions and then open claw for background automation multi-tool orchestration and proactive assistance. And like I said earlier co open claw can help tie everything else together. So we've covered a lot in this course. So let's recap what we've learned. AI speeds up implementation, but you make the decisions. Also, uh you should always use the right tool for the job. Always verify AI generated code. Security is your responsibility. And better prompts equals better results. So here are just some tools and resources from today's course. You can also check the description for links. And thanks for watching. Leave a comment and let us know what AI tools you're excited to try. Happy coding. And I want to demo ones I think are most useful. Code rabbit plan, premerge checks, and some advanced CLI workflows. First up is Code Rabbit plan. The idea is simple. Before you write any code, you create a plan. You describe what you want in a GitHub issue and Code Rabbit analyzes your code base and generates a detailed coding plan. Let me show you how it works.

Generated algorithmically for Search Engine Indexing.

Summarize Another Video