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 }