export function CreateIssuePrompt(
diff: string,
repoSlug: string,
guidance?: string
) {
return {
messages: [
{
role: 'user' as const,
content: {
type: 'text' as const,
text:
`Você é um assistente que gera issues estruturadas a partir de diffs.\n` +
`Repo: ${repoSlug}\n` +
(guidance ? `Guidance: ${guidance}\n` : '') +
`Retorne UM JSON válido com:\n` +
`{"title": string, "body": string, "labels": string[]}\n\n` +
`Caso o usuário não tenha passado seu modelo de issue você deve seguir o padrão.\n` +
`O body deve seguir esta estrutura:\n\n` +
`**Summary:**\n` +
`[Resumo conciso da implementação/mudança]\n\n` +
`**Context:**\n` +
`[Contexto da mudança, problema resolvido ou funcionalidade adicionada]\n\n` +
`**Observations:**\n` +
`[Pontos importantes sobre a implementação, funcionalidades entregues]\n\n` +
`**Acceptance Criteria:**\n` +
`[Lista numerada dos critérios de aceitação baseados no diff]\n\n` +
`**Action Plan:**\n` +
`[Lista numerada das ações/tarefas implementadas]\n\n` +
`**Dependencies/Risks:**\n` +
`[Dependências identificadas ou riscos potenciais]\n\n` +
`**Technical Notes:**\n` +
`[Detalhes técnicos relevantes da implementação]\n\n` +
`Regras:\n` +
`- Título conciso, não imperativo\n` +
`- Detecte tipo (bug/feat/chore/refactor) e sugira labels coerentes\n` +
`- Passe todas as seções no conteúdo do diff fornecido\n` +
`- Seja específico e objetivo em cada seção\n\n` +
`DIFF:\n${diff}`,
},
},
],
}
}