My biggest motivation for studying and using AI tools has been to find ways to save time and boost productivity across as many areas of life as possible. I’ve been diving deep into this topic lately, and these new agentic coding tools have really caught my attention. That’s what inspired this video/post.

https://www.youtube.com/watch?v=FNBUHcFFZwk&t=30s&embedable=true

Initially, the main difference these agents have compared to what we already use integrated into our IDEs is that they possess a deep understanding not only of context but of the entire codebase. It’s already amazing to see AI predicting the rest of our code as we confirm by pressing TAB. Agents, however, provide far more powerful capabilities—enabling the creation of new functionalities and the inclusion of features that were previously impossible at this level.

Gemini CLI is a programming agent, also known as an agentic programming tool. It allows developers to delegate programming tasks to the agent, accelerating delivery and improving productivity.

Given how quickly AI evolves, one year feels like a decade. The speed at which these tools are advancing is astonishing—so much so that what I’m covering here will likely be outdated by the time you read this. I began testing the Gemini CLI at version 0.1.22, and just days later, while writing this post, it had already updated to 0.6.1.

In the same category as the Gemini CLI, we have OpenAI Codex (currently using GPT-5 Codex) and Claude Code, both of which are paid. The free version of Gemini CLI, which I’ll demonstrate below, allows up to 60 requests per minute and 1,000 requests per day through the Gemini 2.5 Pro model—and that’s already plenty, at least for my use. Another free option is Qwen Code, adapted from Gemini CLI. There’s also Google Jules, an asynchronous coding assistant still in its experimental phase. Perhaps at some point, it will converge with Gemini CLI.

Gemini CLI Installation and Initial Execution

$ npm install -g @google/gemini-cli

To execute:

$ gemini

You have the option to log in with your Google account (free) or use an Enterprise access API (paid). Then you type commands to converse similarly to the conversational AI interface:

To end the session:

/quit

Angular Application Example

In the video above, I demonstrate a frontend application that I typically use to study and test new Angular features, which is my primary work stack at the moment. It’s a simple system for registering games, platforms, and genres. As a side note, it communicates with a backend developed in Java using Spring Boot, which connects to a small SQLite database.

Using the Gemini CLI

We’ll start by replicating the implementation of a basic CRUD on the frontend. It’s something an experienced developer familiar with the application could complete in under an hour — but the Gemini CLI handles it in just a few minutes. Next, we’ll tackle an Angular 16-to-20 migration — a process that typically takes a considerable amount of time depending on the project’s complexity, yet was resolved here within minutes. Finally, we’ll build a dashboard displaying the record count on the main page.

These are very common scenarios we encounter in our daily work.

P.S. I even requested a report and a graph, but they didn’t work out — though I only tried once. In fairness to the Gemini CLI, I should’ve had the proper backend endpoints set up beforehand, which I didn’t do since I didn’t want to extend the video. Another thing that worked impressively well was the migration to the new Angular if/else structure, which I also didn’t end up showing. Updating this code in a large project would save a tremendous amount of time.

"Human in the loop" always

What many already know: you can’t trust everything AI does.

Some of the refactorings I ask AI tools to perform—whether or not they’re integrated into the IDE—end up completely breaking the logic. And I don’t think agents will be able to handle these more complex cases anytime soon. A reality where you give an order and the system delivers exactly what you want simply doesn’t exist. At least not yet.

I tried running the same commands I sent to the Gemini CLI from inside GitHub Copilot Chat in VS Code, and it got lost most of the time. It was clear that the Gemini CLI proved far more reliable—almost always executing my request, or at least achieving 80–90% of what I expected.

In the end, a minimally experienced developer will always be necessary. There will still be adjustments to make, technical debt to manage, and code that must be reviewed. AI still stumbles at several points. Hallucinations and inaccuracies happen, but even so, the productivity gain it offers—especially during that initial “boost”—is enormous.

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 watching the LLM do the whole thing 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 on the human and 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. Without finding ways to embed the learning process into our use of AI tools, there’s a risk that junior developers will never evolve and remain 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.

Conclusion: AI is not for replacing, but for empowering

As young people say, I might be a little “emotional.” My daughter even jokes that I’ve become the “AI-crazy guy”… lol. But after more than 25 years in the profession, I see this moment as a true watershed. The potential here is enormous—and if used wisely, it could revolutionize how we develop software.

My example application is very simple, but imagine what this will be capable of in just one or two years, given how quickly these tools are evolving. It’s impressive to see what can already be done, even though we’re still in their early versions.

Productivity and time savings will advance dramatically. That’s what I want most for myself—and what companies also want for their teams.

From everything I’ve observed, I can say 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 2024 Nobel laureate—spoke about programmers worried about their jobs:
“For the next era, for the next ten 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 and adequate.”