feat: add /weigh approach-comparison command to draft welcome

Add /weigh as a draft chip and command for the moment before planning —
when you know what to build but not how. Its hidden prompt investigates
the code, then lays out 2-3 genuinely distinct approaches with trade-offs
(complexity, risk, blast radius, effort) and a clear recommendation,
without writing a plan or code.

Follows the established command pattern: visible + hidden magic prompts
wired into command autocomplete, the submit handler, draft preset chips,
and the Magic Prompts settings page, with i18n across all locales. Adds a
scales-3 icon to the sprite.
This commit is contained in:
Bohdan Triapitsyn
2026-05-30 02:04:32 +03:00
parent d524842935
commit b09c6b7047
22 changed files with 120 additions and 1 deletions
@@ -1422,6 +1422,7 @@ export const dict: Record<I18nKey, string> = {
"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.catchup.label": "Catch me up",
"chat.draftPresets.weigh.label": "Weigh my options",
"chat.draftPresets.plan.label": "Start feature planning",
"chat.draftPresets.debug.label": "Debug an issue",
"chat.draftPresets.review.label": "Review my changes",
@@ -1488,6 +1489,7 @@ export const dict: Record<I18nKey, string> = {
"chat.commandAutocomplete.command.featurePlanDescription": "Inicie uma sessão de planejamento guiada e interativa para uma nova funcionalidade.",
"chat.commandAutocomplete.command.catchUpDescription": "Retome o contexto: o que você estava fazendo e por onde continuar.",
"chat.commandAutocomplete.command.debugDescription": "Investigação guiada da causa raiz de um bug antes de propor uma correção.",
"chat.commandAutocomplete.command.weighDescription": "Compare 2-3 abordagens com seus prós e contras e uma recomendação antes de decidir.",
"chat.commandAutocomplete.badge.skill": "habilidade",
"chat.commandAutocomplete.badge.command": "comando",
"chat.commandAutocomplete.badge.system": "sistema",
@@ -1606,6 +1608,7 @@ export const dict: Record<I18nKey, string> = {
"chat.chatInput.toast.planFeatureFailed": "Não foi possível iniciar o planejamento da funcionalidade",
"chat.chatInput.toast.catchUpFailed": "Não foi possível retomar o contexto",
"chat.chatInput.toast.debugFailed": "Não foi possível iniciar a depuração",
"chat.chatInput.toast.weighFailed": "Não foi possível comparar as opções",
"chat.chatInput.toast.attachmentsTooLarge": "Os anexos são grandes demais para enviar. Tente reduzir a quantidade ou o tamanho das imagens.",
"chat.chatInput.toast.sendAttachmentsFailed": "Não foi possível enviar os anexos. Tente com menos arquivos ou imagens menores.",
"chat.chatInput.toast.messageSendFailed": "A mensagem não pôde ser enviada. Os anexos foram restaurados.",