Metadata-Version: 2.4
Name: smartapi-cli
Version: 0.1.4
Summary: Opinionated FastAPI CLI for scalable Python APIs
Author-email: Arthur Rezende <arezendealmeida@gmail.com>
License: MIT License
        
        Copyright (c) 2026 Arthur Rezende
        
        Permission is hereby granted, free of charge, to any person obtaining a copy...
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer
Dynamic: license-file

# 🚀 SmartAPI

SmartAPI é um **CLI opinativo** para criação de APIs modernas e escaláveis com **FastAPI**.  
Ele gera uma API completa **do zero**, já arquitetada, padronizada e pronta para produção.

---

## ✨ O que o SmartAPI entrega

- FastAPI + Uvicorn
- Celery + Redis
- PostgreSQL
- SQLAlchemy + Alembic
- Configuração de ambientes (.env)
- Docker + Docker Compose
- Padrão de módulos, controllers, services e jobs
- CLI para geração de código e automação de tarefas

---

## 📦 Instalação

```bash
pip install smartapi-cli
```

---

## ⚡ Criando um projeto

Inicializando um projeto na pasta atual:

```bash
smartapi init

docker compose up --build -d
```

A API ficará disponível em:

```
http://localhost:8000
```

---

## 📚 Documentação automática

FastAPI gera documentação automaticamente:

- Swagger UI  
  http://localhost:8000/docs

- ReDoc  
  http://localhost:8000/redoc

---

## 🧱 Estrutura do projeto

```text
app/
├── core/                Configurações centrais (app, db, celery, env)
├── modules/             Módulos da aplicação
│   └── example/
│       ├── controller/
│       ├── service/
│       ├── model/
│       ├── schemas/
│       └── router.py
├── jobs/                Jobs Celery
└── main.py              Entry point FastAPI

alembic/                 Migrations
docker/                  Dockerfiles
docker-compose.yml
requirements.txt
.env.example
```

---

## 🧩 Comandos disponíveis

```bash
smartapi make:module <Module>
smartapi make:controller <Module>
smartapi make:service <Module>
smartapi make:model <Module>
smartapi make:schema <Module>
smartapi make:router <Module>
smartapi make:crud
smartapi make:job
smartapi make:migration
```

### Banco de dados

```bash
smartapi db:migrate
smartapi db:rollback
```

### Executar a aplicação

```bash
smartapi app run
```

---

## 🧠 Filosofia

- Convenção > configuração
- Código previsível
- Arquitetura modular
- Infra pronta desde o dia 0
- Menos boilerplate, mais produto

---

## 📄 Licença

MIT

Criado com ❤️ por **Arthur Rezende**
