DEV Community

Windson Mateus
Windson Mateus

Posted on

Gemini CLI: The Future of Programming and Reflections on the Impacts of AI

My biggest motivation in studying and using AI tools has been to seek gains in time/productivity, in the most varied possible areas of life. I've been studying a lot about this lately. And these agentic coding tools have been really catching my attention. Hence came the motivation for this video/post.

Initially, the main difference these agents have compared to what we already use integrated into our IDE is that they have a deep understanding not only of the context but of their entire codebase. It's already fantastic to see the AI guessing the rest of our code as we confirm by hitting TAB. Agents provide much more powerful resources for creating new functionalities and including new features that were not previously possible at this level.

The Gemini CLI is a programming agent, also known as an agentic programming tool. It allows developers to delegate programming activities to this agent, accelerating deliveries and improving productivity.

Following what has been emerging in terms of AI, 1 year seems like 1 decade, as the speed with which these tools are evolving is absurd, so much so that what I am covering will certainly be outdated by the time you see this. I started testing the Gemini CLI at version 0.1.22 and days later when I was writing this post, I saw that it had already updated to 0.6.1.

In the same category as the Gemini CLI, we have Open AI Codex (which currently uses GPT-5 Codex) and Claude Code, both of which are paid. The free version of the Gemini CLI, which we will see in my demonstration, allows for 60 requests per minute and 1000 requests per day, through the Gemini 2.5 Pro model, and that's already a lot, at least for my use. Another free option is Qwen Code, which is adapted from the Gemini CLI. There is also Google Jules, an asynchronous coding assistant, still experimental. Perhaps at some point, it will converge with the Gemini CLI.

Installation and Initial Execution

$ npm install -g @google/gemini-cli
Enter fullscreen mode Exit fullscreen mode

To execute:

$ gemini
Enter fullscreen mode Exit fullscreen mode

There is an option to log in with your Google account (free) or use an Enterprise access API (paid). Then you type commands to converse in a similar way to the conversational AI interface:

  • @ to reference files in the project.
  • ! executes commands (e.g.: ! npm test)

To end the session:

/quit
Enter fullscreen mode Exit fullscreen mode

Example Application in Angular

In the video, I show a frontend application where I usually study and test new Angular features, which is my main work stack currently. It is a simple registration of games, platforms, and genres. As a side note, it communicates with a backend developed in Java — Spring Boot accessing a small Sqlite database.

Demonstration of Gemini CLI usage in the video

We will start by replicating the implementation of a basic CRUD on the frontend side. Something that an experienced developer familiar with the application wouldn't take more than 1 hour to implement, but which the Gemini CLI will do in minutes. Afterwards, an Angular 16 to 20 migration. Something that usually takes a good amount of time depending on the project's complexity, was resolved in a few minutes. Finally: a dashboard with the record count on the initial page.

These are very common situations that we usually work on in our daily lives.

P.S.: I even requested a report and a graph, but it didn't work out, even though I only tried once. In defense of the Gemini CLI in this case, I should have had appropriate endpoints already created on the backend, something I didn't have and didn't want to create to not extend the video too much. Something else that worked very well was the migration to the new Angular if/else structure, which I also ended up not showing. Updating this code in a large project would provide huge time savings.

"Human in the loop" always

What many already know: You can't trust everything AI does.

Certain refactorings I request from AIs, whether or not they are integrated into the IDE, completely break the logic. And I don't think agents will be able to solve even these more complex situations. A reality where you give an order and the system will be ready exactly the way you want does not exist. At least not yet...

I tried to run these commands that I sent to the Gemini CLI from inside the Github Copilot Chat in VS Code and it got lost most of the time. It was noticeable that the Gemini CLI proved to be much more reliable, almost always fulfilling my order or at least implementing 80–90% of what I expected.

In the end, a minimally experienced developer will always be necessary, as there will be adjustments to be made, technical debt to be dealt with, and the code must always be reviewed. AI still gets lost at various points. Hallucinations and inaccuracies can occur, but even so, the gain in productivity tends to be enormous due to the collaboration provided in this initial "boost."

Calm down, it’s not vibe coding!

"Vibe coding" has gotten a bad reputation as if it were about a person sitting down, asking the AI for the application, and it doing it while you have a coffee. But that's not how I understand the concept.

“Vibe coding” has proven to be an incredibly useful tool for prototyping, generating repetitive code (boilerplate), and generally accelerating the workflow. It’s no longer just about writing lines of code, but about defining problems, guiding the AI, verifying the results, and, ultimately, being the guardian of the quality and security of the final product.”

Reflections and human/social impacts

We are now entering a more philosophical area, so to speak. Well, I am not an expert on the subject. I've just been researching and trying to delve deeper into something that seems very revolutionary to me, largely because of the power it can have to change the way we work. But along with this come some very deep reflections.

I understand that this can be frightening for some colleagues in the profession. Whether it's out of fear of losing their job to an AI, or out of resistance to changing the way they have worked their entire lives. Changing old habits is usually difficult.

Sacrifice knowledge for speed: It's good that the defect on line 25 was quickly resolved, but it's even better to find time to understand why.

Sometimes it's inevitable, sometimes you really just need to solve that problem as quickly as possible, but the question remains: If I didn't type anything and let the AI do it for me, how much did I really learn from it? It’s always good to try to learn. This creates a risk of junior developers not evolving and remaining juniors forever.

A developer does not learn by reading a book or watching a YouTube tutorial. They learn by typing. Just as you don't learn to dance, play soccer, or improve your physical condition by watching videos. There are situations where a code will be generated by the AI and only an experienced developer will notice that it is not the best solution. I think it is important to use the facilities that AI has provided us to enhance our learning.

Conclusion: AI is not for replacing, but for empowering

As young people say, I might be a little "emotional," my daughter has even said that I've become the "AI crazy guy"... lol. But I have more than 25 years in the profession, and I consider this moment a watershed. I see enormous potential here, which, if used well, can revolutionize our software development process.

Note that my example application is very simple. Imagine what this will be able to do in 1 or 2 years, given how quickly these tools have been evolving. It's impressive to see what can already be done even though we are still in their initial versions.

Productivity and time savings will evolve significantly. This is what I want most for myself and what companies also want for their staff.

From everything I've been following, I can state that the use of these tools is already a reality in major development projects around the world.

Demis Hassabis, neuroscientist, co-founder of Deepmind, and Nobel laureate in 2024, on programmers worried about their jobs: “For the next era, for the next 10 years, we will have people who embrace these technologies as one, which could lead to superhuman productivity. The best programmers will be even better, perhaps up to 10x better... The best programmers will be able to check if the code produced by the AI is truly good/adequate.”

Top comments (0)