Skip to main content

CLI que analiza tu repositorio Git y genera commits profesionales con IA (Conventional Commits).

Project description

AutoGit AI

AutoGit AI analiza automáticamente los cambios de tu repositorio Git, los agrupa de forma inteligente y usa IA para generar mensajes de commit profesionales siguiendo Conventional Commits.

autogit commit   # o el alias corto: ag commit

⚠️ Proyecto en desarrollo temprano (Alpha). La API y los comandos pueden cambiar.

Características

  • Detecta el repositorio Git actual y lee su estado (añadidos, modificados, eliminados, renombrados y sin seguimiento).
  • Construye el contexto (diffs y estadísticas por archivo) y lo envía a la IA.
  • Genera el mensaje, muestra una vista previa y te deja confirmar, editar o cancelar.
  • Configuración flexible por capas y varios proveedores de IA intercambiables.

Instalación

Requisitos: uv y Git.

git clone https://github.com/OptimScul/autogit-ai.git
cd autogit-ai
uv sync --extra dev
uv run autogit version

Una vez publicado en PyPI podrás instalarlo con pip install autogit-ai.

Uso rápido

autogit status     # ver los cambios del repositorio
autogit analyze    # analizar y previsualizar el mensaje sin commitear
autogit commit     # generar el commit con IA (menú Sí / Editar / Cancelar)
autogit commit -p  # además hacer push tras el commit

Comandos

Comando Descripción
autogit commit Analiza los cambios y genera el commit con IA
autogit status Estado del repositorio en formato enriquecido
autogit analyze Analiza y previsualiza el mensaje sin hacer commit
autogit config Gestiona proveedor, modelo, API key, idioma, etc.
autogit doctor Diagnóstico del entorno (git, config, proveedor de IA)
autogit version Muestra la versión instalada

Configuración

La configuración se resuelve combinando, de menor a mayor prioridad:

  1. Valores por defecto.
  2. Archivo global del usuario: ~/.autogit/config.toml.
  3. Archivo del proyecto: .autogit.toml en la raíz del repo.
  4. Variables de entorno: AUTOGIT_PROVIDER, AUTOGIT_MODEL, AUTOGIT_API_KEY, AUTOGIT_LANGUAGE, AUTOGIT_COMMIT_STYLE, AUTOGIT_MAX_MESSAGE_LENGTH.
autogit config show                  # ver la configuración efectiva
autogit config path                  # ver dónde viven los archivos
autogit config set provider ollama   # fijar un valor (se valida antes de guardar)
autogit config set model llama3

La API key es más segura como variable de entorno (AUTOGIT_API_KEY) que escrita en un archivo.

Proveedores de IA

Proveedor Estado Notas
fake ✅ Disponible Determinista y offline (desarrollo)
ollama ✅ Disponible Modelos locales, sin API key
openai ⏳ Planificado
claude ⏳ Planificado
gemini ⏳ Planificado
openrouter ⏳ Planificado

Desarrollo

uv run pytest              # tests
uv run ruff check .        # lint
uv run ruff format .       # formato
uv run mypy                # tipado estático

Arquitectura

Clean Architecture con capas desacopladas:

src/autogit/
├── cli/        # Interacción de terminal (Typer + Rich)
├── commands/   # Un módulo por subcomando
├── core/       # Casos de uso y reglas de negocio (dominio)
├── git/        # Adaptador sobre el binario git
├── ai/         # Interfaz AIProvider + implementaciones + fábrica
├── config/     # Carga y validación de configuración (Pydantic)
├── models/     # Modelos de datos tipados
└── utils/      # Utilidades transversales

Licencia

MIT

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

autogit_ai-0.1.0.tar.gz (80.8 kB view details)

Uploaded Source

Built Distribution

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

autogit_ai-0.1.0-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file autogit_ai-0.1.0.tar.gz.

File metadata

  • Download URL: autogit_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 80.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for autogit_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 53f4582b496c9819da95a172c5f804c1464b4f5bf7f4fbbec7f947272902d32f
MD5 a9abaecf0c2a6489467f2788a557129b
BLAKE2b-256 ff4c34dfdae04ff715e82c2041fa953ff583e1b1b37548fd8380087d86a07b75

See more details on using hashes here.

File details

Details for the file autogit_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: autogit_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for autogit_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a58f8d432a6a29bcd6d6152bb2949631bab3ac8f6438aa635155cea867542545
MD5 d164b0ffaf5b3a75ca5432dd1fb9649d
BLAKE2b-256 0864b04911ad63e1d3e2f37a214fa1209605b7e8decea50533b6496b8520140b

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