Google Cloud Live: Getting started with Gemini CLI
Key Takeaways
The video covers the installation, execution, and deployment of Gemini CLI, a command line interface for generative AI, and demonstrates its usage for various tasks such as natural language interaction, fine-tuning, and retrieval augmented generation.
Full Transcript
Hey. We are looking at a 5,000 share order. Hey everyone, I am Stephanie Wong, global lead here for developer programs at Google Cloud and Greg and I will be your hosts every single week. Welcome to the premiere of Google Cloud Live. It's our brand new weekly series where we chat with expert guests about all things Google Cloud. From the latest product launches to technical deep dives. >> Hey, and I'm Greg Bogus. I lead developer community programs at Google Cloud. I am so excited to kick this off. Uh the goal of the show is to get hands-on and help you build with these new AI tools and most importantly to hang out with all of you. Uh we are live and we want this to be a conversation. So please say hi in the chat. Let us know where you're tuning in from and get your questions ready. >> Yes, and we already have so many of you coming in on the chat here. We have YouTube. Uh, hi everyone. I see people joining from Nigeria, Brazil, Cameroon, San Diego. I mean, literally all over the the globe and then LinkedIn. Thank you so much for joining. I see people here on Twitch. So, once again, thanks for joining the live stream. Again, we're going to be here every single week breaking down complex topics. And today for episode 1, we're starting with something that I know everyone is asking about right now, of course, generative AI, but specifically for the command line. >> That's right. We're going to be building with Gemini CLI, and you don't need to be a developer to harness the power of Gemini CLI. Uh our hope is that anyone can get started after today's episode. Uh we're going to look at how to get set up, how to install, and how to get started working with Gemini CLI. >> That's right. And uh we couldn't launch the series without an amazing expert to guide us through it. And she's here to walk us through getting started with Gemini CLI. So everyone, please welcome our very first guest, Denise Quan. Hey Denise. Hi. I am Denise Quan. I am a senior developer relations engineer at Google. And I am super excited to talk to you about having, you know, Gemini CLI, how you get it installed, and all the little tips and tricks so that you all can get started. We're so excited to learn these tips and tricks. Uh you've been here since day one of Gemini CLI, right? So, what's that been like? >> Oh, it's been a crazy roller coaster with, you know, the launch and just everybody being super excited about it and just wanting to go and use these tools and just watching Gemini CLI grow as it's been coming along. And so, you know, it's been less than a year of everything and I think that everybody needs to come on board and see the awesome tools that they can do. >> Yeah. And Greg, you you join and you just kind of like got straight into Gemini CLI, too. What are your first impressions of it? >> You know, I I it feels so powerful. It's like it's and it's a way as a developer to harness the power of these amazing models in the environment that I'm used to working in, right? Right. And so what I love is there's so many different options for people to use the models and Gemini CLI uh like using it directly from the terminal just feels like such a powerful direct way to build with these tools. >> Yeah. And I feel like using it in the terminal is the superpower that I think more people can actually learn the power of. So today you're going to show everyone how they can really see the value of using models in the terminal directly. >> Yeah. And so, you know, the terminal, a lot of people get scared of it because they think that terminals are just for developers and but you know, if you really think about it, it's installed on every single laptop and it's there for you already. But I people sort of see terminals, oh, I better not touch it or else I'm going to screw something up. And what's nice about it is you don't have to really worry too much about it. You, especially nowadays, you're you're not going to screw something up. Um, unless you really really went down some rabbit hole, but with Gemini CLI, there's a lot of stuff that prevents you from really like screwing up your computer. >> Yeah. And and we'll see a lot of those controls today. But I have a very serious question to start with, Denise. What is your terminal setup like? Like, are you dark mode, light mode, like what's what are your what are your terminal preferences? I probably, you know, a lot of devs are probably like, "What the heck?" But most devs like to be in dark mode, but maybe it's just my eyes or something, but I keep my computer on light mode. But my VS Code, my terminal, I changed all the backgrounds to be dark. And I like that aspect of it. But when I'm looking at the Finder and all my files, I don't want to be having to like squint and be like, where which file am I looking at? So, not a dark mode person for certain things, but a dark mode person for coding. And I guess when I get into the zone for development. >> Nice. Yeah, I feel like we're going to get a lot of strong opinions in the chat about. >> Yeah, I think so, too. And you know maybe for folks who aren't familiar could you talk about CLI? What does that mean and how does that differ from using Gemini elsewhere? >> Yeah so CLI is command line interface and it is a for at least from a dev perspective a lightweight way of being able to communicate directly with your computer and the OS. And um there isn't from a productivity and a speed perspective that is closer than if you were to do something on gemini.google.com because then there's an application that a a heavier application that's built on it and just you know you got to go on your browser and a lot more um layers that you're going through. And so for a lot of developers, we tend to like to use a ter terminal because then it can get things done quicker. And some people will like it where okay, I go and open up my finder and click all of the files. But if you're dealing with multifile, that's a lot of clicks. That's a lot of like right clicks or opens. And so sometimes it's just easier to type in a command. And it for actually using the terminal itself, not the tool. Um, sometimes it takes people a little bit longer to like remember how to do it, but that's I feel like for everything, right? When you get when even when your phone changes to OS and you're just like, "Oh, wait. Why does this look different?" You have to get used to it. And once you get used to it, it's really not as scary as people think it is. >> Yeah. And you're you're going to show us that today, right? It's like how easy it can be. How can people get started with setting it up? So um we can definitely go in and I can show people how to get it installed from the beginning. Um I am using a Mac and I know people are using other um operating systems and we will probably maybe try to go in and create videos for those operating systems. But for everybody to know I am on a Mac and the first thing is that the best place to go for everybody is geminici.com which you can see here on my screen right now and the install that is the most preferred way is using npm um and that is right here on the screen but npm is not by default available and you do need to go and do some install to be get there. So I am going to show that. So, one thing that you will see is that on Macs and other ones, you can see a terminal and you can just click your terminal to be able to open that up. Um, if you do not actually have it in your down here on your doc, you can always go to your spotlight and search for the terminal. And once you have the terminal, um, as you I said, I am in dark mode for for this one. you will see that you will have just a plain interface and really not much. So, this is where we're going to be doing everything. This is where we're going to be doing Gemini CLI. So, back to saying that MPM is not installed. Let's just open it up and install. In order to use npm, you got to use Node.js. So, if I click search for install NodeJS, the first link available is going to be to download NodeJS. And let me just make it a little bit bigger so you can see. And what's nice about their web page is that you can choose which OS you want and how you want it. So that it's going to give this information of all you got to do is copy this clipboard. If you are installing it for the very first time or have not used any of the dev tools, you will actually on a Mac will have to install the Xcode. Um, and when you do the install, and let me just show you. I I do have a little cheat sheet of all of the things that I am going to use cuz I cannot memorize that off the top of my head. But, um, this is going to be the command line that you will copy and paste into your terminal. So, I'm not going to actually do it because I did do it installed. But um if you just copy and paste it there, if you don't know if you have it installed or not, just go ahead and copy this and it will give you an error and it will actually give you that command line that you will need to run before it will work. So just pay attention to the response there. So I copied this to the clipboard. Go back to my terminal. I'm going to go and paste it in. So here you see it is downloading the the um the package that it needs and it's check doing just the checks to make sure everything is good and then let's double check that we can use npm by just typing npm. So now you see that I have npm installed. So going back to the Gemini CLI web page, I am going to copy the install um command, go back to my terminal and I am going to install that. And typically I like to have things like side by side, but for the sake of this live stream I have it on full screen so everybody can see. So normally you won't have to like flip through my pages like that. Um so that's it. That was just installing it. And in order to just run Gemini, I just go and type Gemini and it is going to load up. So from now on, because I have it installed, all I have to do is go to my terminal and type Gemini to launch Gemini CLI. >> Nice. This is straightforward. We actually have one question that I'd love to highlight because I think it's a good one. So Sarah from LinkedIn is asking, "When setting up the environment on a fresh MacOSS machine, is it better to install the Gemini CLI using a package manager like Homebrew or directly via the Python's pip?" So it really is your own preference. Uh on the Gemini CLI, and I can show it if you click over to like the I'll open in a new tab. Um there are multiple options of how you can install it and even running it through NPX which does not actually install it on your system. Um you do have several options but as you see we highlight the npm. So I guess that would be our preferred way but either way will work. They all work in however whatever you feel is best for your system. You know, if you don't want to install mpm and you only want to do brew, that's totally up to you. >> Nice. >> And uh we have a question from Peter here on YouTube, which probably segus into uh the screen you're looking at here, but there's a few different ways to offend to Gemini CLI. Uh could you talk us through those and and why someone might want to, you know, sign in with Google login versus getting an API key? >> Yeah, so here the first one, as you see, it says login with Google. Um Gemini CLI does have a free tier and so in your regular Gmail account you can just log in with Google. If you select that that's going to give you that um you know OOTH to pop up and say can you log in with your your Google account. Um also there are folks who are using some of the paid program the paid Google um programs and subscriptions and they can do it there. But also many people use a Gemini API key whether that is with their paid or even free tier technically you can go and generate a key and that is using the Gemini API key as well as the third option of a vertex AI. >> Is it fair to say that some of the difference there is between scription subscription billing versus metered billing? Um and and some we have some different subscription plans. >> Yes. So there are different subscription plans and all of those subscriptions does give you access to Gemini CLI and we also wanted to make it available of like different options of being able to go in and so even for me I am going to be using a Gemini API key but I could have logged in with some of my other methods as well. >> Awesome. >> Great. And so if you are using a Gemini API key, um the the environment variable that you need is this Gemini API_key. You can actually paste it in over here as well. Um but obviously for the live stream, I have it into my environment variable and because I don't want to have to always paste it every single time. So I am going to select use Gemini API key and I had already set that beforehand. >> Great. Um, with regards to the Gemini API key, we do have a question here on LinkedIn from Marcus. Um, he's asking to ensure my scripts remain secure and portable, what is the exact name of the environment variable that I have to export in my shell profile to store the Gemini API. >> So yeah, that was the Gemini. So I will just type it here just to make it clear. Key. So this is the environment variable that you would store it and you would put it either in your you know bash rc or um even if you didn't want to put it all the way to your bash rc and you want it to be project based you can always have av file in your project and store this into your um in in that file. >> And I see a question from Keith here uh on LinkedIn. Am I gonna have to do this every time I start Gemini CLI or just the first time >> for the environment variable or >> the O and everything? >> Oh, the So once you choose an O, yeah, that will stick if you want to change an O and that's a great question. You can actually do um slash off and it will give you the authentication back and you can choose a different one if you wanted to. But in terms of if you are using the login or the key, if you put your key into an environment variable, then yes, it'll always pick that up. If you don't, and I think it will store it into a global one. But for the login with Google, you will not have to actually click it every single time unless you go in and change it. Then obviously you need to go in and do it again. >> I have a question. Um, can you have two sessions at the same time with different off options that you're using? Not at the moment. Um, you cannot So, you can have multiple sessions, but not two different odds at the same time. >> Okay. Yeah. >> All right. >> Amazing. So, everything we've done so far is getting set up. This is all sort of like what you got to do the first time before you use it. >> From here on out, someone could come in and type Gemini and get going. >> Now that they've got it set up, >> yeah, >> what can you do? You can do lots of stuff, but let's go in and just kind of look at um and I am just going to remove the top part. So, I'm just going to go slashcle. Slash clear kind of cleans up your screen and makes it easier to read. Clear kind of cleans up your screen and makes it easier to read so you can get rid of all the other stuff going on. And um just looking at this screen um you can see what model you are using over here on the right. And if you wanted to change your model, you can do a slashmodel and choose. So let's say that you actually don't want to be on Gemini 3, you want to do Gemini 2.5, and you can choose that. Or you can manually select a model and say, I only want to use this model. It is nice to use one of the autos because the automatically decides based on your prompt which model to use. So let's say that you are doing something that is just a basic question. it is going to choose to use a flash version to save your tokens. And so that is nice because then you don't have to burn out all of the tokens on a pro one when you were just doing a basic question. Um then it also tells you what project you are in over here. We do have a lot of settings and you can choose the different settings depending on what you like. There are you can change the theme of it. um whether or not you want the footer. Lots of things that you can do. Um and then I think that let's see what else is like I said there's the clear one that is very handy and and if you typed in I typed a prompt and I don't want this prompt anymore. Rather than clicking the delete button you can click escape twice and then it'll disappear. >> H love that. Also, I feel like this is key to point out like a lot of people I think understand that you have to type terminal commands in order to interact with the terminal. I think the key difference here is that you can use natural language now to interact, but there's also these out of the box functionalities like init or o or things that you can just get started quickly. >> Yeah. And and that's a good point like now that we're in Gemini CLI, you're not doing this whole command line terminal kind of thing. We are using natural language. And what's nice about Gemini CLI, because it is in the terminal, you can do a lot of that stuff that you would do in the terminal using natural language because it's smart enough to be able to call a lot of these tools with itself, but you don't actually have to memorize the syntax to do that. >> Right. Exactly. >> So now that we have that all in installed, let's do a little example. I think I always say I think we had mentioned it earlier. This is not just for development. Gemini CLI can be used for anybody. And so let's do an example going back to my cheat sheet. Um the first prompt that I'm going to be pasting in you know a lot of people use gemini.g Google.com. They kind of see it like a chat interface. Gemini CLI is also a chat interface. It might not have the same look and feel to it but it has that same ability. So, what we the prompt that I'm going to do is that we are planning a birthday party and we want to figure out what we want to get for our friend. And what I want it to do is to find the highest rated or the most popular one of a noise cancelling headphones, a botanical theme building block set, and an instant film camera. And then once you identify that go and search for the prices and do the comparison for me. So I am going to copy my prompt and paste it into here. And you will see that it is going to start doing the search for me. And typically, you know, when you have to do these things, it takes you quite some time because first you're going to have to go search what's the best one for the headphones. You'll probably get all sorts of pages. is you got to click multiple ones because you can't just trust the first one that you're going to find, right? You want to make sure that this is the one that's repeated and then you got to go and search the next one and so on. So, what you'll notice is that Gemini CLI can actually do Google searches in parallel and do it all at one time. So, rather than being sequential of searching one after the other, uh it can do it all at once. And it looks like it's actually searching for multiple years this time. Um, and once it found it, it looks like this Sony is probably seems to be the best headphones. It goes now and does continues to do the Google search. So, this definitely saves you time and although we are watching it on the screen, you can go get a cup of coffee or you can go and switch to another screen and start doing your other things that you need to do. So you can run a lot of these things in the background, which makes it nice because now rather than sitting there on your screen and doing all of this, you're saving your time. And this might be just a fun little example that we're using. But think about it from a job ro perspective. If we are trying to do some marketing, we want to do some marketing research, we can have it do that searching for us. We want to know what's the current technology that's the thing right now. And because I know a lot of people think about, oh, the data that's trained, that's all it knows. But because we do have access to Google search, it can look for the latest and greatest. >> Yeah. I Well, first of all, I want to be this friend, headphones, and instant film. Um, no, but this is awesome. I feel like the parallelism is key. And, uh, I guess you could do this in a Gemini chat, but the important thing here is that you can add a lot of different actions at the same time. walk away and and we're about to see like even more capabilities you can do with with Gemini CLA. >> Yeah. So, one of the things with chat and I know that at least for gemini.google.com you can click the buttons of like copy and everything. Um but here because it is in terminal and on your laptop then you can actually save things to your file system. So I right now I see this comparison. and it's saying that the Sony was the best headphones and some uh bouquet of roses and this instant mini and so it's you're like great and then but let's just actually save this for later because I'm too busy doing something else, right? So I can say save this report to a markdown file and so it can actually save it to my file system. So that's one of the things that's nice because definitely when you're on gemini.google.com google.com. You cannot do that and save it directly to your system. Um, one thing that I had mentioned earlier is that it's not going to just go in and do whatever you want unless you gave it permission to. But here, if you notice, it's actually asking me if it has permission to write this to the to my file system. Um, and I can allow it and saying for this one particular time, go ahead. Or the next option is for this whole session that I'm doing right now. Go ahead. Or um I can actually modify this file on my external editor if I have that set up. Or I say no, I don't want you to do what I did and you can say no. But for the time being, I am going to allow this for the session. So basically this whole session I'm going to say you can write to my file system. So here I'm going >> I think that's such an important point there because I think a lot of developers or a lot of folks when they first use these tools are like hold on I'm just going to give an LLM full access to my file system and that permission system I think is so important there. Could you just speak to that and and like give some uh some guidance to folks who are are concerned about you know letting uh letting an LM have access to their file system. Yeah, I think that for me I mean we do have something called yellow mode and as the name says you are giving it full permissions and some people are brave and like to go do that. I personally like to see what it is doing and the files it is touching um to make sure that it is not accessing stuff that I don't want it to as access. But what's nice is where I launched it, which for me it's the projects folder. Where I launched it, that is the access that it has. And so it doesn't have access to other things unless you said explicitly gave it that access. So I for me personally, I'm just like, well, I just make sure that this stuff here in my projects folder is good. We do also have uh checkpointing so that you can have a checkpoint and always go roll back to it. Um which will give you a little bit more security of at least peace of mind that I can roll back and um when at least for devs most of their stuff is on some sort of repo that you can always have it where you're doing commits at certain points and giving you that ability to roll back. But yes, it does ask you what you want to do. Do you give it permission and um you know it gives you that giving you that human loop in control of what's going on. >> Nice. And this actually helps answer one of the questions from Dev 2 from Hammer Hammer. I'm not sure if I'm saying that right, but what are the security principles behind building out a CLI like this? So it sounds like we give a lot of granular control throughout the entire experience to make sure that you can have checks and balances, roll back, start over, just Yeah. >> Yeah. just to make sure and if you want to double check that you know this is an open-source application and where I had showed the GitHub that is the source for this Gemini CLI tool and you can see exactly what it's doing. So if you are really unsure you can definitely go check out the code to see yeah we do have one more question about just access to local files. Um, Ryu Ker Kurama I think from YouTube is asking, "Can this CLI work with local files or be capable to interact with your local network too?" >> Yes. Um, it can. And so right now I saved it over to it's called birthday gift deals. And if I open up my Visual Studio, you see that I was working under this projects folder. And you can see that it saved that file to here. Um and in in terms of like working with the network, yeah, you can also do that. Um I'm not going to go into it here, but I had done and you can search for this on YouTube where I have done a session regarding like network engineering and we go in and go and access different network and network servers and everything. So you do have access to that. >> Okay, very cool. So here we have that and we're saving it to a file. But most people like all of us for work, we do things on Google Docs and Google Sheets. By default, Gemini CLI does not have access to that. We never gave it any permissions or anything. But what's nice about a lot of these agentic tools, depending on which one, um, you can actually connect them and extend their capabilities and connect them with MCPs and extensions. And this allows you to kind of widen the capabilities of the default tools that are available for Gemini CLI. >> And we we hear MCP a lot. Can you just for anyone who might not understand what it is? What is MCP? What are extensions? Yeah. So MCP is model context protocol. This is an is basically a spec that was kind of you know coined I think by anthropic. And so basically for all of these AI agents, AI tools that want to open the ability to connect to external tools whether that is you know a database, other services, things on the cloud, even your local file system. um the ability for them to communicate with these other tools and all these tools whether it's REST API or just you know CRUD operations they all are different but h so the question is always how can this AI agent know how to communicate with it back then we would just go and create an integration to every single one so every AI tool would have to go do this integration well with MCP it makes it more universal iversal so that this one MCP tool hopefully created by the actual service itself um can be plugged in to multiple AI agents and tools. This is kind of think about it as I think a lot of people say like a power adapter. Um not for all different countries, but let's say that it's a US power adapter. the US power plug goes into it and then you have the adapter to go and plug in into the different other countries and being able to have oneway communication and then just be able to communicate to everything else. So that is the MCP and it is just allows you to just have bidirectional communication whether that is getting information from something or making a change updates to to whatever that service is. What's the difference with extensions is Gemini CLI extensions is specific to Gemini CLI. I call it a more powerful MCP because you can group multiple MCP servers together and you also can create custom commands. So, as you saw, I had that copy that very large prompt. Let's say that this is something that I use every single day, right? So if I create a custom command, I can just make a slash command and not have to just copy and paste that all the time. But that also allows you we we know with all these AI tools giving it enough information and saying specifically sometimes you say I am an engineer. I am trying to do this and just that helps that whole prompt engineering helps you get better results. And so this way you don't actually have to type it over and over or I can share these custom commands with other people. So custom commands is wrapped in with this as part of the extension to give it better results. How does it can it use it better? As well as context. So give providing context. So all of these things grouped together allows the Gemini CLI to use these tools in a more efficient and faster way trying to really do what you asked it to do. >> Nice. And you're going to show us some of the extensions, right? >> I will. >> Nice. >> Yeah, for sure. And so one of the things is I kind of mentioned um context, right? So a lot of people are like, "What is context?" And honestly, that's kind of the question I asked too when I first started because most people will just open up the laptop or they'll install it and then they'll just start using it. But context is really giving the agent information of what it needs almost like we talk about the LLMs getting the train data, but like you kind of have to train your agent, too. And the example that I always like to use is let's say that you got a new personal assistant um and you're like, "Get me a cup of coffee. They're not going to know what type of how you like your coffee until you tell it how you like your coffee. And then once you tell it how you like your coffee, then they're going to always know how you like it and they'll just be able to give it to you in that way. And so that's the same thing with Gemini CLI. and you can go and give it some context, giving it information of what your expectations are and how you want things to be done because it is basically personalizing your personal assistant. And let me go and show you some examples of a Gemini some context. So of course when you're asking the question you're getting the response that is context that's some information that is starting to remember but also by default you can go and create this gemini.mmarkdown file and give it information. So this is an example for a developer where I'm telling it what is in the tech stack, what are my prerequisites, how do I build them, what's the project structure so that it knows this information. And then here's an example of somebody who's trying to make content saying that I want it to use these certain tools. Here's a voice guide. I want you to have this sort of tone when I you are generating some of the text um and only use American English. you do make sure you're checking grammar. So this is things that you're telling it so that it won't do something you didn't want and then have to correct it afterwards. And of course everything tokens count, right? So this kind of helps you save tokens. Um on Gemini CLI, you can actually see what is in your context by looking at the memory. So you can say show and it'll show everything that's available. And I think that this one is just something that I had saved from the my workspace one which we will show in a little bit. So >> when when does Gemini CLI use that Gemini markdown file? >> So it when it loads it's going to load the markdown file and what I had shown it's saying that this is what's in my memory and you can definitely add it. Um if you see here there are lots of options. You can also list out where the paths are, so which files actually got loaded. You can add the context to memory on the fly or refresh it. So let's say that you modified the file outside of this um window, you can go in and refresh it and say this is what what I'm going to be using. So it loads it from the beginning and then it continues to be in in the context. >> And and then does that Gemini markdown file work across all of my projects or just in this one particular project? So it depends on where you put it. You can put it into your global which is in thegemini folder in like your most highlevel dot um Gemini folder or you can put it project specific. So it really depends on where you put it. So let's say that you have a folder that is just your development stuff then you can put it there. If you have stuff for creating content you can have it on over there. >> Amazing. I love the Gemini markdown file because it's like this one of the secret weapons you can use to really like make this customized for your experience. But I could see some people looking at the markdown file and thinking, "Wow, this is really detailed. I don't know if I'm really equipped to like write out everything um to make it the way that I want." And I think there's a trick you can do where you can use Gemini to analyze your project file structure and kind of tell you what it understands. So, right, I don't really have much in this particular folder, but let's say that this is a code um code base that has anything. Actually, it doesn't have to be for code, but whatever you have in it. So, if you go slashnit, you can analyze this. It's going to automatically go in and look at all your files and then it's going to generate you a gemini.mmarkdown file based on what you have inside of this folder. >> Yeah, another time saver. >> Another time saver. and maybe it doesn't do exactly what you want, but at least it gave you a base and then you can go in and add it. What a lot of people don't realize is you can actually go and actually have Gemini the CLI the agent write to that file. So a lot of times something would happen and say, "Oh, it wasn't quite right. Can you make sure to put a note in gem in my gemini markdown so this doesn't happen next time?" And you can actually have it right to the file itself. >> Amazing. >> Cool. >> Yeah. So, let's go back of what I was talking about earlier of being able to save things to to the Google Docs. Um, and we could do that by extending it using a a Gemini CLI extension. Back to the Gemini CLI web page, you'll notice that there is an extensions and an extensions gallery. You will see that we have over 300 or well exactly 364 extensions. and you can search and everything. Some of these are built by the companies themselves. Some of them are Google built. Some of them are communitybuilt and we have some awesome communitybuilt extensions as well. What we are going to be using is the workspace extension and that is this one. So when I click it, it will actually give me the the command to be able to do it and I can click that to copy and go back to my terminal. So unfortunately it isn't done directly in Gemini CLI. I have to go and exit. So I can exit by doing /exit. I'm back into my terminal. And all I have to do is paste it and it is going to install that for me. Um looks like I' I have it installed already. And so if I go back and launch Gemini now, I am going to go back in there. Let me clear it to make it easier to read. And if I click do slashextensions, I can see a list of what's installed. And if I do SLMCP, it is going to tell me all the tools that are available for this particular extension. Um because I did I forgot to go and uninstall this extension. What would happen when you first go launch is that it is going to launch that OOTH and be a you need to give it permission to be able to access your uh Google workspace. So just like you would see when you do like SSO, it launches that and says like log in your your G uh Google account. That's how it would be. Um and so you do need to give it permissions and you can select which one. So you see that there's lots of them. Some people might be like, I only want it to have access to my docs. And you can choose that which one you want. So here if you if I said you notice that now that whole report that I had done earlier is now gone. But what's nice is we do have a slashres and you can choose all of the different chat histories that you've had and I can click and say I wanted to resume it. So remember we had last talked about um what were we talking oh context is that was context and here you can see that now I resumed my whole history and I can start from where I was >> nice >> so let's say and say the um birthday report in a nicely formatted Google doc. And so if I already had the extension installed, which I guess I accidentally did, um I could have just directly said to save it into the Google doc. We didn't have to show it on the screen and show it into the markdown and um go through all of that process. So it goes and I'm saying, remember we said that it always asks me is asking me, do I want to give it permissions? I'm going to give it permissions to do all the server tools in this particular session. Um, >> not quite YOLO, but >> no, not quite YOLO. It's just saying that for this particular MCP or extension, I'm going to give it permissions. And so now it gave me the doc. And let's open it up. And it gave me that. And the links are clickable. And it just makes it nice. So like I said, normally if you've already had the extension installed, you could just go straight to this. And it gives you that seamless experience because now you don't have to go in and copy paste it into a doc or anything. It's go shoot straight into this. >> It's amazing. >> So now that we have this um let's see what what we can do is we want to go into some vibe coding. >> Yes, let's do it. >> All right. So let's do a very simple vibe coding. Um, normally it as a dev a lot of times you have to go create some design spec and I created a design spec with the tic-tac-toe game and I put it on a Google doc. You don't have to put it on Google doc. You can type it all in as your prompt. You can put some in your context of the Gemini. Markdown, but I know that a lot of times people will share it amongst their team and they collaborate. So, why not just have it on the dock and we can pull all of these specs directly from this doc into Gemini CLI and be able to do some vibe coding. Um, here let me go back to here. I also created you know how we will go and create some mockup of how the UI we want to look like. So, I have an image of the mockup of this tic-tac-toe game that I want. May I ask where did you get that image from? >> Where did I get this image from? So technically a lot of the times you will have some UX designer and do it. I actually went in and used AI studio and built this first just because I did not have the I don't have a UX designer to go and design this out for me. Um but in most typical ways like you will have your UX designer do it. Most of the time they'll give you a Figma and then you can go and grab these images. >> I mean this is amazing for someone who's working independently or someone who doesn't you know you can go have AI create the mockups for you and then feed the mockups into a model to create the software. It's incredible. >> And we're talking about vibe coding. So for those like again like for non-developer use cases and you just want to build something like this is a great way to use AI to help you. >> Yeah. And for non-developers, you might not think like, oh, I want to build like code, but let's say you want a dashboard. >> Yeah, >> you you you deal with a lot of different numbers. You deal with CSV files. You want to see these charts. You can say, go and build me a dashboard. You might not think that you're vibe coding, but you know, code something to be able to do it. And you really don't need to have true understanding of what's going on for that to happen. So it can help a lot of non-devs because they can go in and build things that might be useful for their everyday life. >> Exactly. >> Amazing. >> So here, let's go in. I um so this URL is the URL of that Google doc. I already pre-copied it and I am going to copy this prompt in to my terminal. And then I want to be able to provide that you Oops. Let me go and go back to my terminal. I am on full screen. So I'm going to go in out really quick because I do need to go in and drop in the file that I wanted. So here's that same tic-tac-toe image and I am going to drag. If you notice, I drag and dropped straight into it. I need a space before that UI. Oh, what the heck am I doing? Um, I drag and drop the file straight into it. So, as you notice, you can do um multimodal being able to go in with text and um file input. So, not necessarily only images, but all other ones. Um, make sure my front end looks exactly like the mockup. So, here we go. Um, it is reading what it has inside of the folder right now and it's really just trying to like think, right? That's the first thing people typically do. Let me see what's in my folder. I personally don't have any much in here. Then, as you notice, because I gave it permission earlier, you know how I said give permission for this whole uh extension, it went in and got grabbed the dock. If I did not give it at if I said just this time, it would have asked me, prompted me whether or not I want to give that permission. So, it read the whole doc and it created this plan that this is what they're going to do. Now, it's asking me if I give it permission to start creating this. If I said no, I don't like your plan, I always have that option of choosing number three and saying no. and then we can work with with Gemini CLI the agent and kind of fine-tune it exactly how I want. So I am going to allow it for this session. And notice that it's actually asking me some question and it's kind of just sitting here waiting. What's nice with Gemini CLI is that it does have interactive shell. Interactive shell is taking what you would normally do in your terminal, what everybody's scared of, and actually having it within Gemini CLI. But if it's asking me a question, it's waiting for me to answer. Um, it does have the ability to go in. So, if you notice over here, it says tab to focus. So, if I click the tab, now I'm within this right here. I am not going to use this. I don't want to start it now. So, I'm going to say no. So, now it's going through. So, what's nice is you're going to be able to interact directly within Gemini CLI with the shell and you can go in and out of it just by pushing tab. >> Nice. So, >> so you don't have to exit fully from Gemini CLI to be able to do this. >> Yeah. And in right for this particular situation, it pro it actually tried to do it for me and it prompted, but I do have the ability to do it myself. When you're in the prompt, if you click exclamation point, you can type in whichever one you want, like whatever shell command you want. >> Um, so I'm going to allow it. It is reading Oh, it's reading my birthday list. I wonder if it's going to use that as a context and somehow we're going to see some birthday information on it. So, it's going through and you kind of notice like all the steps that it's doing. You know, I'm not doing a single line of code right now. It's just going through and understanding what it's doing. It's apparently verifying some um some installation. And again, we can just let this go if we wanted to. Although, we do have some prompting. And so that's why some people do choose saying for now I'm going to go in and let it do everything at once. Um and but when that's why some people do choose to go into like yolo mode just because they want to go and step away. And if you do this in a container and some like making sure that your your code is just within a certain boundary then it's perfectly okay because then what's the worst that can happen if you are in some little independent project folder. Um, so it's going through and implementing it and you see that it really looks like your IDE and it's telling it what files are being added, what or what lines are being added, what are what's being removed and it's probably actually most since it's creating these files itself, it's probably running into some issues. And what's nice is like it will correct itself. So when it sees that, oh wait, I did the wrong thing, I'm going to go in and correct itself. So sometimes you might see it turn and if you really think about it as a developer I don't think we write the perfect code the very first time. So we can't really expect a lot of these LLMs to have the perfect code the very first time as well. So I think the end thing is just making sure that it does recognize that something is not going right and going to go and fix it. >> Unless you're Greg. >> Unless you're >> absolutely I mean this is incredible. Like can like can you imagine go back three years ago and say hey we're going to have AI that can like write code find its mistakes and then iterate on it like >> like a human does right I mean it's just it's magical >> it is and a lot of you know obviously we look at what the community says and everything and a lot of times and not specifically Gemini CLI in particular but with AI tools being able to develop I think we need to pick and choose what we use it for right you cannot if there's something that you would have sat that there and you have to really think and churn and churn and churn for a very long time. How can you expect an LLM to be able to do that as well? Now, if there's something that you know how to do and very quickly, then okay, if there's a lot, it's all based off of trained data. So, if there's a lot of data out there that it trained on, then it will probably do a pretty good job. a lot of the basic things of doing REST APIs, it's going to be able to do these things as long as that documentation for the REST API is there and in your context you can feed it. And I'm just kind of allowing everything to go on as we are talking. Um, looks like it's probably finding some errors and this is a live demo, so I have no idea what it is going to generate at the end. Hopefully, it'll do a good job. Um, but it does take a little bit of time. We can't expect it to just be instant. um with all of this stuff going on. But yeah, I think a lot of times I like to highlight that this is ultimately something I I use it a lot for proof of concepts, making sure that this is going to work because a lot of times your proof of concept, they'll be like, can you just get that done in like a couple days? >> Well, I'm not sure. I need to go and research on what technology I should use. So, it gives a great base on how you can get started. And a lot of times even like for this demo I asked Gemini CLI what to what I wanted it to do and you can ask it many of these questions to help you with your daily tasks. So looks like it is done. Um it tells me how I can run it. Technically I can run it here but I am going to open a new terminal window and follow what it had said. And so here it launched it. And let's take a look at what it produced. Let's see. We have no idea. >> So, look at that. Wow. >> So, that actually looks really close. Let's go in and kind of see >> what it looked like. Oh, wow. That did a great job. >> Um, and you can play tic-tac-toe >> on this. Let's make make it >> Oh, I guess I should have. Um, here you go. It worked. And it's a working um working app. >> Incredible. >> That's awesome. And it it was pretty quick. I mean, you did have to interact with it at certain points throughout the process, but for the most part, if you chose to walk away, you could grab a cup of coffee, be able to come back and see that prototype right away. >> Yeah. Or you can always have it where it's like in the background while you're doing other things. And I think a lot of these tools is the way that I look at a lot of these tools is how can I make my daily tasks >> faster? Yeah. so that I can do all the other things. You know, we all have way too much stuff stuff to do. There are lists are is always long no matter what type of role you have. And so if I can have it summarize information, I know that when we've talked about summarizing since it's you we have the workspace extension, summarize all of my chats, summarize my calendar, tell me when I am free, all of that stuff. It might not be coding related, but it can help you rather than you needing to sit through all of that. So now maybe you gained 30 minutes, an hour, and then you gain another 30 minutes, hour later. And so just combining all of that, that just helps us >> in our daily lives. >> Well, and and one thing I think is important about tools like this, like I think any of us could build a tic-tac-toe app, right? But it it might it would probably take a couple hours of focus time, right, to to code. And a lot of our days are so so many meetings and so many interruptions and yes like it might run in the background but this allows anyone to build apps without that focused time right and you can now develop software on an interrupted schedule which I think is really really powerful. Yeah. And going back to what I said, a lot of a lot of different job roles build dashboards, right? So, can you imagine all I we were having a conversation while I was literally clicking go ahead, go ahead, go ahead. And it just kind of built it for me. And ultimately, let's say that this was not what I wanted and say, oh, or maybe it did mean did a great job of building exactly, but oh, I changed my mind. I want this something else. you can go back over to the, you know, to Gemini CLI and be like, "Okay, just kidding. I I want this to be and it'll make the change for you." Um, let's say that it did not work. Um, and these are live demos. So, that has happened to me before. I think that happened when we were doing some other demo. And what's nice is I can say, "Hey, it did not start up and ask Gemini CLI, can you debug this for me?" Mhm. >> That is usually the most frustrating part where you try to load up your web app and it's just like not found, >> right? >> And it's able to go and debug it for you, put in debug statements and actually help you go back and get it fixed. So even though it might not be the first time around, we got lucky and it did actually work. Actually, I wouldn't say lucky. I think that sometimes there are scenarios where it won't spit out the right code or the right thing and but you can go back and it can help you fix this probl
Original Description
Gemini CLI installation, execution, and deployment → https://goo.gle/Install-Gemini-CLI
Gemini CLI: Code & create with an open source agent course → https://goo.gle/GeminiCLI
Gemini CLI: License, terms of service, and privacy notices → https://goo.gle/Gemini-CLI-TOS
Sign up for GEAR (Gemini Enterprise Agent Ready) → https://goo.gle/GEAR
For our first ever episode of Google Cloud Live, we’re skipping the console and showing you how to manage your entire AI workflow from the command line. Join hosts Stephanie Wong and Greg Baugues, along with special guest Denise Kwan, for Getting Started with Gemini CLI.
Join live and learn how to:
- Set up your terminal for AI first development
- Manage prompts and deployments without leaving your session
- Real time debugging of CLI extensions
This livestream originally aired on Tuesday, February 10, 2026 at 9:00 A.M. PST / 12:00 P.M. EST.
Timestamps:
0:00 - Countdown
1:30 - Intro
6:07 - What exactly is CLI?
7:40 - Installing Gemini CLI
11:38 - Viewer question
14:01 - Using a Gemini API key
16:13 - Can developers use two sessions with different auths?
17:02 - Choosing different models in Gemini CLI
18:46 - Using natural language instead of command line text
19:24 - [Prompt] Planning a birthday party and gift ideas
24:08 - Does the LLM have full access to my file system?
28:14 - What are MCPs?
31:28 - What is context?
35:20 - Analyzing file structures with Gemini in the CLI
36:49 - What are extensions for Gemini CLI
41:47 - Building a tic tac toe web app
54:46 - Viewer question about long debugging sessions
58:30 - Use cases for Gemini CLI
1:00:00 - Wrap up & CTA
#Gemini #GeminiCLI
Speakers: Stephanie Wong, Greg Baugues, Denise Kwan
Products Mentioned:, Gemini, Gemini CLI
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Google Cloud Tech · Google Cloud Tech · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
I’m going for it #GoogleCloudCertified
Google Cloud Tech
I had to get #GoogleCloudCertified
Google Cloud Tech
Be better overall at what you do #GoogleCloudCertified
Google Cloud Tech
Cloud Monitoring on our radar #Analysis #Uptime
Google Cloud Tech
Introduction to Generative AI Studio
Google Cloud Tech
How to use Github Actions with Google's Workload Identity Federation
Google Cloud Tech
Introduction to Responsible AI
Google Cloud Tech
Networking updates and CDMC-certified architecture
Google Cloud Tech
Create and use a Cloud Storage bucket
Google Cloud Tech
How to digitize text from documents
Google Cloud Tech
Faster analytical queries with AlloyDB
Google Cloud Tech
Next ‘23 sessions and FaaS Wave
Google Cloud Tech
Introduction to Assured Open Source Software
Google Cloud Tech
BigQuery Cost Optimization: Storage
Google Cloud Tech
BigQuery Cost Optimization: Compute
Google Cloud Tech
BigQuery Cost Optimization: Select Queries
Google Cloud Tech
Remote Field Equipment Management with Manufacturing Data Engine
Google Cloud Tech
Supercharging your applications with Cloud SQL Enterprise Plus
Google Cloud Tech
Vector Support on our radar #GenAI
Google Cloud Tech
Architecting a blockchain startup with Google Cloud
Google Cloud Tech
Kubernetes and multitasking updates!
Google Cloud Tech
GKE: Using Kubernetes Events
Google Cloud Tech
How to configure firewall rules for Cloud Composer
Google Cloud Tech
Vertex AI Embeddings API + Matching Engine: Grounding LLMs made easy
Google Cloud Tech
Geospatial analytics on our radar #EarthEngine #BigQuery
Google Cloud Tech
Ensuring requests are set in Kubernetes
Google Cloud Tech
Cloud Next 2023, Google research program, and more!
Google Cloud Tech
How to migrate projects between organizations with Resource Manager
Google Cloud Tech
How to run #MySQL in Google Cloud
Google Cloud Tech
#GenerativeAI for enterprises and #Next2023
Google Cloud Tech
How Google Photos scales to store 4 trillion photos and videos
Google Cloud Tech
Google Cross-Cloud Interconnect (Demo 2)
Google Cloud Tech
GKE Cost Optimization Golden Signals: Introduction
Google Cloud Tech
GKE Cost Optimization Golden Signals: Workload Rightsizing
Google Cloud Tech
GKE Load Balancing: Overview
Google Cloud Tech
GKE Load Balancing: Best Practices
Google Cloud Tech
Disaster Recovery in GKE
Google Cloud Tech
How to configure IP masquerade agent in GKE Standard clusters
Google Cloud Tech
Enable and use GKE Control plane logs
Google Cloud Tech
Compliance in Australia with Assured Workloads
Google Cloud Tech
Creating budgets and budget alerts in Google Cloud #FinOps
Google Cloud Tech
Cloud SQL Enterprise Plus on our radar #mySQL
Google Cloud Tech
What's Next for Google Cloud?
Google Cloud Tech
How Loveholidays scaled with Contact Center AI
Google Cloud Tech
What is fleet team management in GKE?
Google Cloud Tech
Troubleshoot VPC Network Peering
Google Cloud Tech
Introduction to DocAI and Contact Center AI
Google Cloud Tech
Cloud Run Direct VPC egress explained
Google Cloud Tech
Database deployment options in GKE
Google Cloud Tech
Analyze cloud billing data with #BigQuery
Google Cloud Tech
Tips to becoming a world-class Prompt Engineer
Google Cloud Tech
Serverless is simple. Do I need CI/CD?
Google Cloud Tech
Accelerating model deployment with MLOps
Google Cloud Tech
How Hawaii's Department of Human Services scaled with CCAI
Google Cloud Tech
Pricing API on our #Radar
Google Cloud Tech
How Recommendations AI for Media can boost customer retention
Google Cloud Tech
Troubleshooting: Node Not Ready Status
Google Cloud Tech
One weekend until Cloud Next 2023!
Google Cloud Tech
#GoogleCloudNext starts tomorrow!
Google Cloud Tech
#GoogleCloudNext will be demand!
Google Cloud Tech
More on: LLM Foundations
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
Building LSTMs with PyTorch and Lightning AI Part 7: Resuming Training with Checkpoints
Dev.to · Rijul Rajesh
How AI Learns with Less Labeled Data
Medium · AI
Comparing Sarvam-30B and Qwen2.5–14B on Spider Text-to-SQL: An Active-Parameter Perspective
Medium · LLM
Claude Sonnet 5 closes the gap to Opus without the Opus bill
Medium · LLM
Chapters (19)
Countdown
1:30
Intro
6:07
What exactly is CLI?
7:40
Installing Gemini CLI
11:38
Viewer question
14:01
Using a Gemini API key
16:13
Can developers use two sessions with different auths?
17:02
Choosing different models in Gemini CLI
18:46
Using natural language instead of command line text
19:24
[Prompt] Planning a birthday party and gift ideas
24:08
Does the LLM have full access to my file system?
28:14
What are MCPs?
31:28
What is context?
35:20
Analyzing file structures with Gemini in the CLI
36:49
What are extensions for Gemini CLI
41:47
Building a tic tac toe web app
54:46
Viewer question about long debugging sessions
58:30
Use cases for Gemini CLI
1:00:00
Wrap up & CTA
🎓
Tutor Explanation
DeepCamp AI