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
@@ -1455,6 +1455,12 @@ export const dict: Record<I18nKey, string> = {
'chat.emptyState.startNewChat': '새 채팅 시작',
'chat.emptyState.draftTitle': 'What are we working on?',
'chat.emptyState.draftTitleWithProject': 'What are we working on in {project}?',
'chat.draftPresets.explore.label': 'Explore the codebase',
'chat.draftPresets.explore.prompt': 'Give me a high-level tour of this codebase — the architecture, the main modules, and how they fit together.',
'chat.draftPresets.changes.label': 'What changed recently',
'chat.draftPresets.changes.prompt': 'Summarize what changed recently — the latest commits and the current state of this branch.',
'chat.draftPresets.plan.label': 'Start feature planning',
'chat.draftPresets.review.label': 'Review my changes',
'chat.scrollToBottom.aria': '맨 아래로 스크롤',
'chat.timeline.relative.justNow': '방금 전',
'chat.timeline.relative.minutesAgo': '{count}분 전',
@@ -1515,6 +1521,7 @@ export const dict: Record<I18nKey, string> = {
'chat.commandAutocomplete.command.compactDescription': 'AI로 세션 기록을 압축해 컨텍스트 크기를 줄입니다',
'chat.commandAutocomplete.command.summaryDescription': '세션 기록을 안전하게 요약합니다. 명령 뒤에 선택적으로 주제 힌트를 넣을 수 있습니다.',
'chat.commandAutocomplete.command.workspaceReviewDescription': '현재 워크스페이스 변경 사항에서 중요한 이슈만 리뷰합니다.',
'chat.commandAutocomplete.command.featurePlanDescription': '새 기능을 위한 대화형 가이드 계획 세션을 시작합니다.',
'chat.commandAutocomplete.badge.skill': '스킬',
'chat.commandAutocomplete.badge.command': '명령',
'chat.commandAutocomplete.badge.system': 'system',
@@ -1628,6 +1635,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': '메시지 전송에 실패했습니다. 첨부 파일을 복원했습니다.',