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

Commit b956586

Browse files
jpleva91claude
andcommitted
fix: setup wizard actually installs tools instead of printing instructions
When user says yes to DefenseClaw, Docker/OpenShell — actually run the install commands (pip3, brew, curl) instead of just printing URLs. Verify installation after each step and report success/failure. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 21e4179 commit b956586

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

cmd/shellforge/main.go

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
"github.com/AgentGuardHQ/shellforge/internal/scheduler"
2020
)
2121

22-
var version = "0.3.1"
22+
var version = "0.3.2"
2323

2424
func main() {
2525
if len(os.Args) < 2 {
@@ -293,7 +293,17 @@ if _, err := exec.LookPath("defenseclaw"); err != nil {
293293
fmt.Print(" DefenseClaw (supply chain scanner)? [y/N] ")
294294
input := readLine(reader)
295295
if strings.HasPrefix(strings.ToLower(strings.TrimSpace(input)), "y") {
296-
fmt.Println(" → Install from: https://github.com/cisco-ai-defense/defenseclaw")
296+
fmt.Println(" → Installing DefenseClaw...")
297+
if runtime.GOOS == "darwin" {
298+
run("pip3", "install", "defenseclaw")
299+
} else {
300+
run("pip3", "install", "defenseclaw")
301+
}
302+
if _, err := exec.LookPath("defenseclaw"); err == nil {
303+
fmt.Println(" ✓ DefenseClaw installed")
304+
} else {
305+
fmt.Println(" ⚠ Install failed — try manually: pip3 install defenseclaw")
306+
}
297307
} else {
298308
fmt.Println(" Skipped")
299309
}
@@ -307,9 +317,23 @@ fmt.Print(" Docker/OpenShell (sandbox isolation)? [y/N] ")
307317
input := readLine(reader)
308318
if strings.HasPrefix(strings.ToLower(strings.TrimSpace(input)), "y") {
309319
if runtime.GOOS == "darwin" {
310-
fmt.Println(" → brew install colima docker && colima start")
320+
fmt.Println(" → Installing Colima + Docker...")
321+
run("brew", "install", "colima", "docker")
322+
fmt.Println(" → Starting Colima...")
323+
run("colima", "start")
324+
if _, err := exec.LookPath("docker"); err == nil {
325+
fmt.Println(" ✓ Docker ready (OpenShell compatible)")
326+
} else {
327+
fmt.Println(" ⚠ Docker not available after install — check Colima status")
328+
}
311329
} else {
312-
fmt.Println(" → Install Docker: https://docs.docker.com/engine/install/")
330+
fmt.Println(" → Installing Docker...")
331+
run("sh", "-c", "curl -fsSL https://get.docker.com | sh")
332+
if _, err := exec.LookPath("docker"); err == nil {
333+
fmt.Println(" ✓ Docker installed")
334+
} else {
335+
fmt.Println(" ⚠ Install failed — try: https://docs.docker.com/engine/install/")
336+
}
313337
}
314338
} else {
315339
fmt.Println(" Skipped")

0 commit comments

Comments
 (0)