O Gemini CLI, com sua recente adição de comandos customizados e a capacidade de interagir com o shell, se tornou uma ferramenta indispensável no meu dia a dia. Neste post, vou mostrar como você pode usar o Gemini CLI, tanto com seus comandos internos quanto com scripts Bash, para automatizar algumas das tarefas mais comuns e liberar seu tempo para desafios mais interessantes.
Comando personalizado para analisar e explicar o código
Frequentemente encontra arquivos Python com funções complexas ou não documentadas. É necessário investir um tempo lendo manualmente o código para entender sua finalidade, parâmetros e valores de retorno antes de poder usá-lo ou modificá-lo com segurança.
Podemos criar um comando Gemini CLI reutilizável que possa analisar qualquer arquivo Python. Este comando deve gerar uma explicação clara e bem estruturada de cada função dentro daquele arquivo e fornecer uma maneira fácil de salvar essa análise para referência futura.
1.Criaremos um comando global com namespace chamado /py:explain
dentro do diretório .gemini/commands
. Isso permitirá que você o execute em qualquer diretório do projeto.
mkdir -p ~/.gemini/commands/py
touch ~/.gemini/commands/py/explain.toml
2.Agora, abra o arquivo explain.toml
e adicione o seguinte prompt. Este prompt instrui o Gemini a atuar como um redator técnico especialista e fornece um formato estruturado para a saída.
# ~/.gemini/commands/py/explain.toml
description = "Analyzes a Python file and generates a detailed explanation of each function."
prompt = """
You are an expert Python programmer and technical writer, skilled at creating clear and concise documentation.
Please analyze the following Python code, which I am providing from the file `{{args}}`:
!{cat {{args}}}
For each function in this file, generate a detailed explanation in Markdown format. Follow this structure precisely for every function:
function_name()
Purpose: A single, clear sentence explaining what the function does.
Parameters:
param_name (type): Description of the parameter.
Returns:
(type): Description of what the function returns.
Example Usage:
Python
# A simple, self-contained code snippet showing how to use the function.
Notes: Mention any important details, potential edge cases, or dependencies.
"""
Como funciona:
-
description
: Fornece o texto útil que você vê no menu de ajuda do Gemini CLI.
prompt
: Este é o conjunto de instruções detalhadas para o modelo.!{cat {{args}}}
: Esta é a parte principal. Ele executa o comando shellcat
no caminho do arquivo que você fornecer ({{args}}
), injetando todo o conteúdo do arquivo diretamente no prompt para análise.
Agora você pode usar seu novo comando de dentro do Gemini CLI. Para salvar a saída diretamente em um arquivo, você pode executar gemini
de forma não interativa no seu terminal e usar o redirecionamento padrão do shell.
Digamos que você queira entender um arquivo localizado em src/data_processing.py
.
A interação com gemini cli
pode ser feita através também através de scripts (bash). Aqui tem um exemplo para criar commits: https://github.com/richardson-souza/gemini-cli-automations/blob/main/.gemini/commands/git/git-atomic-commit.md
Top comments (0)