codehealthanalyzer


Namecodehealthanalyzer JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/imparcialista/codehealthanalyzer
SummaryBiblioteca Python para análise de qualidade e saúde de código
upload_time2025-09-15 18:07:20
maintainerNone
docs_urlNone
authorLuarco Team
requires_python>=3.8
licenseNone
keywords code-quality static-analysis code-health linting python html css javascript ruff analysis metrics reporting
VCS
bugtrack_url
requirements ruff click rich
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🔍 CodeHealthAnalyzer

> Uma biblioteca Python completa para análise de qualidade e saúde de código

🇧🇷 Português | [🇺🇸 English](README_EN.md)

[![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://python.org)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

## 🚀 Visão Geral

CodeHealthAnalyzer é uma biblioteca Python moderna e abrangente para análise de qualidade de código. Ela combina múltiplas ferramentas de análise em uma interface unificada, fornecendo insights detalhados sobre a saúde do seu código.

### ✨ Principais Funcionalidades

- **🚨 Análise de Violações**: Detecta funções, classes e módulos que excedem limites de tamanho
- **🎨 Análise de Templates**: Identifica CSS/JS inline em templates HTML que podem ser extraídos
- **⚠️ Integração com Ruff**: Analisa erros de linting e os categoriza por prioridade
- **📊 Score de Qualidade**: Calcula um score de 0-100 baseado na saúde geral do código
- **🎯 Priorização Inteligente**: Sugere ações baseadas na criticidade dos problemas
- **📈 Relatórios Múltiplos**: Gera relatórios em JSON, HTML, Markdown e CSV
- **🖥️ CLI Amigável**: Interface de linha de comando completa e intuitiva
- **🔧 Altamente Configurável**: Personalize limites, regras e categorias

## 📦 Instalação

### Instalação via pip (recomendado)

```bash
pip install codehealthanalyzer
```

### Instalação para desenvolvimento

```bash
git clone https://github.com/imparcialista/codehealthanalyzer.git
cd codehealthanalyzer
pip install -e .
```

### Dependências

- Python 3.8+
- ruff >= 0.1.0
- click >= 8.0.0
- rich >= 12.0.0 (opcional, para saída colorida)

## 🎯 Uso Rápido

### CLI (Interface de Linha de Comando)

```bash
# Análise completa do projeto atual
codehealthanalyzer analyze .

# Análise com saída em HTML
codehealthanalyzer analyze . --format html --output reports/

# Apenas score de qualidade
codehealthanalyzer score .

# Informações do projeto
codehealthanalyzer info .

# Análise específica de violações
codehealthanalyzer violations . --output violations.json
```

### API Python

```python
from codehealthanalyzer import CodeAnalyzer

# Inicializa o analisador
analyzer = CodeAnalyzer('/path/to/project')

# Gera relatório completo
report = analyzer.generate_full_report(output_dir='reports/')

# Obtém score de qualidade
score = analyzer.get_quality_score()
print(f"Score de Qualidade: {score}/100")

# Análises individuais
violations = analyzer.analyze_violations()
templates = analyzer.analyze_templates()
errors = analyzer.analyze_errors()
```

## 📊 Exemplo de Saída

```
📊 RESUMO DA ANÁLISE
==================================================
✅ Score de Qualidade: 85/100 - Excelente!
📁 Arquivos analisados: 124
⚠️  Arquivos com violações: 8
🎨 Templates: 15
🔍 Erros Ruff: 0
🔥 Issues de alta prioridade: 2

🎯 PRIORIDADES DE AÇÃO:
1. 🔴 Violações de Alta Prioridade (2)
2. 🟡 Templates com Muito CSS/JS Inline (3)
```

## 🔧 Configuração

### Arquivo de Configuração JSON

```json
{
  "limits": {
    "python_function": {"yellow": 30, "red": 50},
    "python_class": {"yellow": 300, "red": 500},
    "python_module": {"yellow": 500, "red": 1000},
    "html_template": {"yellow": 150, "red": 200},
    "test_file": {"yellow": 400, "red": 600}
  },
  "target_dir": "src/",
  "file_rules": {
    "critical_files": ["main.py", "core.py"],
    "skip_patterns": [".git", "__pycache__", "node_modules"]
  }
}
```

### Uso com Configuração

```bash
codehealthanalyzer analyze . --config config.json
```

```python
import json
from codehealthanalyzer import CodeAnalyzer

with open('config.json') as f:
    config = json.load(f)

analyzer = CodeAnalyzer('/path/to/project', config)
```

## 📈 Tipos de Análise

### 🚨 Análise de Violações

Detecta:
- Funções muito longas (> 50 linhas)
- Classes muito grandes (> 500 linhas)
- Módulos muito extensos (> 1000 linhas)
- Templates HTML muito longos (> 200 linhas)

### 🎨 Análise de Templates

Identifica:
- CSS inline em atributos `style`
- JavaScript inline em eventos (`onclick`, etc.)
- Tags `<style>` com muito conteúdo
- Tags `<script>` com muito código

### ⚠️ Análise de Erros

Integra com Ruff para detectar:
- Erros de sintaxe
- Problemas de estilo
- Imports não utilizados
- Variáveis não definidas
- Complexidade excessiva

## 📊 Score de Qualidade

O score é calculado baseado em:
- **Violações de alta prioridade**: -10 pontos cada
- **Erros de linting**: -2 pontos cada
- **Templates problemáticos**: -5 pontos cada
- **Base**: 100 pontos

### Interpretação
- **80-100**: 🟢 Excelente
- **60-79**: 🟡 Bom
- **0-59**: 🔴 Precisa melhorar

## 🎯 Categorização Inteligente

### Arquivos
- **Arquivo Crítico**: Arquivos essenciais do sistema
- **Views Admin**: Interfaces administrativas
- **Blueprint Crítico**: Rotas críticas da aplicação
- **Template Base**: Templates fundamentais

### Prioridades
- **Alta**: Problemas que afetam funcionalidade
- **Média**: Problemas de manutenibilidade
- **Baixa**: Melhorias recomendadas

## 📋 Formatos de Relatório

### JSON
```json
{
  "metadata": {
    "generated_at": "2024-01-15T10:30:00",
    "generator": "CodeHealthAnalyzer v1.0.0"
  },
  "summary": {
    "quality_score": 85,
    "total_files": 124,
    "violation_files": 8
  },
  "priorities": [...],
  "violations": [...],
  "templates": [...],
  "errors": [...]
}
```

### HTML
Relatório interativo com gráficos e métricas visuais.

### Markdown
Relatório em formato Markdown para documentação.

### CSV
Dados tabulares para análise em planilhas.

## 🛠️ API Avançada

### Analisadores Individuais

```python
from codehealthanalyzer.analyzers import (
    ViolationsAnalyzer,
    TemplatesAnalyzer,
    ErrorsAnalyzer
)

# Análise específica de violações
violations_analyzer = ViolationsAnalyzer('/path/to/project')
violations_report = violations_analyzer.analyze()

# Análise específica de templates
templates_analyzer = TemplatesAnalyzer('/path/to/project')
templates_report = templates_analyzer.analyze()

# Análise específica de erros
errors_analyzer = ErrorsAnalyzer('/path/to/project')
errors_report = errors_analyzer.analyze()
```

### Geração de Relatórios

```python
from codehealthanalyzer.reports import ReportGenerator, ReportFormatter

generator = ReportGenerator()
formatter = ReportFormatter()

# Gera relatório consolidado
full_report = generator.generate_full_report(
    violations=violations_report,
    templates=templates_report,
    errors=errors_report,
    output_dir='reports/'
)

# Converte para diferentes formatos
html_content = generator.generate_html_report(full_report, 'report.html')
markdown_content = formatter.to_markdown(full_report, 'report.md')
formatter.to_csv(full_report, 'report.csv')
```

### Utilitários

```python
from codehealthanalyzer.utils import (
    Categorizer,
    PathValidator,
    FileHelper,
    ColorHelper
)

# Categorização
categorizer = Categorizer()
category = categorizer.categorize_file(Path('src/main.py'))
priority = categorizer.determine_priority('file', {'lines': 150, 'type': 'python'})

# Validação
validator = PathValidator()
is_valid = validator.is_python_project('/path/to/project')
project_info = validator.get_project_info('/path/to/project')

# Helpers
file_helper = FileHelper()
data = file_helper.read_json('config.json')
file_helper.write_json(data, 'output.json')

# Cores para terminal
print(ColorHelper.success("Sucesso!"))
print(ColorHelper.error("Erro!"))
print(ColorHelper.warning("Aviso!"))
```

## 🧪 Testes

```bash
# Instala dependências de desenvolvimento
pip install -e ".[dev]"

# Executa testes
pytest

# Executa testes com cobertura
pytest --cov=codehealthanalyzer

# Executa linting
ruff check codehealthanalyzer/
black --check codehealthanalyzer/
```

## 🤝 Contribuição

1. Fork o projeto
2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
4. Push para a branch (`git push origin feature/AmazingFeature`)
5. Abra um Pull Request

### Diretrizes de Contribuição

- Siga o estilo de código existente
- Adicione testes para novas funcionalidades
- Atualize a documentação quando necessário
- Use commits semânticos

## 📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.

## 🙏 Agradecimentos

- [Ruff](https://github.com/astral-sh/ruff) - Linter Python ultrarrápido
- [Click](https://click.palletsprojects.com/) - Framework para CLI
- [Rich](https://github.com/Textualize/rich) - Formatação rica para terminal

## 📞 Suporte

- 📧 Email: contato@luarco.com.br
- 🐛 Issues: [GitHub Issues](https://github.com/imparcialista/codehealthanalyzer/issues)
- 📖 Documentação: [ReadTheDocs](https://codehealthanalyzer.readthedocs.io/)

---

**Feito com ❤️ pela equipe Imparcialista**

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/imparcialista/codehealthanalyzer",
    "name": "codehealthanalyzer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "code-quality, static-analysis, code-health, linting, python, html, css, javascript, ruff, analysis, metrics, reporting",
    "author": "Luarco Team",
    "author_email": "contato@luarco.com.br",
    "download_url": "https://files.pythonhosted.org/packages/2f/6c/ff22f2f0c749ea1012d609054a260a3fc67f8ebfbbd64d9e0d86ab6e4e0b/codehealthanalyzer-1.0.0.tar.gz",
    "platform": null,
    "description": "# \ud83d\udd0d CodeHealthAnalyzer\r\n\r\n> Uma biblioteca Python completa para an\u00e1lise de qualidade e sa\u00fade de c\u00f3digo\r\n\r\n\ud83c\udde7\ud83c\uddf7 Portugu\u00eas | [\ud83c\uddfa\ud83c\uddf8 English](README_EN.md)\r\n\r\n[![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://python.org)\r\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\r\n[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\r\n\r\n## \ud83d\ude80 Vis\u00e3o Geral\r\n\r\nCodeHealthAnalyzer \u00e9 uma biblioteca Python moderna e abrangente para an\u00e1lise de qualidade de c\u00f3digo. Ela combina m\u00faltiplas ferramentas de an\u00e1lise em uma interface unificada, fornecendo insights detalhados sobre a sa\u00fade do seu c\u00f3digo.\r\n\r\n### \u2728 Principais Funcionalidades\r\n\r\n- **\ud83d\udea8 An\u00e1lise de Viola\u00e7\u00f5es**: Detecta fun\u00e7\u00f5es, classes e m\u00f3dulos que excedem limites de tamanho\r\n- **\ud83c\udfa8 An\u00e1lise de Templates**: Identifica CSS/JS inline em templates HTML que podem ser extra\u00eddos\r\n- **\u26a0\ufe0f Integra\u00e7\u00e3o com Ruff**: Analisa erros de linting e os categoriza por prioridade\r\n- **\ud83d\udcca Score de Qualidade**: Calcula um score de 0-100 baseado na sa\u00fade geral do c\u00f3digo\r\n- **\ud83c\udfaf Prioriza\u00e7\u00e3o Inteligente**: Sugere a\u00e7\u00f5es baseadas na criticidade dos problemas\r\n- **\ud83d\udcc8 Relat\u00f3rios M\u00faltiplos**: Gera relat\u00f3rios em JSON, HTML, Markdown e CSV\r\n- **\ud83d\udda5\ufe0f CLI Amig\u00e1vel**: Interface de linha de comando completa e intuitiva\r\n- **\ud83d\udd27 Altamente Configur\u00e1vel**: Personalize limites, regras e categorias\r\n\r\n## \ud83d\udce6 Instala\u00e7\u00e3o\r\n\r\n### Instala\u00e7\u00e3o via pip (recomendado)\r\n\r\n```bash\r\npip install codehealthanalyzer\r\n```\r\n\r\n### Instala\u00e7\u00e3o para desenvolvimento\r\n\r\n```bash\r\ngit clone https://github.com/imparcialista/codehealthanalyzer.git\r\ncd codehealthanalyzer\r\npip install -e .\r\n```\r\n\r\n### Depend\u00eancias\r\n\r\n- Python 3.8+\r\n- ruff >= 0.1.0\r\n- click >= 8.0.0\r\n- rich >= 12.0.0 (opcional, para sa\u00edda colorida)\r\n\r\n## \ud83c\udfaf Uso R\u00e1pido\r\n\r\n### CLI (Interface de Linha de Comando)\r\n\r\n```bash\r\n# An\u00e1lise completa do projeto atual\r\ncodehealthanalyzer analyze .\r\n\r\n# An\u00e1lise com sa\u00edda em HTML\r\ncodehealthanalyzer analyze . --format html --output reports/\r\n\r\n# Apenas score de qualidade\r\ncodehealthanalyzer score .\r\n\r\n# Informa\u00e7\u00f5es do projeto\r\ncodehealthanalyzer info .\r\n\r\n# An\u00e1lise espec\u00edfica de viola\u00e7\u00f5es\r\ncodehealthanalyzer violations . --output violations.json\r\n```\r\n\r\n### API Python\r\n\r\n```python\r\nfrom codehealthanalyzer import CodeAnalyzer\r\n\r\n# Inicializa o analisador\r\nanalyzer = CodeAnalyzer('/path/to/project')\r\n\r\n# Gera relat\u00f3rio completo\r\nreport = analyzer.generate_full_report(output_dir='reports/')\r\n\r\n# Obt\u00e9m score de qualidade\r\nscore = analyzer.get_quality_score()\r\nprint(f\"Score de Qualidade: {score}/100\")\r\n\r\n# An\u00e1lises individuais\r\nviolations = analyzer.analyze_violations()\r\ntemplates = analyzer.analyze_templates()\r\nerrors = analyzer.analyze_errors()\r\n```\r\n\r\n## \ud83d\udcca Exemplo de Sa\u00edda\r\n\r\n```\r\n\ud83d\udcca RESUMO DA AN\u00c1LISE\r\n==================================================\r\n\u2705 Score de Qualidade: 85/100 - Excelente!\r\n\ud83d\udcc1 Arquivos analisados: 124\r\n\u26a0\ufe0f  Arquivos com viola\u00e7\u00f5es: 8\r\n\ud83c\udfa8 Templates: 15\r\n\ud83d\udd0d Erros Ruff: 0\r\n\ud83d\udd25 Issues de alta prioridade: 2\r\n\r\n\ud83c\udfaf PRIORIDADES DE A\u00c7\u00c3O:\r\n1. \ud83d\udd34 Viola\u00e7\u00f5es de Alta Prioridade (2)\r\n2. \ud83d\udfe1 Templates com Muito CSS/JS Inline (3)\r\n```\r\n\r\n## \ud83d\udd27 Configura\u00e7\u00e3o\r\n\r\n### Arquivo de Configura\u00e7\u00e3o JSON\r\n\r\n```json\r\n{\r\n  \"limits\": {\r\n    \"python_function\": {\"yellow\": 30, \"red\": 50},\r\n    \"python_class\": {\"yellow\": 300, \"red\": 500},\r\n    \"python_module\": {\"yellow\": 500, \"red\": 1000},\r\n    \"html_template\": {\"yellow\": 150, \"red\": 200},\r\n    \"test_file\": {\"yellow\": 400, \"red\": 600}\r\n  },\r\n  \"target_dir\": \"src/\",\r\n  \"file_rules\": {\r\n    \"critical_files\": [\"main.py\", \"core.py\"],\r\n    \"skip_patterns\": [\".git\", \"__pycache__\", \"node_modules\"]\r\n  }\r\n}\r\n```\r\n\r\n### Uso com Configura\u00e7\u00e3o\r\n\r\n```bash\r\ncodehealthanalyzer analyze . --config config.json\r\n```\r\n\r\n```python\r\nimport json\r\nfrom codehealthanalyzer import CodeAnalyzer\r\n\r\nwith open('config.json') as f:\r\n    config = json.load(f)\r\n\r\nanalyzer = CodeAnalyzer('/path/to/project', config)\r\n```\r\n\r\n## \ud83d\udcc8 Tipos de An\u00e1lise\r\n\r\n### \ud83d\udea8 An\u00e1lise de Viola\u00e7\u00f5es\r\n\r\nDetecta:\r\n- Fun\u00e7\u00f5es muito longas (> 50 linhas)\r\n- Classes muito grandes (> 500 linhas)\r\n- M\u00f3dulos muito extensos (> 1000 linhas)\r\n- Templates HTML muito longos (> 200 linhas)\r\n\r\n### \ud83c\udfa8 An\u00e1lise de Templates\r\n\r\nIdentifica:\r\n- CSS inline em atributos `style`\r\n- JavaScript inline em eventos (`onclick`, etc.)\r\n- Tags `<style>` com muito conte\u00fado\r\n- Tags `<script>` com muito c\u00f3digo\r\n\r\n### \u26a0\ufe0f An\u00e1lise de Erros\r\n\r\nIntegra com Ruff para detectar:\r\n- Erros de sintaxe\r\n- Problemas de estilo\r\n- Imports n\u00e3o utilizados\r\n- Vari\u00e1veis n\u00e3o definidas\r\n- Complexidade excessiva\r\n\r\n## \ud83d\udcca Score de Qualidade\r\n\r\nO score \u00e9 calculado baseado em:\r\n- **Viola\u00e7\u00f5es de alta prioridade**: -10 pontos cada\r\n- **Erros de linting**: -2 pontos cada\r\n- **Templates problem\u00e1ticos**: -5 pontos cada\r\n- **Base**: 100 pontos\r\n\r\n### Interpreta\u00e7\u00e3o\r\n- **80-100**: \ud83d\udfe2 Excelente\r\n- **60-79**: \ud83d\udfe1 Bom\r\n- **0-59**: \ud83d\udd34 Precisa melhorar\r\n\r\n## \ud83c\udfaf Categoriza\u00e7\u00e3o Inteligente\r\n\r\n### Arquivos\r\n- **Arquivo Cr\u00edtico**: Arquivos essenciais do sistema\r\n- **Views Admin**: Interfaces administrativas\r\n- **Blueprint Cr\u00edtico**: Rotas cr\u00edticas da aplica\u00e7\u00e3o\r\n- **Template Base**: Templates fundamentais\r\n\r\n### Prioridades\r\n- **Alta**: Problemas que afetam funcionalidade\r\n- **M\u00e9dia**: Problemas de manutenibilidade\r\n- **Baixa**: Melhorias recomendadas\r\n\r\n## \ud83d\udccb Formatos de Relat\u00f3rio\r\n\r\n### JSON\r\n```json\r\n{\r\n  \"metadata\": {\r\n    \"generated_at\": \"2024-01-15T10:30:00\",\r\n    \"generator\": \"CodeHealthAnalyzer v1.0.0\"\r\n  },\r\n  \"summary\": {\r\n    \"quality_score\": 85,\r\n    \"total_files\": 124,\r\n    \"violation_files\": 8\r\n  },\r\n  \"priorities\": [...],\r\n  \"violations\": [...],\r\n  \"templates\": [...],\r\n  \"errors\": [...]\r\n}\r\n```\r\n\r\n### HTML\r\nRelat\u00f3rio interativo com gr\u00e1ficos e m\u00e9tricas visuais.\r\n\r\n### Markdown\r\nRelat\u00f3rio em formato Markdown para documenta\u00e7\u00e3o.\r\n\r\n### CSV\r\nDados tabulares para an\u00e1lise em planilhas.\r\n\r\n## \ud83d\udee0\ufe0f API Avan\u00e7ada\r\n\r\n### Analisadores Individuais\r\n\r\n```python\r\nfrom codehealthanalyzer.analyzers import (\r\n    ViolationsAnalyzer,\r\n    TemplatesAnalyzer,\r\n    ErrorsAnalyzer\r\n)\r\n\r\n# An\u00e1lise espec\u00edfica de viola\u00e7\u00f5es\r\nviolations_analyzer = ViolationsAnalyzer('/path/to/project')\r\nviolations_report = violations_analyzer.analyze()\r\n\r\n# An\u00e1lise espec\u00edfica de templates\r\ntemplates_analyzer = TemplatesAnalyzer('/path/to/project')\r\ntemplates_report = templates_analyzer.analyze()\r\n\r\n# An\u00e1lise espec\u00edfica de erros\r\nerrors_analyzer = ErrorsAnalyzer('/path/to/project')\r\nerrors_report = errors_analyzer.analyze()\r\n```\r\n\r\n### Gera\u00e7\u00e3o de Relat\u00f3rios\r\n\r\n```python\r\nfrom codehealthanalyzer.reports import ReportGenerator, ReportFormatter\r\n\r\ngenerator = ReportGenerator()\r\nformatter = ReportFormatter()\r\n\r\n# Gera relat\u00f3rio consolidado\r\nfull_report = generator.generate_full_report(\r\n    violations=violations_report,\r\n    templates=templates_report,\r\n    errors=errors_report,\r\n    output_dir='reports/'\r\n)\r\n\r\n# Converte para diferentes formatos\r\nhtml_content = generator.generate_html_report(full_report, 'report.html')\r\nmarkdown_content = formatter.to_markdown(full_report, 'report.md')\r\nformatter.to_csv(full_report, 'report.csv')\r\n```\r\n\r\n### Utilit\u00e1rios\r\n\r\n```python\r\nfrom codehealthanalyzer.utils import (\r\n    Categorizer,\r\n    PathValidator,\r\n    FileHelper,\r\n    ColorHelper\r\n)\r\n\r\n# Categoriza\u00e7\u00e3o\r\ncategorizer = Categorizer()\r\ncategory = categorizer.categorize_file(Path('src/main.py'))\r\npriority = categorizer.determine_priority('file', {'lines': 150, 'type': 'python'})\r\n\r\n# Valida\u00e7\u00e3o\r\nvalidator = PathValidator()\r\nis_valid = validator.is_python_project('/path/to/project')\r\nproject_info = validator.get_project_info('/path/to/project')\r\n\r\n# Helpers\r\nfile_helper = FileHelper()\r\ndata = file_helper.read_json('config.json')\r\nfile_helper.write_json(data, 'output.json')\r\n\r\n# Cores para terminal\r\nprint(ColorHelper.success(\"Sucesso!\"))\r\nprint(ColorHelper.error(\"Erro!\"))\r\nprint(ColorHelper.warning(\"Aviso!\"))\r\n```\r\n\r\n## \ud83e\uddea Testes\r\n\r\n```bash\r\n# Instala depend\u00eancias de desenvolvimento\r\npip install -e \".[dev]\"\r\n\r\n# Executa testes\r\npytest\r\n\r\n# Executa testes com cobertura\r\npytest --cov=codehealthanalyzer\r\n\r\n# Executa linting\r\nruff check codehealthanalyzer/\r\nblack --check codehealthanalyzer/\r\n```\r\n\r\n## \ud83e\udd1d Contribui\u00e7\u00e3o\r\n\r\n1. Fork o projeto\r\n2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)\r\n3. Commit suas mudan\u00e7as (`git commit -m 'Add some AmazingFeature'`)\r\n4. Push para a branch (`git push origin feature/AmazingFeature`)\r\n5. Abra um Pull Request\r\n\r\n### Diretrizes de Contribui\u00e7\u00e3o\r\n\r\n- Siga o estilo de c\u00f3digo existente\r\n- Adicione testes para novas funcionalidades\r\n- Atualize a documenta\u00e7\u00e3o quando necess\u00e1rio\r\n- Use commits sem\u00e2nticos\r\n\r\n## \ud83d\udcc4 Licen\u00e7a\r\n\r\nEste projeto est\u00e1 licenciado sob a Licen\u00e7a MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.\r\n\r\n## \ud83d\ude4f Agradecimentos\r\n\r\n- [Ruff](https://github.com/astral-sh/ruff) - Linter Python ultrarr\u00e1pido\r\n- [Click](https://click.palletsprojects.com/) - Framework para CLI\r\n- [Rich](https://github.com/Textualize/rich) - Formata\u00e7\u00e3o rica para terminal\r\n\r\n## \ud83d\udcde Suporte\r\n\r\n- \ud83d\udce7 Email: contato@luarco.com.br\r\n- \ud83d\udc1b Issues: [GitHub Issues](https://github.com/imparcialista/codehealthanalyzer/issues)\r\n- \ud83d\udcd6 Documenta\u00e7\u00e3o: [ReadTheDocs](https://codehealthanalyzer.readthedocs.io/)\r\n\r\n---\r\n\r\n**Feito com \u2764\ufe0f pela equipe Imparcialista**\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Biblioteca Python para an\u00e1lise de qualidade e sa\u00fade de c\u00f3digo",
    "version": "1.0.0",
    "project_urls": {
        "Bug Reports": "https://github.com/imparcialista/codehealthanalyzer/issues",
        "Documentation": "https://codehealthanalyzer.readthedocs.io/",
        "Homepage": "https://github.com/imparcialista/codehealthanalyzer",
        "Source": "https://github.com/imparcialista/codehealthanalyzer"
    },
    "split_keywords": [
        "code-quality",
        " static-analysis",
        " code-health",
        " linting",
        " python",
        " html",
        " css",
        " javascript",
        " ruff",
        " analysis",
        " metrics",
        " reporting"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c5e0e937946714f5166f71c8e23c89160372eee07e5bbaa5a76bd71304b1c40a",
                "md5": "a51a11e96b02c7a9ee5b4b26ec9ca60e",
                "sha256": "ec192d63390253f48043635bff883c5d8d5b23288aa0a6050c0a242b91128bbc"
            },
            "downloads": -1,
            "filename": "codehealthanalyzer-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a51a11e96b02c7a9ee5b4b26ec9ca60e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 37584,
            "upload_time": "2025-09-15T18:07:19",
            "upload_time_iso_8601": "2025-09-15T18:07:19.661991Z",
            "url": "https://files.pythonhosted.org/packages/c5/e0/e937946714f5166f71c8e23c89160372eee07e5bbaa5a76bd71304b1c40a/codehealthanalyzer-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2f6cff22f2f0c749ea1012d609054a260a3fc67f8ebfbbd64d9e0d86ab6e4e0b",
                "md5": "bae3d938425321b9194288fe12e5abc1",
                "sha256": "316929faa4269adf61a952c1f6108ce86d97b9942cb8d4831c94387edf5e3992"
            },
            "downloads": -1,
            "filename": "codehealthanalyzer-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "bae3d938425321b9194288fe12e5abc1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 35958,
            "upload_time": "2025-09-15T18:07:20",
            "upload_time_iso_8601": "2025-09-15T18:07:20.745606Z",
            "url": "https://files.pythonhosted.org/packages/2f/6c/ff22f2f0c749ea1012d609054a260a3fc67f8ebfbbd64d9e0d86ab6e4e0b/codehealthanalyzer-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-15 18:07:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "imparcialista",
    "github_project": "codehealthanalyzer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "ruff",
            "specs": [
                [
                    ">=",
                    "0.1.0"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    ">=",
                    "8.0.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    ">=",
                    "12.0.0"
                ]
            ]
        }
    ],
    "lcname": "codehealthanalyzer"
}
        
Elapsed time: 0.87784s