Skip to content

Git commit analysis engine in Rust. Generates reports for your job or Jira. Automates tracking of your weekly/monthly activity. v1.0.0 - Initial Release.

Notifications You must be signed in to change notification settings

madkoding/git-reports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

157 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git Reports

CI Release Rust License

Generador de reportes automatizados para repositorios Git con análisis de IA.

📋 Descripción

Git Reports analiza tus commits de Git y genera reportes profesionales en formato Markdown estilo Jira, listos para presentar como parte de tu trabajo.

🚀 Instalación

Opción 1: Descargar ejecutable

Descarga el ejecutable para tu sistema operativo desde Releases:

# Linux
wget https://github.com/madkoding/git-reports/releases/latest/download/git-reports-linux-x64
chmod +x git-reports-linux-x64
./git-reports-linux-x64

# macOS
curl -L https://github.com/madkoding/git-reports/releases/latest/download/git-reports-macos-x64 -o git-reports
chmod +x git-reports
./git-reports

# Windows
# Descargar desde releases y ejecutar en PowerShell
.\git-reports-windows-x64.exe

Opción 2: Compilar desde código

git clone https://github.com/madkoding/git-reports.git
cd git-reports
cargo build --release
./target/release/git-reports

⚙️ Configuración

Crea un archivo config.yaml en el mismo directorio que el ejecutable:

# config.yaml
profiles:
  - name: "Tu Nombre"
    email: "tu@email.com"
    token: "tu-gitlab-token"
    
    # Configuración de IA (opcional)
    ai:
      provider: "ollama"      # openai, anthropic, ollama
      api_key: ""            # no requerido para ollama local
      model: "llama3"
      base_url: "http://localhost:11434"
    
    repos:
      - provider: "gitlab"
        owner: "tu-organizacion"
        name: "tu-repositorio"

Parámetros de configuración

Campo Descripción Obligatorio
profiles[].name Nombre del perfil
profiles[].email Email del desarrollador
profiles[].token Token de acceso (GitLab PAT, GitHub PAT, etc.)
profiles[].ai Configuración de IA (opcional) No
profiles[].ai.provider Provider: openai, anthropic, ollama Sí*
profiles[].ai.api_key API Key del provider No
profiles[].ai.model Modelo a usar Sí*
profiles[].ai.base_url URL base (para Ollama local) No
profiles[].repos Lista de repositorios
repos[].provider Provider: github, gitlab, bitbucket
repos[].owner Owner/namespace del repo
repos[].name Nombre del repositorio

*Solo obligatorio si usas IA

Providers de IA

Provider Modelos recomendados Notas
ollama llama3, mistral, ministral-3:8b Requiere Ollama corriendo localmente
openai gpt-4o, gpt-4o-mini Requiere API key de OpenAI
anthropic claude-3-5-sonnet-20241022 Requiere API key de Anthropic

🖥️ Uso

# Generar reporte de las últimas 2 semanas (por defecto)
./git-reports

# Especificar período
./git-reports -p week      # última semana
./git-reports -p 2weeks    # últimas 2 semanas (default)
./git-reports -p month     # último mes
./git-reports -p all       # todos los commits

# Especificar config diferente
./git-reports -c mi-config.yaml

# Cambiar nombre del reporte
./git-reports -n mi-reporte

Opciones del CLI

Opción Descripción Default
-c, --config Archivo de configuración config.yaml
-o, --output-dir Directorio de salida reports
-n, --name Nombre base del reporte report
-p, --period Período: week, 2weeks, month, all 2weeks
-h, --help Mostrar ayuda -

Salida

El ejecutable crea una carpeta reports/ con:

reports/
├── report_2026-02-12_2026-02-26.json
└── report_2026-02-12_2026-02-26.md
  • JSON: Datos crudos con todos los commits
  • Markdown: Reporte formateado estilo Jira con tareas

📊 Ejemplo de reporte

El reporte Markdown incluye:

  • Tareas estilo Jira: Título, descripción, tiempo estimado, tipo, esfuerzo
  • Resumen por área: Backend, frontend, testing, etc.
  • 40 horas semanales: Total distribuido entre tareas

Ver examples/reporte-ejemplo.md para un ejemplo completo.

🛠️ Desarrollo

# Compilar
cargo build --release

# Tests
cargo test

# Formato
cargo fmt --check

📄 Licencia

MIT - Ver LICENSE para detalles.


Autor: madkoding

Última actualización: 2026-02-26 15:51:02 -03

About

Git commit analysis engine in Rust. Generates reports for your job or Jira. Automates tracking of your weekly/monthly activity. v1.0.0 - Initial Release.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages