feat: desktop draft welcome presets and /plan-feature command

Add starter preset chips under the composer on the desktop draft welcome
screen (explore, what changed, plan, review). Clicking a chip submits
immediately; prompt chips send a natural-language prompt, command chips
reuse built-in slash commands.

Add a new /plan-feature built-in command, modeled on /workspace-review:
visible + hidden magic prompts that run a guided, batched-question
planning dialogue (investigate the code, ask up to 3 clarifying
questions at a time, surface pitfalls, then produce an implementation
plan). Wired into command autocomplete, the submit handler, the draft
plan chip, and the Magic Prompts settings page, with i18n across all
locales.
This commit is contained in:
Bohdan Triapitsyn
2026-05-30 02:04:32 +03:00
parent 7f90ffb878
commit 2b08a51946
22 changed files with 214 additions and 2 deletions
+8
View File
@@ -1419,6 +1419,12 @@ export const dict: Record<I18nKey, string> = {
"chat.emptyState.startNewChat": "Почніть новий чат",
"chat.emptyState.draftTitle": "Над чим працюємо?",
"chat.emptyState.draftTitleWithProject": "Над чим працюємо в {project}?",
"chat.draftPresets.explore.label": "Огляд кодової бази",
"chat.draftPresets.explore.prompt": "Зроби високорівневий огляд цієї кодової бази — архітектуру, основні модулі та як вони пов'язані між собою.",
"chat.draftPresets.changes.label": "Що нещодавно змінилось",
"chat.draftPresets.changes.prompt": "Підсумуй, що нещодавно змінилось — останні коміти та поточний стан цієї гілки.",
"chat.draftPresets.plan.label": "Розпочати планування фічі",
"chat.draftPresets.review.label": "Переглянути мої зміни",
"chat.scrollToBottom.aria": "Прокрутити вниз",
"chat.timeline.relative.justNow": "щойно",
"chat.timeline.relative.minutesAgo": "{count} хв тому",
@@ -1479,6 +1485,7 @@ export const dict: Record<I18nKey, string> = {
"chat.commandAutocomplete.command.compactDescription": "Стиснути історію сесії за допомогою ШІ, щоб зменшити розмір контексту",
"chat.commandAutocomplete.command.summaryDescription": "Неруйнівний підсумок сесії. Після команди можна додати тему.",
"chat.commandAutocomplete.command.workspaceReviewDescription": "Перегляньте поточні зміни в робочому середовищі лише для проблем із сильним сигналом.",
"chat.commandAutocomplete.command.featurePlanDescription": "Розпочати покрокову діалогову сесію планування нової фічі.",
"chat.commandAutocomplete.badge.skill": "навичка",
"chat.commandAutocomplete.badge.command": "команда",
"chat.commandAutocomplete.badge.system": "система",
@@ -1594,6 +1601,7 @@ export const dict: Record<I18nKey, string> = {
"chat.chatInput.toast.compactFailed": "Не вдалося стиснути сесію",
"chat.chatInput.toast.summaryFailed": "Не вдалося створити підсумок",
"chat.chatInput.toast.reviewFailed": "Не вдалося переглянути зміни",
"chat.chatInput.toast.planFeatureFailed": "Не вдалося розпочати планування фічі",
"chat.chatInput.toast.attachmentsTooLarge": "Вкладені файли завеликі для надсилання. Спробуйте зменшити кількість або розмір зображень.",
"chat.chatInput.toast.sendAttachmentsFailed": "Не вдалося надіслати вкладення. Спробуйте зменшити кількість файлів або зображень.",
"chat.chatInput.toast.messageSendFailed": "Не вдалося надіслати повідомлення. Вкладення відновлено.",