7.5 KiB
7.5 KiB
ТЗ — Формирование проекта для БД
Общее описание
На основании файловой структуры (см. architecture.md) формируется проект для конкретной базы данных. Каждый проект — автономная единица с собственными настройками, исходниками и документацией.
Шаблон структуры
Kit.Db/
│
├── rules/ # Правила для LLM по движкам
│ ├── common/ # Общие правила для всех СУБД
│ │ └── ...
│ ├── pg/ # Правила PostgreSQL
│ │ └── db-project-rule.md
│ └── sqlite/ # Правила SQLite
│ └── db-project-rule.md
│
├── skills/ # LLM промпты (описания таблиц, функций)
│ └── ...
│
└── projects/ # Проекты БД
│
├── pg/ # ── PostgreSQL проекты ──
│ │
│ └── kit_auth_pg/ # Проект: БД авторизации
│ │
│ ├── readme.md # Описание БД
│ │
│ ├── settings/ # Настройки подключения
│ │ └── connection.json
│ │
│ ├── auth/ # Модуль: авторизация
│ │ ├── tables/ # DDL таблиц
│ │ │ ├── user.psql
│ │ │ ├── cabinet.psql
│ │ │ └── user_cabinet.psql
│ │ │
│ │ ├── functions/ # SQL функции
│ │ │ ├── user_select_by_ids/
│ │ │ │ └── user_select_by_ids.psql
│ │ │ └── user_create/
│ │ │ └── user_create.psql
│ │ │
│ │ ├── scripts/ # Произвольные скрипты
│ │ │ └── seed_roles.sql
│ │ │
│ │ ├── init/ # Инициализация
│ │ │ └── create_schema.psql
│ │ │
│ │ ├── deploy/ # Миграции
│ │ │ ├── 2026-07-08_user-select-by-ids.sql
│ │ │ └── 2026-07-09-user-seed-merge.sql
│ │ │
│ │ ├── auth.psql # Точка входа модуля
│ │ └── auth.post-deploy.psql
│ │
│ └── _docs/ # Документация проекта
│ ├── diagrams/
│ ├── openapi.yaml
│ └── architecture.md
│
└── sl3/ # ── SQLite проекты ──
│
└── kit_example_sl3/ # Проект: пример
│
├── readme.md
├── settings/
│ └── connection.json
│
├── main/ # Модуль: основной
│ ├── tables/
│ ├── scripts/
│ ├── init/
│ ├── deploy/
│ └── main.sql
│
└── _docs/
├── diagrams/
├── openapi.yaml
└── architecture.md
Структура проекта
Каждый проект БД создаётся по пути:
projects/{engine}/{project_name}/
Где:
{engine}— тип СУБД (pg, sqlite, mysql, mssql и т.д.){project_name}— имя проекта в форматеимя_БД_движок(напримерkit_auth_pg)
Обязательные компоненты проекта
1. readme.md
Описание проекта:
- Назначение БД
- Движок и версия
- Краткое описание модулей
- Связи с другими БД (если есть)
2. settings/
Папка с настройками подключения:
connection.json— параметры подключения к БД (хост, порт, БД, пользователь)
Пример connection.json:
{
"host": "localhost",
"port": 5432,
"database": "kit_auth",
"username": "postgres",
"password": ""
}
3. Модули (auth/, payments/, и т.д.)
Каждый модуль содержит:
tables/— DDL-скрипты таблицfunctions/— SQL-функции и хранимые процедурыscripts/— SQL-скрипты (миграции, seed-данные, утилиты)init/— скрипты инициализации (создание схемы, начальные данные)deploy/— инфраструктура развёртывания (docker-compose, bat, sh){module}.psql— главный файл модуля (точка входа)
4. _docs/
Документация проекта:
diagrams/— диаграммы (ER, зависимости, потоки)openapi.yaml— OpenAPI спецификация (если БД предоставляет API)architecture.md— описание архитектуры конкретной БД
Правила именования
- Папки — в нижнем регистре, через подчёркивание:
kit_auth_pg - SQL-файлы — в нижнем регистре:
create_users_table.sql - Функции — по шаблону:
{module}_{action}.sql(напримерauth_get_user_by_id.sql) - Таблицы — по шаблону:
{module}_{entity}.sql(напримерauth_users.sql)
Правила (rules/)
При формировании проекта LLM использует правила из:
rules/common/— общие правила для всех СУБДrules/{engine}/— правила для конкретного движка
Правила определяют:
- Стиль написания SQL
- Шаблоны описания таблиц и функций
- Формат комментариев
- Стандарты именования
Skills
При формировании проекта LLM использует промпты из skills/ для:
- Генерации описаний таблиц
- Генерации описаний функций
- Формирования документации
- Создания диаграмм
Порядок создания проекта
- Создать папку проекта
projects/{engine}/{project_name}/ - Создать
readme.mdс описанием - Создать
settings/connection.json - Для каждого модуля БД создать папку модуля с подпапками (tables, functions, scripts, init, deploy)
- Создать
_docs/с диаграммами и спецификацией - Заполнить SQL-файлы на основании требований
- Проверить структуру на соответствие шаблону