dssamble 0.1.2
⚡ CLI инструмент для генерации структуры проектов
Requires Python: >=3.10
Keywords: cli, project-generator, fastapi, scaffold

<div align="center">

```
██████╗ ███████╗███████╗ █████╗ ███╗   ███╗██████╗ ██╗     ███████╗
██╔══██╗██╔════╝██╔════╝██╔══██╗████╗ ████║██╔══██╗██║     ██╔════╝
██║  ██║███████╗███████╗███████║██╔████╔██║██████╔╝██║     █████╗  
██║  ██║╚════██║╚════██║██╔══██║██║╚██╔╝██║██╔══██╗██║     ██╔══╝  
██████╔╝███████║███████║██║  ██║██║ ╚═╝ ██║██████╔╝███████╗███████╗
╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚══════╝╚══════╝
```

<h3>⚡ Мощный CLI-инструмент для генерации структуры проектов</h3>

[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/)
[![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)
[![Version](https://img.shields.io/badge/Version-0.1.0-blue?style=for-the-badge)](https://github.com/Dasakami/dssamble)
[![Stars](https://img.shields.io/github/stars/Dasakami/dssamble?style=for-the-badge&color=yellow)](https://github.com/Dasakami/dssamble/stargazers)

<p align="center">
  <a href="#-особенности">Особенности</a> •
  <a href="#-установка">Установка</a> •
  <a href="#-использование">Использование</a> •
  <a href="#-примеры">Примеры</a> •
  <a href="#-документация">Документация</a>
</p>

---

</div>

## 🚀 Особенности

<table>
<tr>
<td width="50%">

### ⚡ Быстрый старт
Создавайте готовые структуры проектов одной командой. Больше не нужно тратить время на создание папок и файлов вручную!

</td>
<td width="50%">

### 🎯 Готовые шаблоны
Профессиональные структуры для FastAPI проектов с лучшими практиками из коробки.

</td>
</tr>

<tr>
<td width="50%">

### 🔧 Гибкость
Массовое создание файлов и папок с автоматической генерацией вложенных директорий.

</td>
<td width="50%">

### 💡 Простота
Интуитивный интерфейс командной строки с подробной справкой и автодополнением.

</td>
</tr>
</table>

## 📦 Установка

### Из PyPI (рекомендуется)

```bash
pip install dssamble
```

### Из исходников

```bash
# Клонируйте репозиторий
git clone https://github.com/Dasakami/dssamble.git
cd dssamble

# Установите в режиме разработки
pip install -e .
```

### Проверка установки

```bash
dssamble --version
```

## 🎮 Использование

### Быстрый старт

```bash
# Посмотреть доступные команды
dssamble --help

# Узнать о доступных типах структур
dssamble info
```

### Создание проекта

#### 1️⃣ Базовая структура FastAPI

```bash
dssamble create basic my_api_project
```

**Сгенерированная структура:**
```
my_api_project/
├── app/
│   └── __init__.py
├── module/
│   └── __init__.py
├── services/
│   └── __init__.py
├── test/
│   └── __init__.py
└── main.py
```

#### 2️⃣ Fullstack приложение с аутентификацией

```bash
dssamble create fullstack my_fullstack_app
```

**Сгенерированная структура:**
```
my_fullstack_app/
├── backend/
│   └── test/
│       └── __init__.py
└── frontend/
    └── public/
```

### Массовое создание файлов

```bash
# Создать несколько файлов
dssamble createfiles main.py config.py readme.md

# Создать файлы в папках (папки создаются автоматически)
dssamble createfiles utils/helpers.py models/user.py static/css/style.css

# Создать сложную структуру за раз
dssamble createfiles \
  src/core/config.py \
  src/api/routes.py \
  src/db/models.py \
  tests/test_api.py \
  docs/README.md
```

## 💡 Примеры использования

### Пример 1: REST API проект

```bash
# Создаем базовую структуру
dssamble create basic blog_api

# Добавляем необходимые файлы
cd blog_api
dssamble createfiles \
  app/models/post.py \
  app/models/user.py \
  app/routes/posts.py \
  app/routes/auth.py \
  app/database.py \
  app/schemas.py \
  requirements.txt \
  .env.example
```

### Пример 2: Микросервис с тестами

```bash
# Создаем проект
dssamble create basic user_service

# Добавляем структуру тестов
cd user_service
dssamble createfiles \
  test/unit/test_models.py \
  test/integration/test_api.py \
  test/conftest.py \
  app/config/settings.py \
  app/middleware/auth.py \
  docker-compose.yml
```

### Пример 3: Fullstack приложение

```bash
# Создаем fullstack структуру
dssamble create fullstack webapp

# Расширяем структуру
cd webapp
dssamble createfiles \
  backend/app/main.py \
  backend/app/routes/api.py \
  backend/requirements.txt \
  frontend/src/App.js \
  frontend/src/components/Header.js \
  frontend/package.json
```

## 📚 Документация

### Команды

<details>
<summary><b>dssamble create</b> - Создание структуры проекта</summary>

#### Синтаксис
```bash
dssamble create [TYPE] [NAME]
```

#### Параметры
- `TYPE` - Тип структуры (`basic` или `fullstack`)
- `NAME` - Имя проекта (будет создана папка с этим именем)

#### Примеры
```bash
dssamble create basic api_project
dssamble create fullstack my_webapp
```

#### Возможные ошибки
- Если папка с таким именем уже существует, команда выдаст ошибку
- Решение: используйте другое имя или удалите существующую папку

</details>

<details>
<summary><b>dssamble createfiles</b> - Массовое создание файлов</summary>

#### Синтаксис
```bash
dssamble createfiles [FILE1] [FILE2] [FILE3] ...
```

#### Параметры
- `FILE` - Путь к файлу (может включать вложенные папки)
- Можно указать любое количество файлов

#### Особенности
- Автоматически создает все необходимые промежуточные папки
- Каждый файл получает базовое содержимое

#### Примеры
```bash
# Простые файлы
dssamble createfiles main.py config.py

# С вложенными папками
dssamble createfiles src/utils/helper.py models/user.py

# Множество файлов
dssamble createfiles \
  app/core/config.py \
  app/api/routes.py \
  app/db/session.py \
  tests/test_main.py
```

</details>

<details>
<summary><b>dssamble info</b> - Справочная информация</summary>

#### Синтаксис
```bash
dssamble info
```

#### Описание
Показывает список доступных типов структур проектов с описанием.

#### Пример вывода
```
Доступные типы структур
1. basic - Базовая структура FastAPI проекта
2. fullstack - Fullstack приложение с аутентификацией
```

</details>

### Типы структур

#### 📁 Basic

Идеально подходит для:
- REST API приложений
- Микросервисов
- Backend сервисов
- Быстрого прототипирования

Включает:
- Модульную структуру с разделением ответственности
- Готовую точку входа FastAPI
- Папки для тестов, модулей и сервисов
- Инициализационные файлы Python

#### 🌐 Fullstack

Идеально подходит для:
- Веб-приложений с frontend и backend
- SPA приложений
- Проектов требующих разделения на клиент и сервер

Включает:
- Разделенные папки для backend и frontend
- Структуру для тестирования backend
- Папку для статических файлов frontend

## 🛠 Разработка

### Требования

- Python 3.10+
- pip

### Структура проекта

```
dssamble/
├── dssamble/
│   ├── __init__.py
│   ├── cli.py              # Главная точка входа CLI
│   ├── utils.py            # Утилиты для работы с файлами
│   ├── commands/           # Команды CLI
│   │   ├── create.py       # Команда create
│   │   ├── createfiles.py  # Команда createfiles
│   │   └── info.py         # Команда info
│   └── security/           # Генераторы структур
│       ├── basic.py        # Генератор basic структуры
│       ├── fullstack.py    # Генератор fullstack структуры
│       └── createfiles.py  # Генератор файлов
├── pyproject.toml
└── README.md
```

### Запуск в режиме разработки

```bash
# Установка в режиме разработки
pip install -e .

# Тестирование команд
dssamble --help
```

## 🤝 Вклад в проект

Мы приветствуем любой вклад в развитие проекта!

1. Форкните репозиторий
2. Создайте ветку для новой функции (`git checkout -b feature/AmazingFeature`)
3. Закоммитьте изменения (`git commit -m 'Add some AmazingFeature'`)
4. Запушьте в ветку (`git push origin feature/AmazingFeature`)
5. Откройте Pull Request

## 📝 Лицензия

Этот проект распространяется под лицензией MIT. Подробности в файле [LICENSE](LICENSE).

## 👨‍💻 Автор

**Dan** - [Dasakami](https://github.com/Dasakami)

## 🌟 Поддержка

Если проект оказался полезным, поставьте ⭐ на GitHub!

<div align="center">

### 📬 Контакты и поддержка

[![GitHub Issues](https://img.shields.io/badge/GitHub-Issues-red?style=for-the-badge&logo=github)](https://github.com/Dasakami/dssamble/issues)
[![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-blue?style=for-the-badge&logo=github)](https://github.com/Dasakami/dssamble/discussions)

---

Made with ❤️ by [Dan](https://github.com/Dasakami)

</div>