# Odooer

## Overview
Odooer is a CLI tool designed to streamline the development of Odoo modules by automating the boilerplate creation process. It facilitates the quick setup of new modules or the extension of existing ones, ensuring that developers can focus more on functionality rather than setup procedures.

## Features
- **Module Creation**: Easily generate a new Odoo module with a standard directory structure, including models, views, and security settings.
- **Inheritance Support**: Extend existing Odoo modules with custom functionality by inheriting from them directly through the CLI.
- **Automatic File Generation**: Automatically creates essential files like `__init__.py`, `model.py`, `__manifest__.py`, and `ir.model.access.csv`, along with basic templates to get you started.

## Installation
Odooer can be installed via pip. Ensure you have Python installed on your system before proceeding.

```bash
pip install odooer
```

## Usage
Odooer simplifies the creation of Odoo modules with two primary commands: `create` and `inherit`.

### Creating a New Module
To create a new module, run the following command:

```bash
odooer create <module_name>
```

This command sets up a new module with a basic structure, including model and view directories, and initializes files necessary for Odoo modules.

### Inheriting From an Existing Module
To extend an existing module with additional functionality, use:

```bash
odooer inherit <module_name_to_inherit> <your_module_name>
```

This creates a new module that inherits from an existing one, allowing you to extend or override functionality as needed.

## Project Structure
Odooer generates the following structure for a new module:

- **/models**: Contains `model.py` with a template for model definition.
- **/views**: Includes `module_view.xml` for defining UI elements.
- **/security**: (Optional) Holds `ir.model.access.csv` for access rights configuration, not created when inheriting.
- **`__init__.py`**: Autogenerated to import models.
- **`__manifest__.py`**: Contains module metadata, dependencies, and data files.

## Contributing
Contributions to the Odooer project are welcome. Whether it's bug reports, feature suggestions, or code contributions, please feel free to reach out.

## Contact
- **Author**: Muhammad Osama
- **Linkedin**: https://www.linkedin.com/in/ocama-mohamed
- **Email**: ocama_aslam@outlook.com