···129129 }
130130 }
131131132132- // Create command
133133- cmd := exec.CommandContext(ctx, "bash", "-c", step.Command)
132132+ // Create command that auto-sources LOOM_ENV if it exists
133133+ // Users can write "VAR=value" to this file to share env vars between steps
134134+ wrappedCommand := `if [ -f "$LOOM_ENV" ]; then set -a; source "$LOOM_ENV"; set +a; fi; ` + step.Command
135135+ cmd := exec.CommandContext(ctx, "bash", "-c", wrappedCommand)
134136 cmd.Dir = "/tangled/workspace"
137137+ cmd.Env = append(os.Environ(), "LOOM_ENV=/tangled/workspace/.loom-env")
135138136139 // Capture stdout and stderr
137140 stdout, err := cmd.StdoutPipe()
+1-1
go.mod
···200200)
201201202202// Use our custom version of tangled until its upstreamed
203203-replace tangled.org/core => tangled.org/evan.jarrett.net/core v1.11.0-alpha.0.20251215153911-cd243782acda
203203+replace tangled.org/core => tangled.org/evan.jarrett.net/core v1.11.0-alpha.0.20251222181345-eeddc6795e05