CLI инструмент для генерации структуры проектов
Project description
██████╗ ███████╗███████╗ █████╗ ███╗ ███╗██████╗ ██╗ ███████╗
██╔══██╗██╔════╝██╔════╝██╔══██╗████╗ ████║██╔══██╗██║ ██╔════╝
██║ ██║███████╗███████╗███████║██╔████╔██║██████╔╝██║ █████╗
██║ ██║╚════██║╚════██║██╔══██║██║╚██╔╝██║██╔══██╗██║ ██╔══╝
██████╔╝███████║███████║██║ ██║██║ ╚═╝ ██║██████╔╝███████╗███████╗
╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝
⚡ Мощный CLI-инструмент для генерации структуры проектов
Особенности • Установка • Использование • Примеры • Документация
🚀 Особенности
📦 Установка
Из PyPI (рекомендуется)
pip install dssamble
Из исходников
# Клонируйте репозиторий
git clone https://github.com/Dasakami/dssamble.git
cd dssamble
# Установите в режиме разработки
pip install -e .
Проверка установки
dssamble --version
🎮 Использование
Быстрый старт
# Посмотреть доступные команды
dssamble --help
# Узнать о доступных типах структур
dssamble info
Создание проекта
1️⃣ Базовая структура FastAPI
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 приложение с аутентификацией
dssamble create fullstack my_fullstack_app
Сгенерированная структура:
my_fullstack_app/
├── backend/
│ └── test/
│ └── __init__.py
└── frontend/
└── public/
Массовое создание файлов
# Создать несколько файлов
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 проект
# Создаем базовую структуру
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: Микросервис с тестами
# Создаем проект
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 приложение
# Создаем 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
📚 Документация
Команды
dssamble create - Создание структуры проекта
Синтаксис
dssamble create [TYPE] [NAME]
Параметры
TYPE- Тип структуры (basicилиfullstack)NAME- Имя проекта (будет создана папка с этим именем)
Примеры
dssamble create basic api_project
dssamble create fullstack my_webapp
Возможные ошибки
- Если папка с таким именем уже существует, команда выдаст ошибку
- Решение: используйте другое имя или удалите существующую папку
dssamble createfiles - Массовое создание файлов
Синтаксис
dssamble createfiles [FILE1] [FILE2] [FILE3] ...
Параметры
FILE- Путь к файлу (может включать вложенные папки)- Можно указать любое количество файлов
Особенности
- Автоматически создает все необходимые промежуточные папки
- Каждый файл получает базовое содержимое
Примеры
# Простые файлы
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
dssamble info - Справочная информация
Синтаксис
dssamble info
Описание
Показывает список доступных типов структур проектов с описанием.
Пример вывода
Доступные типы структур
1. basic - Базовая структура FastAPI проекта
2. fullstack - Fullstack приложение с аутентификацией
Типы структур
📁 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
Запуск в режиме разработки
# Установка в режиме разработки
pip install -e .
# Тестирование команд
dssamble --help
🤝 Вклад в проект
Мы приветствуем любой вклад в развитие проекта!
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/AmazingFeature) - Закоммитьте изменения (
git commit -m 'Add some AmazingFeature') - Запушьте в ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
📝 Лицензия
Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.
👨💻 Автор
Dan - Dasakami
🌟 Поддержка
Если проект оказался полезным, поставьте ⭐ на GitHub!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dssamble-0.1.1.tar.gz.
File metadata
- Download URL: dssamble-0.1.1.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
679280898aa14da7bc1f9f070d0906ab778a252334a2346ef0155cc59f62b1d1
|
|
| MD5 |
1e466e51df41572ed0b7210acfcf840f
|
|
| BLAKE2b-256 |
3df89f31fed43679929475823f024673d9eb1fcdbaa50ed60ffb42bb50c21623
|
File details
Details for the file dssamble-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dssamble-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad62102994617efe77242b4aecf4b7dbd0fdb5af4e871552d3bec83aec3de51b
|
|
| MD5 |
8a505e63e861c3a0bd5a3a70e2e5396d
|
|
| BLAKE2b-256 |
bb9d60839673ff6a85d4399a3f644893a6719dfbd4766726bafabe2d034d5c5d
|