package cc import ( _ "embed" "strings" "superwork-tui/internal/config" ) //go:embed prompts/brainstorm.md var defaultBrainstormPrompt string //go:embed prompts/brainstorm-continue.md var defaultBrainstormContinuePrompt string //go:embed prompts/implement-plan.md var defaultImplementPlanPrompt string //go:embed prompts/review.md var defaultReviewPrompt string func BrainstormPrompt(s *config.Settings, vars struct{ UserRequest, Nonce string }) string { tpl := s.BrainstormPrompt if tpl == "" { tpl = defaultBrainstormPrompt } return strings.NewReplacer("{userRequest}", vars.UserRequest, "{nonce}", vars.Nonce).Replace(tpl) } func BrainstormContinuePrompt(s *config.Settings, vars struct{ IssueNumber string }) string { tpl := s.BrainstormContinuePrompt if tpl == "" { tpl = defaultBrainstormContinuePrompt } return strings.NewReplacer("{issueNumber}", vars.IssueNumber).Replace(tpl) } func ImplementPlanPrompt(s *config.Settings, vars struct{ PlanFile, IssueNumber string }) string { tpl := s.ImplementPlanPrompt if tpl == "" { tpl = defaultImplementPlanPrompt } return strings.NewReplacer("{planFile}", vars.PlanFile, "{issueNumber}", vars.IssueNumber).Replace(tpl) } func ReviewPrompt(s *config.Settings, vars struct{ PrNumber string }) string { tpl := s.ReviewPrompt if tpl == "" { tpl = defaultReviewPrompt } return strings.NewReplacer("{prNumber}", vars.PrNumber).Replace(tpl) }