DeckGenKit 1.0.9
dotnet tool install --global DeckGenKit --version 1.0.9
dotnet new tool-manifest
dotnet tool install --local DeckGenKit --version 1.0.9
#tool dotnet:?package=DeckGenKit&version=1.0.9
nuke :add-package DeckGenKit --version 1.0.9
DeckGenKit 1.0.6
DeckGenKit — глобальный dotnet tool для учебных и pet-проектов на PostgreSQL: Excel → PostgreSQL (schema load), scaffold, cookie-auth + plain passwords, RBAC, admin Web UI в wwwroot.
DeckGenKit is a global dotnet tool for PostgreSQL pet projects: Excel import, ASP.NET Core API, cookie sessions, RBAC, admin UI.
Автор: yukigawa · Репозиторий: https://github.com/kittys1ck666/DeckGenKit
Требования / Requirements
| Компонент | Версия |
|---|---|
SDK для deckgenkit |
.NET 8 или 9 (net8.0 + net9.0 в пакете) |
| Сгенерированный Web API | .NET 8 / 9 — выбор в deckgenkit setup / deckgenkit packages |
| База данных | PostgreSQL (Npgsql + EF Core) |
Добавьте в PATH: ~/.dotnet/tools (Windows: %USERPROFILE%\.dotnet\tools).
Установка / Install
dotnet tool install -g DeckGenKit --version 1.0.5
deckgenkit --version
Обновление:
dotnet tool update -g DeckGenKit
1.0.6 — deckgenkit example test15|test16: демоэкзамен (велосипеды/книги) — CREATE DATABASE, schema load, scaffold, gen-app --full, SQL-файлы и exam-manual-sql.md.
1.0.5 — 10 web-пресетов с уникальной визуальной идентичностью: разные шрифты (Arial, Georgia, Comic Sans, Courier…), макеты (sidebar, editorial, газетные колонки, терминал), стили кнопок (bevel XP, underline, pill, brutalist).
1.0.4 — gen-web / gen-app подхватывают русские displayName из родительской папки Studio (где лежат schema-plan.json и uiEntities), даже если .csproj во вложенной подпапке; исправлен разбор [Column("…", TypeName = …)] у scaffold-моделей.
Интерактивное меню / Interactive menu
Запустите deckgenkit без аргументов — откроется меню (рус/eng):
- Быстрый старт — чеклист шагов 1→8 (
deckgenkit quick) - Schema —
analyze/loadExcel - Генерация —
scaffold→gen-app --full - Studio — мастер в браузере (
deckgenkit studio) - Демоэкзамен —
deckgenkit example test15(велосипеды) /test16(книги)
deckgenkit example test15 # БД demo15june + examples/demo15june-site
deckgenkit example test16 # БД demo16june + examples/demo16june-site
deckgenkit example list
Полный гайд в tool: deckgenkit guide (по умолчанию: --section site).
Auth: plain passwords + cookie only
| ✅ Да | ❌ Нет |
|---|---|
Пароли как в Excel (plain text в колонке password / parol) |
JWT / Bearer tokens |
Вход по cookie-сессии (gen-app --full) |
hash-password, bcrypt, Argon2 |
Роли из user_import.xlsx → roles.json автоматически |
Ручное редактирование roles.json до schema load |
Если user_import.xlsx загружен на шаге 3 — шаг 7 (seed-admin) пропустите.
Рабочий процесс: 8 шагов (1→8)
Шаг 0 (до нумерации): dotnet new webapi -n MyApp + пустая БД PostgreSQL в pgAdmin.
cd MyApp
# 1. Установка
dotnet tool install -g DeckGenKit --version 1.0.5
dotnet tool install -g dotnet-ef
# 2. Schema analyze — план таблиц + связи
deckgenkit schema analyze "./excel-data" -o schema-plan.json --review-links
# 3. Schema load — Excel → PostgreSQL + фото + roles.json
deckgenkit schema load "./excel-data" --project . --review-links
# 4. Config + пакеты NuGet (.NET 8/9)
deckgenkit config init --project .
deckgenkit setup --project .
deckgenkit packages --project .
# 5. Scaffold — Models/ из PostgreSQL
deckgenkit scaffold --project . --run
# 6. Gen-app — API + cookie-auth + RBAC + wwwroot (один раз)
deckgenkit gen-app --project . --full --force
# 7. Seed-admin — ПРОПУСТИТЬ, если user_import.xlsx уже загружен на шаге 3
# deckgenkit seed-admin --project . --username admin --password "YourPass!" --apply
# 8. Запуск
dotnet run
Браузер: http://localhost:<port>/ · Swagger: /swagger · Вход — логин/пароль из user_import.xlsx.
Интерактивный чеклист: deckgenkit quick --project .
Excel-импорт: фото, роли, логотип
| Файл / данные | Назначение |
|---|---|
| 1 Excel = 1 таблица | Заголовки — snake_case на латинице (material_name, product_type_id) |
user_import.xlsx |
Пользователи: логин, пароль (plain), роль — русские роли как в Excel (Администратор, Менеджер, …) |
Фото .jpg / .png рядом с Excel |
Колонка photo / foto / фото — имя файла → wwwroot/images/ |
Icon.png или Icon.ico |
Favicon и логотип сайта (копируется при schema load) |
schema load создаёт roles.json из DISTINCT ролей в user_import — не правьте вручную до загрузки.
Что умеет / Features
| Область | Команды |
|---|---|
| Меню | deckgenkit (без аргументов), deckgenkit quick |
| Онбординг | deckgenkit guide, deckgenkit guide --mellstroy, deckgenkit setup, deckgenkit doctor |
| Схема БД | schema analyze / load — Excel → PostgreSQL |
| Связи | schema analyze --review-links — 1:N, M:N, junction |
| Модели | deckgenkit scaffold --run |
| API + UI | gen-app --full --force — CRUD, cookie-auth, RBAC, Swagger, wwwroot |
| Web UI | 10 пресетов макета, цвета #RRGGBB, один app.js |
| Studio | deckgenkit studio — Wizard / Autopilot / Guide в браузере |
| NuGet в API | deckgenkit packages — пакеты под .NET 8 / 9 |
Web UI — пресеты и цвета
При gen-app --full --force (интерактивно):
- основной / дополнительный / акцент — #RRGGBB
- шрифт
- пресет: Artem, Vlad, Oleg, Sergey, Kirill, Anton, Sasha, Nikita, Extra_Preset1, Extra_Preset2
Без вопросов: --non-interactive (настройки из .deckgenkit.json → webTheme).
.deckgenkit.json (пример)
{
"targetDotNet": 9,
"plainTextPasswords": true,
"webTheme": {
"presetId": "Artem",
"colorPrimary": "#7F948B",
"colorSecondary": "#CFC7C6",
"colorAccent": "#A7B7B0",
"fontMain": "Georgia, serif"
}
}
Полезные команды
deckgenkit --help
deckgenkit guide --section site
deckgenkit guide --section schema
deckgenkit guide --section troubleshooting
deckgenkit doctor --project .
Лицензия
MIT
DeckGenKit 1.0.5 — yukigawa · https://github.com/kittys1ck666/DeckGenKit
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|