refactor promts

This commit is contained in:
2025-09-07 12:41:52 +03:00
parent 699c6439b6
commit 7059440892
29 changed files with 6635 additions and 563 deletions

View File

@@ -1,85 +0,0 @@
<GITEA_ISSUE_DRIVEN_PROTOCOL>
<META>
<PURPOSE>Определить единый, отказоустойчивый и полностью автоматизированный протокол для межагентной коммуникации, основанный на использовании высокоуровневого клиента 'gitea-client.zsh'.</PURPOSE>
<VERSION>4.0</VERSION>
</META>
<CORE_PRINCIPLES>
<PRINCIPLE name="Abstraction_Is_Mandatory">
<DESCRIPTION>**КЛЮЧЕВОЕ ИЗМЕНЕНИЕ:** Все взаимодействия с Gitea **ОБЯЗАНЫ** осуществляться исключительно через `gitea-client.zsh`. Прямые вызовы `tea` или `git` в рамках жизненного цикла задачи запрещены, чтобы гарантировать предсказуемость и централизованное управление логикой.</DESCRIPTION>
</PRINCIPLE>
<PRINCIPLE name="Automated_Context_Discovery">
<DESCRIPTION>Клиент `gitea-client.zsh` автоматически определяет репозиторий (`{repo_slug}`) при инициализации. Агентам не нужно управлять этим состоянием. Роль (`{role_name}`) передается как первый аргумент при каждом вызове.</DESCRIPTION>
</PRINCIPLE>
<PRINCIPLE name="Human_Out_Of_The_Loop">
<DESCRIPTION>Человек взаимодействует с системой исключительно через диалог с Агентом-Архитектором, который инициирует весь воркфлоу.</DESCRIPTION>
</PRINCIPLE>
<PRINCIPLE name="Pull_Request_As_The_Unit_Of_Work">
<DESCRIPTION>Конечным продуктом работы Агента-Разработчика является формальный Pull Request (PR), который является основой для проверки и слияния.</DESCRIPTION>
</PRINCIPLE>
</CORE_PRINCIPLES>
<CLIENT_API name="gitea-client.zsh">
<SYNTAX>`./gitea-client.zsh {role_name} {command} [options]`</SYNTAX>
<COMMAND name="create-task">
<SIGNATURE>`create-task --title "..." --body "..." --assignee "..." --labels "..."`</SIGNATURE>
<PURPOSE>Создание новой задачи в Gitea.</PURPOSE>
</COMMAND>
<COMMAND name="find-tasks">
<SIGNATURE>`find-tasks --type "{label_name}"`</SIGNATURE>
<PURPOSE>Поиск открытых задач с нужным типом и статусом 'pending'.</PURPOSE>
</COMMAND>
<COMMAND name="update-task-status">
<SIGNATURE>`update-task-status --issue-id ID --old "{label}" --new "{label}"`</SIGNATURE>
<PURPOSE>Атомарное изменение статуса задачи (например, с 'pending' на 'in-progress').</PURPOSE>
</COMMAND>
<COMMAND name="create-pr">
<SIGNATURE>`create-pr --title "..." --body "..." --head "{branch}" --base "{target_branch}"`</SIGNATURE>
<PURPOSE>Создание Pull Request.</PURPOSE>
</COMMAND>
<COMMAND name="merge-and-complete">
<SIGNATURE>`merge-and-complete --issue-id ID --pr-id ID --branch "{branch_to_delete}"`</SIGNATURE>
<PURPOSE>Атомарная операция: слияние PR, удаление ветки и закрытие связанной задачи.</PURPOSE>
</COMMAND>
<COMMAND name="return-to-dev">
<SIGNATURE>`return-to-dev --issue-id ID --pr-id ID --report "{defect_report_text}"`</SIGNATURE>
<PURPOSE>Атомарная операция: отклонение PR, добавление комментария с отчетом и переназначение задачи разработчику.</PURPOSE>
</COMMAND>
</CLIENT_API>
<MASTER_WORKFLOW name="Automated_Feature_Lifecycle">
<STEP id="1" name="Initiation (Architect Agent)">
<ACTION>1. Архитектор, после согласования с человеком, создает задачу для Разработчика.</ACTION>
<CLIENT_CALL>`./gitea-client.zsh agent-architect create-task --title "Реализовать модуль X" --body "..." --assignee "agent-developer" --labels "type::development,status::pending"`</CLIENT_CALL>
</STEP>
<STEP id="2" name="Implementation (Developer Agent)">
<ACTION>1. Разработчик находит назначенную ему задачу.</ACTION>
<CLIENT_CALL>`./gitea-client.zsh agent-developer find-tasks --type "type::development"`</CLIENT_CALL>
<ACTION>2. Берет задачу в работу.</ACTION>
<CLIENT_CALL>`./gitea-client.zsh agent-developer update-task-status --issue-id {issue-id} --old "status::pending" --new "status::in-progress"`</CLIENT_CALL>
<ACTION>3. После написания кода и локальных тестов создает Pull Request.</ACTION>
<CLIENT_CALL>`./gitea-client.zsh agent-developer create-pr --title "feat: Реализован модуль X" --body "Closes #{issue-id}" --head "feature/{issue-id}-module-x"`</CLIENT_CALL>
<ACTION>4. Создает задачу для QA-агента, передавая ему контекст (ID задачи и PR).</ACTION>
<CLIENT_CALL>`./gitea-client.zsh agent-developer create-task --title "QA: Проверить реализацию модуля X" --body "PR: #{pr-id}\nIssue: #{issue-id}" --assignee "agent-qa" --labels "type::quality-assurance,status::pending"`</CLIENT_CALL>
</STEP>
<STEP id="3" name="Verification_And_Merge (QA Agent)">
<ACTION>1. QA-Агент находит свою задачу.</ACTION>
<CLIENT_CALL>`./gitea-client.zsh agent-qa find-tasks --type "type::quality-assurance"`</CLIENT_CALL>
<ACTION>2. Берет задачу в работу.</ACTION>
<CLIENT_CALL>`./gitea-client.zsh agent-qa update-task-status --issue-id {qa-issue-id} --old "status::pending" --new "status::in-progress"`</CLIENT_CALL>
<ACTION>3. Извлекает `PULL_REQUEST_ID` и `DEVELOPER_ISSUE_ID` из тела задачи и проводит аудит кода.</ACTION>
<SUCCESS_PATH name="If Audit Passed">
<ACTION>Выполняет единую команду для слияния PR, удаления ветки и закрытия исходной задачи разработчика.</ACTION>
<CLIENT_CALL>`./gitea-client.zsh agent-qa merge-and-complete --issue-id {developer-issue-id} --pr-id {pr-id} --branch "feature/{issue-id}-module-x"`</CLIENT_CALL>
</SUCCESS_PATH>
<FAILURE_PATH name="If Audit Failed">
<ACTION>Выполняет единую команду для отклонения PR и возврата задачи разработчику с отчетом.</ACTION>
<CLIENT_CALL>`./gitea-client.zsh agent-qa return-to-dev --issue-id {developer-issue-id} --pr-id {pr-id} --report "Найдены следующие дефекты: ..."`</CLIENT_CALL>
</FAILURE_PATH>
</STEP>
</MASTER_WORKFLOW>
</GITEA_ISSUE_DRIVEN_PROTOCOL>