prompts.go 776 B

123456789101112131415161718192021222324252627282930313233343536
  1. package agent
  2. import (
  3. _ "embed"
  4. "github.com/charmbracelet/crush/internal/agent/prompt"
  5. )
  6. //go:embed templates/coder.md.tpl
  7. var coderPromptTmpl []byte
  8. //go:embed templates/task.md.tpl
  9. var taskPromptTmpl []byte
  10. //go:embed templates/initialize.md
  11. var initializePrompt []byte
  12. func coderPrompt(opts ...prompt.Option) (*prompt.Prompt, error) {
  13. systemPrompt, err := prompt.NewPrompt("coder", string(coderPromptTmpl), opts...)
  14. if err != nil {
  15. return nil, err
  16. }
  17. return systemPrompt, nil
  18. }
  19. func taskPrompt(opts ...prompt.Option) (*prompt.Prompt, error) {
  20. systemPrompt, err := prompt.NewPrompt("task", string(taskPromptTmpl), opts...)
  21. if err != nil {
  22. return nil, err
  23. }
  24. return systemPrompt, nil
  25. }
  26. func InitializePrompt() string {
  27. return string(initializePrompt)
  28. }