# Auto Ninja

## Overview

Auto Ninja is a Python library designed to streamline the setup of Django APIs by automatically generating the necessary
files and configurations. With customizable options, Auto Ninja reduces boilerplate and accelerates the development
process.

## Features

- Automatic generation of API structure in Django.
- Creates service, utility, and main application files.
- Dynamically generates endpoint and schema files for all models in installed Django applications.
- Easy integration using command-line options with Typer.

## Installation

To install Auto Ninja, make sure you have Python and pip installed, then execute:

```bash
pip install auto-ninja
```

## Usage

To get started with Auto Ninja, simply run the script with the desired configuration options:

```bash
auto-ninja [OPTIONS]
```

### Options

- `--title TEXT`: The title of the application (default: "Auto Ninja").
- `--description TEXT`: Description of the application (default: "Automatically generated API").

## Example

Here's how you can use Auto Ninja to set up your API:

```bash
auto-ninja --title "My API" --description "This API is auto-generated by Auto Ninja"
```

## How It Works

1. **Setup**: Auto Ninja configures your Django environment and identifies installed applications.
2. **Template Application**: It applies pre-defined templates to create API structure under each app.
3. **Dynamic File Generation**: Automatically generates appropriate endpoint and schema files for each model detected in
   your apps.

## Customization

Auto Ninja uses templates that can be located in your project. Custom templates can be supplied to adjust the way files
are generated to better fit your project's needs.

## Contributing

We welcome contributions to enhance Auto Ninja! If you're interested, please follow our contribution guidelines and
submit a pull request on GitHub.

## License

Auto Ninja is licensed under the MIT License. See [LICENSE](LICENSE.md) for more details.

## Acknowledgements

Thanks to all contributors and the open-source community for their support and collaboration.

---

If you encounter any issues or have questions, please open an issue on GitHub or contact us.

Happy coding with Auto Ninja!
