Skip to main content

Ferramenta para análise de código e automação de PRs com CrewAI.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

CodeWise- é uma ferramenta de linha de comando que utiliza o poder de modelos de linguagem (via CrewAI) para automatizar a criação e o enriquecimento de Pull Requests no GitHub.

Funcionalidades Principais

  • Geração de Título: Cria títulos de PR claros e concisos seguindo o padrão Conventional Commits.
  • Geração de Descrição: Escreve descrições detalhadas baseadas nas alterações do código.
  • Análise Técnica: Posta um comentário no PR com um resumo executivo das melhorias de arquitetura, aderência a princípios S.O.L.I.D. e outros pontos de qualidade.
  • Automação Completa: Integra-se ao seu fluxo de trabalho Git para rodar automaticamente a cada git push.

Pré-requisitos

Antes de começar, garanta que você tenha as seguintes ferramentas instaladas em seu sistema:

  1. Python (versão 3.11 ou superior)
  2. Git
  3. GitHub CLI (gh): Após instalar, autentique-se com o GitHub executando gh auth login no seu terminal.

####################### Instalação (Apenas uma vez) #########################################

Para instalar a ferramenta CodeWise-PR e suas dependências no seu computador, siga estes passos:

  1. Clone este repositório:
    git clone [https://github.com/bs20242/cwb.git](https://github.com/bs20242/cwb.git) CodeWise
    
  2. Navegue até a pasta do projeto:
    win: cd C:\Users\SeuUsuario\CodeWise
    linux: cd /c/Users/SeuUsuario/CodeWise (use: git config --global core.autocrlf true <caso o git no Linux/WSL esteja pegando arquivos demais no git status>)
    
    

Passo 2.1: Crie e Utilize um Ambiente Virtual (Recomendado) Para evitar conflitos com outros projetos Python, é altamente recomendado usar um ambiente virtual. Pense nisso apenas para este projeto, mantendo seu sistema principal limpo.

2.1.1. Para Criar o Ambiente: Execute este comando uma única vez. Ele cria uma pasta chamada .venv com uma instalação limpa do Python dentro.

py -m venv .venv / python3 -m venv .venv (Linux)

2.1.2. Para Ativar o Ambiente: Sempre que for trabalhar no projeto, você precisa ativar o ambiente.

..venv\Scripts\activate ou source venv/bin/activate

Você saberá que funcionou porque o início da linha do seu terminal mudará, mostrando (.venv) antes do caminho.

2.1.3. Para Desativar o Ambiente : Quando terminar de trabalhar, você pode desativar o ambiente simplesmente digitando:

deactivate

O (.venv) desaparecerá do seu terminal, indicando que você voltou ao seu sistema normal.

No Windows (PowerShell/CMD) ou WSL/Git bash:

  1. Instale as dependências e a ferramenta:
    
    # Instala a ferramenta e os comandos 'codewise-pr' e 'codewise-init', ao final também instala os requirements.txt
    
    py -m pip install -e . / python3 -m pip install -e .
    
    

se quiser criar um novo repositorio na máquina pelo prompt:

( mkdir MeuNovoProjeto cd MeuNovoProjeto git init gh repo create MeuNovoProjeto --public --source=. --remote=origin

(Crie seu primeiro arquivo, ex: README.md) echo > README.md

git add . git commit -m "Primeiro commit" git push --set-upstream origin main (ou master, dependendo do seu Git) nova branch: git checkout -b nome-da-branch enviar para remoto: git push -u origin nome-da-branch

) ############################################################################################################################################# Após estes passos, a ferramenta estará instalada e pronta para ser configurada em qualquer um dos seus projetos.

######################## Como Usar #######################################

Para cada repositório Git em que você desejar usar a automação, basta fazer uma configuração inicial de 10 segundos.

Passo 1: Navegue até o seu Repositório

# Exemplo: configurando para o projeto C_lib
cd /caminho/para/seu/C_lib

Passo 2: Ative a Automação

Para ativar AMBAS as automações (Recomendado)

codewise-init --all

Você verá uma mensagem de sucesso confirmando que a automação está ativa.
*(**Opcional:** use `--commit` para ativar apenas a análise rápida ou `--push` para ativar apenas a automação de PR).*

Antes de usar a ferramenta, você precisa configurar sua chave de API do Google Gemini. Este processo é feito localmente e de forma segura, sem expor sua chave no código.

 Crie o Arquivo de Ambiente (.env)

A chave de API é lida de um arquivo chamado `.env` localizado na pasta principal da biblioteca. Primeiro, navegue até o diretório correto. A partir da raiz do projeto, o caminho é:

"cd docs/code_wise/codewise/src/codewise" há um exemplo de .env em formato txt que você pode copiar o conteúdo dentro.

abra o terminal no local onde se encontra o crew.py, após ter copiado o conteúdo do exemplo use: "notepad .env"/"touch .env" (Linux) 
 aceite criar um novo arquivo e cole o conteúdo dentro, e adicione sua API key do gemini.


## Fluxo de Trabalho do Dia a Dia
Com a configuração concluída, seu fluxo de trabalho se torna mais inteligente:

1.  Trabalhe normalmente em uma branch separada (ex: `minha-feature`).
2.  Adicione suas alterações para o próximo commit:
    ```
    git add .
    ```
3.  Faça o commit:
    ```
    git commit -m "feat: implementa novo recurso X"
    ```
    Neste momento, o **hook `pre-commit` será ativado**. Você verá a análise rápida do `codewise-lint` aparecer no seu terminal com sugestões de melhoria antes mesmo de o commit ser finalizado.

4.  Envie suas alterações para o GitHub:
    ```
    git push
    ```
 se for a primeira vez use com --no-verify para não usar o programa ainda! (git push origin master --no-verify) (git push --set-upstream origin teste )
    Agora, o **hook `pre-push` será ativado**. O `codewise-pr` irá criar ou atualizar seu Pull Request no GitHub com título, descrição e um comentário de análise técnica, tudo gerado por IA.

---
*Este projeto foi desenvolvido como uma ferramenta para otimizar o processo de code review e documentação de software.*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codewise-2.0.2.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codewise-2.0.2-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file codewise-2.0.2.tar.gz.

File metadata

  • Download URL: codewise-2.0.2.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for codewise-2.0.2.tar.gz
Algorithm Hash digest
SHA256 da8e45eadae3a1201575ca23ad400b454d5dd42ffff5e1b175f4c5cf8e4e8c87
MD5 19bbd01b0105825eca2c8d7fca64ec21
BLAKE2b-256 952571bf29323d7ee93274d4b2bf43fe4ca92a08ee49e747f5447f5979d306b2

See more details on using hashes here.

File details

Details for the file codewise-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: codewise-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for codewise-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2d3639ca4407354a011adc4f1bc0c006a93020bde90bd27fb23a63e8f2083d1a
MD5 b4614a8918ed341c2014ab18ae0b83b1
BLAKE2b-256 13005f5bd4e7fa2f46d3c24c66e9945e947df558e947c135ae4819efd1610034

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page