Skip to content
This repository was archived by the owner on Apr 19, 2026. It is now read-only.

Commit 21e4179

Browse files
jpleva91claude
andcommitted
fix: shellforge swarm auto-starts Dagu, setup shows all drivers
- `shellforge swarm` now starts Dagu server directly instead of printing instructions. Dashboard at http://localhost:8080. - Setup step 5 shows all drivers (Crush, Claude Code, Copilot, Codex, Gemini) with install commands for missing ones. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 832de7f commit 21e4179

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

cmd/shellforge/main.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -633,20 +633,25 @@ fmt.Printf(" %d DAG(s) found\n", len(entries))
633633
configPath := findGovernanceConfig()
634634
if configPath == "" {
635635
fmt.Println("⚠ No agentguard.yaml — run 'shellforge setup' first")
636-
} else {
637-
fmt.Println("✓ Governance config found")
636+
return
638637
}
638+
fmt.Println("✓ Governance config found")
639639

640+
// Get absolute path to dags directory
641+
dagsDir, _ := filepath.Abs("dags")
642+
643+
// Start Dagu server
640644
fmt.Println()
641-
fmt.Println("Start the swarm:")
642-
fmt.Println()
643-
fmt.Println(" dagu server --dags=./dags")
644-
fmt.Println()
645-
fmt.Println("Then open http://localhost:8080 for the dashboard.")
646-
fmt.Println()
647-
fmt.Println("Run a DAG now:")
645+
fmt.Printf("→ Starting Dagu server (dags: %s)\n", dagsDir)
646+
fmt.Println(" Dashboard: http://localhost:8080")
647+
fmt.Println(" Press Ctrl+C to stop")
648648
fmt.Println()
649-
fmt.Println(" dagu start dags/sdlc-swarm.yaml")
649+
650+
cmd := exec.Command("dagu", "server", "--dags="+dagsDir)
651+
cmd.Stdout = os.Stdout
652+
cmd.Stderr = os.Stderr
653+
cmd.Stdin = os.Stdin
654+
cmd.Run()
650655
}
651656

652657
func cmdServe(configPath string) {

0 commit comments

Comments
 (0)