Este projeto é um gerador de documentação automatizado que utiliza a API do Google Generative AI para criar documentação em português para arquivos de código fonte de diferentes linguagens, como PHP, JavaScript, Python e Java. A documentação gerada é salva em arquivos Markdown (.md
).
- Node.js (versão 14 ou superior)
- Uma chave de API do Google Generative AI
- Dependências listadas no
package.json
-
Clone este repositório para sua máquina local.
git clone https://github.com/your-username/gemini-docs-generator.git cd gemini-docs-generator
-
Instale as dependências necessárias.
npm install
-
Configure suas variáveis de ambiente:
- Crie um arquivo
.env
na raiz do projeto. - Adicione a chave de API do Google Generative AI e o caminho do projeto que deseja documentar.
GEMINI_API_KEY=your-google-api-key PROJECT_PATH=/caminho/para/seu/projeto
- Crie um arquivo
-
Execute o script para gerar a documentação:
npm start
-
A documentação gerada será salva na pasta
docs
, com um arquivo.md
para cada arquivo de código-fonte processado.
app.js
: Contém o código principal que lê os arquivos de código fonte, envia o conteúdo para a API do Google Generative AI e salva a documentação gerada.docs/
: Diretório onde a documentação gerada será armazenada..env
: Arquivo de configuração para armazenar variáveis de ambiente.package.json
: Gerencia as dependências do projeto e os scripts npm.
Atualmente, o script suporta a documentação de arquivos com as seguintes extensões:
.php
.js
.py
.java
Você pode adicionar suporte para outras extensões de arquivo ajustando o código em readSourceCode()
.
Para adicionar suporte para outras linguagens de programação, basta modificar o método readSourceCode()
para incluir as extensões desejadas:
else if (fullPath.endsWith('.extensao')) {
const content = fs.readFileSync(fullPath, 'utf-8');
sourceFiles.push({ path: fullPath, content });
}
Se você deseja alterar o comportamento do modelo de IA, pode personalizar o prompt que é enviado à API no método generateDocumentation()
.
const prompt = `Gere a documentação em português para o seguinte código:
${file.content}`;
Sinta-se à vontade para enviar pull requests ou abrir issues para sugerir melhorias ou relatar problemas.
Este projeto está licenciado sob a MIT License.
Este projeto utiliza a Google Generative AI para gerar a documentação automaticamente.