Metadata-Version: 2.4
Name: fastapi-gen-cli
Version: 0.1.1
Summary: Scaffold a production-ready FastAPI project structure in seconds
Requires-Python: >=3.9
Requires-Dist: jinja2>=3.1.0
Requires-Dist: rich>=13.0.0
Requires-Dist: typer>=0.9.0
Description-Content-Type: text/markdown

# fastapi-gen

Scaffold production-ready FastAPI projects in seconds.

Generate a clean, layered FastAPI architecture with optional authentication, Celery workers, database configuration, and more.

## Installation

```bash
pip install fastapi-gen
```

## Usage

### Create a new project

```bash
fastapi-init myproject
```

### Initialize the current directory

```bash
fastapi-init .
```

or simply

```bash
fastapi-init
```

## Examples

Generate a PostgreSQL project with JWT authentication and Celery:

```bash
fastapi-init myproject --with-auth --with-celery --db postgres
```

Generate a lightweight SQLite project:

```bash
fastapi-init myproject --db sqlite --no-monitoring
```

## Options

| Option | Description |
|--------|-------------|
| `--with-auth` | Generate JWT authentication boilerplate |
| `--with-celery` | Generate Celery configuration and task structure |
| `--db postgres` | Use PostgreSQL (default) |
| `--db sqlite` | Use SQLite |
| `--with-monitoring` | Include logging configuration |
| `--no-monitoring` | Skip logging configuration |

## Generated Structure

```
app/
├── api/
├── core/
├── db/
├── middleware/
├── models/
├── repositories/
├── schemas/
├── services/
├── utils/
├── workers/          # Optional
├── main.py
└── __init__.py

tests/
alembic/

.env.example
.gitignore
README.md
requirements.txt
```

## Features

- Layered project architecture
- FastAPI best practices
- SQLAlchemy setup
- Pydantic Settings
- JWT authentication (optional)
- Celery workers (optional)
- Logging configuration (optional)
- PostgreSQL or SQLite support
- Ready-to-use project scaffold

## Roadmap

- [ ] Docker support
- [ ] GitHub Actions workflow
- [ ] Redis integration
- [ ] Alembic migration templates
- [ ] Email service templates
- [ ] WebSocket support
- [ ] Feature-based architecture template
- [ ] DDD architecture template

## Contributing

Contributions, feature requests, and bug reports are welcome. Feel free to open an issue or submit a pull request.