Files
ratatoskr-go/internal/worker/prompt.go
2026-08-15 09:14:34 +05:00

42 lines
1.4 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package worker
import (
"strings"
"text/template"
)
// devPromptTemplate — промпт для dev-агента при запуске задачи.
var devPromptTemplate = template.Must(template.New("dev").Parse(`Ты — dev-агент, реализуешь задачу в репозитории.
**Задача:**
{{if .Title}}Название: {{.Title}}{{end}}
{{if .Goal}}Цель: {{.Goal}}{{end}}
{{if .Why}}Зачем: {{.Why}}{{end}}
{{if .Repo}}Репозиторий: {{.Repo}}{{end}}
{{if .AC}}Критерии готовности:
{{.AC}}{{end}}
**Инструкции:**
1. Напиши код, реализующий задачу.
2. Убедись, что все acceptance criteria выполнены.
3. В процессе работы пользуйся встроенными инструментами opencode (чтение файлов, поиск, редактирование).
4. По окончании работы верни краткий отчёт о том, что сделано.
`))
// DevPromptData — данные для рендера dev-промпта.
type DevPromptData struct {
Title string
Goal string
Repo string
Why string
AC string
}
// RenderDevPrompt собирает промпт для dev-агента.
func RenderDevPrompt(data DevPromptData) (string, error) {
var buf strings.Builder
if err := devPromptTemplate.Execute(&buf, data); err != nil {
return "", err
}
return buf.String(), nil
}