Metadata-Version: 2.4
Name: karigor
Version: 1.3.1
Author-email: Tawhid Jony <tawhid.jony.jhm@gmail.com>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer[all]>=0.9.0
Requires-Dist: rich>=13.0.0
Requires-Dist: questionary>=2.0.0
Requires-Dist: inflect>=7.0.0
Requires-Dist: sqlalchemy>=2.0.0
Dynamic: license-file

# 🚀 Karigor CLI

A Laravel Artisan-inspired CLI for Python FastAPI projects.

## Quick Start

Install:

```bash
pip install karigor
```

Show available commands:

```bash
karigor --help
```

## Available Commands

- `karigor init` — initialize a new project
- `karigor serve` — run the application
- `karigor alembic:install` — install Alembic and setup configuration
- `karigor alembic:migrate [message]` — run Alembic revision and upgrade head
- `karigor alembic:fresh` — run Alembic upgrade head
- `karigor create:modules <path> -a|--all` — create a new module with all components
- `karigor create:model <path>` — create a model file
- `karigor create:repository <path>` — create a repository file
- `karigor create:route <path>` — create a route file
- `karigor create:schema <path>` — create a schema file
- `karigor create:services <path>` — create a services file

## Command Reference

### karigor init

Creates starter files and directories for a FastAPI project.

### karigor serve

Starts the application from `main.py`.

### karigor alembic:install

Sets up Alembic with the required configuration.

### karigor alembic:migrate [message]

Generates and applies a database migration. If no message is provided, a timestamp is used.

### karigor alembic:fresh

Runs `alembic upgrade head` to bring the database schema to the latest revision.

### karigor create:modules <path> -a|--all

Creates a new module and all related components. This command requires the `-a` or `--all` flag.

### karigor create:model <path>

Creates a new Python model file.

### karigor create:repository <path>

Creates a new repository file.

### karigor create:route <path>

Creates a new route file.

### karigor create:schema <path>

Creates a new schema file.

### karigor create:services <path>

Creates a new services file.

## Requirements

- Python 3.10+
- FastAPI
- SQLAlchemy
- Alembic

## Contributing

```bash
git clone https://github.com/yourusername/karigor.git
cd karigor
pip install -e .
pytest
```

## License

MIT
