Skip to content

Dasakami/dssamble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

██████╗ ███████╗███████╗ █████╗ ███╗   ███╗██████╗ ██╗     ███████╗
██╔══██╗██╔════╝██╔════╝██╔══██╗████╗ ████║██╔══██╗██║     ██╔════╝
██║  ██║███████╗███████╗███████║██╔████╔██║██████╔╝██║     █████╗  
██║  ██║╚════██║╚════██║██╔══██║██║╚██╔╝██║██╔══██╗██║     ██╔══╝  
██████╔╝███████║███████║██║  ██║██║ ╚═╝ ██║██████╔╝███████╗███████╗
╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚══════╝╚══════╝

⚡ Мощный CLI-инструмент для генерации структуры проектов

Python License Version Stars

ОсобенностиУстановкаИспользованиеПримерыДокументация


🚀 Особенности

⚡ Быстрый старт

Создавайте готовые структуры проектов одной командой. Больше не нужно тратить время на создание папок и файлов вручную!

🎯 Готовые шаблоны

Профессиональные структуры для FastAPI проектов с лучшими практиками из коробки.

🔧 Гибкость

Массовое создание файлов и папок с автоматической генерацией вложенных директорий.

💡 Простота

Интуитивный интерфейс командной строки с подробной справкой и автодополнением.

📦 Установка

Из 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

🤝 Вклад в проект

Мы приветствуем любой вклад в развитие проекта!

  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.

👨‍💻 Автор

Dan - Dasakami

🌟 Поддержка

Если проект оказался полезным, поставьте ⭐ на GitHub!

📬 Контакты и поддержка

GitHub Issues GitHub Discussions


Made with ❤️ by Dan

About

CLI инструмент для генерации структуры проектов

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages