Metadata-Version: 2.4
Name: ai-pipeline-tool
Version: 0.1.0
Summary: A generic AI-powered CLI tool to automatically generate CI/CD pipelines.
Author: Generic Dev
Author-email: dev@example.com
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: typer
Requires-Dist: pydantic
Requires-Dist: pyyaml
Requires-Dist: rich
Requires-Dist: requests
Requires-Dist: python-dotenv
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# AI Pipeline

AI Pipeline é uma ferramenta de linha de comando (CLI) desenvolvida em Python para automação de processos de DevOps. A ferramenta analisa o código-fonte de um repositório, identifica a pilha tecnológica (stack) e utiliza interfaces de inteligência artificial para gerar arquivos de configuração de CI/CD (GitHub Actions).

## Funcionalidades

- **Escaneamento de Repositório**: Localização de arquivos de configuração padrão (package.json, requirements.txt, Dockerfile, terraform, etc).
- **Detecção de Stack**: Identificação de linguagem de programação, versões, frameworks de teste e ferramentas de segurança.
- **Gerador de Pipeline**: Geração automatizada de workflows do GitHub Actions (.github/workflows/ci.yml) baseada nos dados detectados.
- **Multi-Provedor**: Suporte a diversos provedores de IA através de detecção automática de chaves de ambiente.
- **Seleção Interativa**: Interface numerada para seleção de chaves quando múltiplas opções são detectadas no ambiente.

## Arquitetura do Processo

1. **Scan**: O sistema varre o diretório atual em busca de marcadores tecnológicos.
2. **Analysis**: O motor de detecção extrai metadados como versões de motores (ex: Node v18) e scripts de execução.
3. **Prompt Engineering**: Os metadados são estruturados em um prompt técnico enviado ao provedor de IA selecionado.
4. **Generation**: O YAML retornado é validado e persistido no diretório .github/workflows/.

## Instalação

A instalação deve ser feita em modo editável para que o comando fique disponível globalmente no ambiente Python:

```bash
git clone https://github.com/usuario/ai-pipeline.git
cd ai-pipeline
pip install -e .
```

## Configuração

A ferramenta busca automaticamente por chaves de API no ambiente (exportadas no shell ou em arquivos .env). 

Para configurar uma chave manualmente ou definir uma padrão para o diretório atual:

```bash
ai-pipeline init
```

## Uso

### Analisar Projeto
Para verificar o que a ferramenta detecta sem gerar arquivos:

```bash
ai-pipeline analyze
```

### Gerar Workflow de CI/CD
Para executar o fluxo completo de detecção e geração do arquivo de pipeline:

```bash
ai-pipeline generate
```

## Estrutura do Projeto

```
ai-pipeline/
├── ai_pipeline/          # Código fonte do pacote
│   ├── cli.py            # Definição dos comandos e interface
│   ├── scanner.py        # Lógica de varredura de arquivos
│   ├── detector.py       # Motor de análise de stack e versões
│   ├── generator.py      # Integração com APIs de IA via Requests
│   ├── config.py         # Gestão de variáveis de ambiente
│   ├── providers.py      # Configurações de endpoints e modelos
│   └── utils.py          # Logger e utilitários de sistema
├── tests/                # Testes de integração e unitários
├── requirements.txt      # Dependências do projeto
├── setup.py              # Script de instalação do pacote
└── README.md             # Documentação técnica
```

## Requisitos Técnicos

- Python 3.11 ou superior
- Bibliotecas: typer, pydantic, pyyaml, rich, requests, python-dotenv
- Acesso a uma API de IA compatível com o padrão de mercado (OpenAI, OpenRouter, Groq, etc)

## Logs

Todas as operações, incluindo payloads de API e erros de autenticação, são registrados no arquivo `ai-pipeline.log` na raiz de execução para fins de depuração.

## Licença

MIT
