I may be late to the party, but I recently gave the Gemini CLI a try, and have to say I’m bit impressed.
The generous free usage provided by Google makes it an excellent tool for experimenting.
The Goal
I asked it to create a Laravel project with no starter kit, and install the filament-php package.
I gave it the following prompt:
initialize a new laravel project here without any starter-kit, install filament-php package version 3.x, name it gemini-test, make sure laravel installer is up to date, else update first
It created the project without any starter kit option. However, while installing the filament package it tried to install it in the wrong directory twice.
I made an error in the previous step. I will now install the Filament PHP package within the gemini-test directory.
And then again,
I apologize for the repeated error. It seems I’m having trouble with the directory context. I will try a different approach. I will first list the contents of the current directory to re-orient myself, and then proceed with the installation.
It then realized the mistake and tried to fix it,
I am having trouble with relative paths. I need to use absolute paths. I will list the contents of the current working directory, which I know is D:\Projects, to confirm the gemini-test directory exists. Then I will proceed with the installation of FilamentPHP.
I am still facing issues with the directory context. I will try to execute the command by chaining a cd command to ensure it runs within the gemini-test directory. This command will first change the directory to gemini-test and then run the composer command to install Filament PHP.
It then also installed the filament-php panels in the project.
But failed to create user, since it was interactive command.
The make:filament-user command failed because it’s interactive. I will try to find a non-interactive way to create the user. I’ll start by checking the command’s help output for any non-interactive options.
Unfortunately, it got stuck after this.
Cost
The free tier was sufficient for this task. It sent around 11 requests to the server and around 40% of the tokens were served from the cache.
Final thoughts
Overall, it is a powerful tool, offering a compelling alternative to paid services like Claude for those on a budget. While it still has some rough edges, I’m optimistic that Google will address these issues in future updates, making it an even more reliable assistant for developers.