3.3 KiB
3.3 KiB
Design Report
Session
- Session ID:
{{ session_id }} - Target repo:
{{ target_repo }} - Date: {{ date }}
1. Технологический стек
| Компонент | Выбор | Обоснование |
|---|---|---|
| Язык | {{ language }} | {{ language_rationale }} |
| Фреймворк | {{ framework }} | {{ framework_rationale }} |
| База данных | {{ database }} | {{ database_rationale }} |
| Инфраструктура | {{ infrastructure }} | {{ infrastructure_rationale }} |
2. High-Level архитектура
Паттерн: {{ architecture_pattern }}
{{ architecture_diagram }}
Поток данных:
- {{ data_flow_step_1 }}
- {{ data_flow_step_2 }}
- {{ data_flow_step_3 }}
3. Модули
| Модуль | Ответственность | Ключевые компоненты | Зависит от |
|---|---|---|---|
{{ module_path }} |
{{ responsibility }} | {{ components }} | {{ dependencies }} |
4. Модели данных
Сущности
{% for entity in entities %}
{{ entity.name }}
| Поле | Тип | Ограничения | Описание |
|---|---|---|---|
| {% for field in entity.fields %} | |||
| {{ field.name }} | {{ field.type }} | {{ field.constraints }} | {{ field.description }} |
| {% endfor %} |
Связи: {{ entity.relationships }}
{% endfor %}
5. API / Интерфейсы
{% if has_api %}
| Метод | Путь | Описание | Request | Response |
|---|---|---|---|---|
| {% for endpoint in api_endpoints %} | ||||
| {{ endpoint.method }} | {{ endpoint.path }} | {{ endpoint.description }} | {{ endpoint.request }} | {{ endpoint.response }} |
| {% endfor %} | ||||
| {% endif %} |
{% if has_gui %} Экраны: {{ gui_screens }} {% endif %}
{% if has_cli %} Команды: {{ cli_commands }} {% endif %}
6. Обработка ошибок
- Стратегия: {{ error_strategy }}
- Формат ошибок: {{ error_format }}
- Логирование: {{ logging_strategy }}
7. Тестирование
- Unit-тесты: {{ unit_test_strategy }}
- Integration-тесты: {{ integration_test_strategy }}
- Mock-стратегия: {{ mock_strategy }}
- Команда запуска:
{{ test_command }}
8. Alternative Architecture (если применимо)
| Критерий | Выбранная архитектура | Альтернатива |
|---|---|---|
| Название | {{ chosen_arch }} | {{ alt_arch }} |
| Сложность | {{ chosen_complexity }} | {{ alt_complexity }} |
| Почему не выбрана | — | {{ alt_rejection_reason }} |
9. ADR Reference (если применимо)
| ID | Решение | Файл |
|---|---|---|
| {% for adr in adr_list %} | ||
| {{ adr.id }} | {{ adr.title }} | {{ adr.path }} |
| {% endfor %} |
10. Risk Register (если применимо)
| # | Assumption | Impact | Mitigation |
|---|---|---|---|
| {% for risk in risk_list %} | |||
| {{ risk.id }} | {{ risk.assumption }} | {{ risk.impact }} | {{ risk.mitigation }} |
| {% endfor %} |
11. Предварительная группировка задач
| Задача | Описание | Тип |
|---|---|---|
| T1 | {{ task_1 }} | config |
| T2 | {{ task_2 }} | feature |
| T3 | {{ task_3 }} | feature |
| T4 | {{ task_4 }} | test |
12. Примечания
{{ notes }}