Metadata-Version: 2.4
Name: atto-personal-agent
Version: 0.1.6
Summary: Tool-driven autonomous software engineering assistant
Author: Atto Personal Assistant
License-Expression: MIT
Project-URL: Repository, https://github.com/Atto-Personal-Assistant/agent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: certifi>=2024.2.2

# Atto Agent

> Biblioteca Python do agente do Atto Personal Assistant.

## 📦 Instalação

```bash
pip install atto-personal-agent
```

## 🚀 Uso rápido

```python
from atto_agent import AgentRuntime

runtime = AgentRuntime(
    ollama_url="https://seu-servidor-ollama.example.com",
    ollama_model="qwen2.5-coder:3b",
)
# Planeja uma ação
decision = runtime.plan("Explique este projeto")
# Executa a ação
result = runtime.run(decision, "Explique este projeto")
print(result)
```

> **Dica**: Se sua aplicação já possui um LLM, basta injetar um objeto que implemente
> `generate(prompt: str) -> str` via `AgentRuntime(llm=...)`.

## ☁️ Integração com Ollama Cloud

Configure as variáveis de ambiente:

```bash
export OLLAMA_URL=https://ollama.com
export OLLAMA_API_KEY=seu_api_key
export OLLAMA_MODEL=nome_do_modelo
```

## 🛠️ Desenvolvimento autônomo

O agente possui a capability `software_engineer` que permite:

* criar branches `atto/*`
* editar arquivos
* executar testes
* criar commits, push e abrir pull requests

Para habilitar, configure:

```bash
export ATTO_WORKSPACE=/caminho/para/repo
export ATTO_INTERNAL_TOKEN=seu_token_secreto
```

### Credenciais de CI/CD

| Plataforma | Token de PR | Token de aprovação | Observação |
|------------|-------------|--------------------|------------|
| GitHub | `GITHUB_TOKEN` | `GITHUB_APPROVAL_TOKEN` | Identidade separada |
| Azure DevOps | `AZURE_TOKEN` | `AZURE_APPROVAL_TOKEN` + `AZURE_REVIEWER_ID` | Identidade separada |

### Comando de testes

Defina `ATTO_TEST_COMMAND` se o projeto usar um comando customizado. Caso contrário, o runtime detecta automaticamente `python -m unittest` ou `npm test`.

## 🤝 Contribuindo

1. Fork o repositório
2. Crie uma branch `atto/feature-nome`
3. Faça suas alterações
4. Execute `pytest` para garantir que tudo funciona
5. Abra um pull request

## 📄 Licença

MIT © Atto
