Files
nifodea/.agent/src/TEMPLATES/design-report.md
T
2026-07-22 01:37:07 +03:00

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 }}

Поток данных:

  1. {{ data_flow_step_1 }}
  2. {{ data_flow_step_2 }}
  3. {{ 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 }}