# morix Project

## Описание

morix — это инструмент для сканирования, анализа и автоматизированного изменения файлов в заданной директории с использованием возможностей OpenAI GPT.

## Установка

Установите пакет `morix` через pip:

```shell
pip install morix
```

## Использование

После установки, приложение `morix` можно запускать с помощью командной строки.

### Основные команды

- **Запуск приложения в текущей директории**:
  ```shell
  morix
  ```

- **Сканирование директории**:
  ```shell
  morix -c <path_to_directory>
  ```
  или
  ```shell
  morix --contents <path_to_directory>
  ```
  Параметры:
  - `<path_to_directory>`: путь к директории, которую вы хотите просканировать.

- **Сканирование только структуры директории**:
  ```shell
  morix -s <path_to_directory>
  ```
  или
  ```shell
  morix --structure-only <path_to_directory>
  ```

- **Открыть конфигурационный файл**:
  ```shell
  morix --config
  ```

### Основные возможности

- Сканирование и анализ структуры директорий и содержания файлов.
- Интеграция с git для работы с репозиториями.
- Интерфейс командной строки для удобного управления.
- Конфигурация с использованием YAML-файлов, что позволяет легко изменять настройки приложения.
- Использование моделей OpenAI для автоматизированного выполнения задач.

### Примечания

- В случае, если в рабочей директории нет `.git`, приложение выдаёт предупреждение.

## Тестирование

Проект использует `pytest` для тестирования модулей. Для запуска тестов выполните команду:

```shell
pytest tests
```

Тесты обеспечивают проверку функциональности всех модулей и компонентов.

## Структура проекта

```plaintext
morix-project/
│
├── docs/
│ ├── roadmap.md
│ └── qa-gpt.md
│
├── templates/
│ └── config.yml
│
├── tests/
│ ├── __init__.py
│ ├── test_run.py
│ └── test_scan.py
│
├── morix/
│ ├── __init__.py
│ ├── chat.py
│ ├── config_loader.py
│ ├── conversation.py
│ ├── git_helpers.py
│ ├── helpers.py
│ ├── main.py
│ ├── scan.py
│ └── version.py
│
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── setup.py
```
