DEV Community

Cover image for Automatize Suas Tarefas Diárias de Programação com Gemini CLI
Richardson
Richardson

Posted on

Automatize Suas Tarefas Diárias de Programação com Gemini CLI

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
Enter fullscreen mode Exit fullscreen mode

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.

"""
Enter fullscreen mode Exit fullscreen mode

Como funciona:

  • description: Fornece o texto útil que você vê no menu de ajuda do Gemini CLI.

Gemini cli screenshot

  • prompt: Este é o conjunto de instruções detalhadas para o modelo.

  • !{cat {{args}}}: Esta é a parte principal. Ele executa o comando shell cat 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.

Gemini cli screenshot

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

Referências

Top comments (0)