MCPcopy Create free account
hub / github.com/github/gh-aw / generateWorkflowContent

Method generateWorkflowContent

pkg/cli/interactive.go:534–604  ·  view source on GitHub ↗

generateWorkflowContent creates the workflow markdown content

()

Source from the content-addressed store, hash-verified

532
533// generateWorkflowContent creates the workflow markdown content
534func (b *InteractiveWorkflowBuilder) generateWorkflowContent() string {
535 interactiveLog.Printf("Generating workflow content: trigger=%s, engine=%s, tools=%v, safe_outputs=%v", b.Trigger, b.Engine, b.Tools, b.SafeOutputs)
536 var content strings.Builder
537
538 // Write frontmatter
539 content.WriteString("---\n")
540
541 // Add trigger configuration
542 content.WriteString(b.generateTriggerConfig())
543
544 // Add permissions
545 content.WriteString(b.generatePermissionsConfig())
546
547 // Add engine configuration
548 fmt.Fprintf(&content, "engine: %s\n", b.Engine)
549
550 // Add network configuration
551 content.WriteString(b.generateNetworkConfig())
552
553 // Add tools configuration
554 if len(b.Tools) > 0 {
555 content.WriteString(b.generateToolsConfig())
556 }
557
558 // Add safe outputs configuration
559 if len(b.SafeOutputs) > 0 {
560 content.WriteString(b.generateSafeOutputsConfig())
561 }
562
563 content.WriteString("---\n\n")
564
565 // Add workflow title and content
566 fmt.Fprintf(&content, "# %s\n\n", b.WorkflowName)
567
568 if b.Intent != "" {
569 fmt.Fprintf(&content, "%s\n\n", b.Intent)
570 }
571
572 // Add TODO sections for customization
573 content.WriteString("<!--\n")
574 content.WriteString("## TODO: Customize this workflow\n\n")
575 content.WriteString("The workflow has been generated based on your selections. Consider adding:\n\n")
576 content.WriteString("- [ ] More specific instructions for the AI\n")
577 content.WriteString("- [ ] Error handling requirements\n")
578 content.WriteString("- [ ] Output format specifications\n")
579 content.WriteString("- [ ] Integration with other workflows\n")
580 content.WriteString("- [ ] Testing and validation steps\n\n")
581
582 content.WriteString("## Configuration Summary\n\n")
583 fmt.Fprintf(&content, "- **Trigger**: %s\n", b.describeTrigger())
584 fmt.Fprintf(&content, "- **AI Engine**: %s\n", b.Engine)
585
586 if len(b.Tools) > 0 {
587 fmt.Fprintf(&content, "- **Tools**: %s\n", strings.Join(b.Tools, ", "))
588 }
589
590 if len(b.SafeOutputs) > 0 {
591 fmt.Fprintf(&content, "- **Safe Outputs**: %s\n", strings.Join(b.SafeOutputs, ", "))

Calls 8

generateTriggerConfigMethod · 0.95
generateNetworkConfigMethod · 0.95
generateToolsConfigMethod · 0.95
describeTriggerMethod · 0.95
PrintfMethod · 0.45
StringMethod · 0.45