From 0041fc77ec0d218e6a575f47031b2a5e0bfc790c Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Fri, 8 May 2026 11:59:16 +0200 Subject: [PATCH] add OLLIE_PROMPTS_PATH env var and PromptsDirs helper --- pkg/agent/core.go | 8 ++++++++ pkg/env/env.go | 2 ++ pkg/env/env_test.go | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/agent/core.go b/pkg/agent/core.go index 8f4162d..5268c5e 100644 --- a/pkg/agent/core.go +++ b/pkg/agent/core.go @@ -129,6 +129,14 @@ func DefaultPromptsDir() string { return paths.CfgDir() + "/prompts" } +// PromptsDirs returns all prompt directories from OLLIE_PROMPTS_PATH (colon-separated). +func PromptsDirs() []string { + if p := os.Getenv("OLLIE_PROMPTS_PATH"); p != "" { + return strings.Split(p, ":") + } + return []string{DefaultPromptsDir()} +} + // AgentConfigPath resolves the config file path for a named agent. func AgentConfigPath(agentsDir, name string) string { diff --git a/pkg/env/env.go b/pkg/env/env.go index eac1c74..31579c7 100644 --- a/pkg/env/env.go +++ b/pkg/env/env.go @@ -15,6 +15,7 @@ var managed = []string{ "OLLIE", "OLLIE_TOOLS_PATH", "OLLIE_SKILLS_PATH", + "OLLIE_PROMPTS_PATH", "OLLIE_MEMORY_PATH", "OLLIE_TMP_PATH", "OLLIE_TRANSCRIPT_PATH", @@ -35,6 +36,7 @@ func EnsureDefaults() { "OLLIE": filepath.Join(home, "mnt", "ollie"), "OLLIE_TOOLS_PATH": filepath.Join(home, ".config", "ollie", "tools"), "OLLIE_SKILLS_PATH": filepath.Join(home, ".config", "ollie", "skills"), + "OLLIE_PROMPTS_PATH": filepath.Join(home, ".config", "ollie", "prompts"), "OLLIE_MEMORY_PATH": filepath.Join(home, ".config", "ollie", "memory"), "OLLIE_TMP_PATH": filepath.Join(home, ".local", "share", "ollie", "tmp"), "OLLIE_TRANSCRIPT_PATH": filepath.Join(home, ".config", "ollie", "transcript"), diff --git a/pkg/env/env_test.go b/pkg/env/env_test.go index f2950cb..7de6e19 100644 --- a/pkg/env/env_test.go +++ b/pkg/env/env_test.go @@ -13,7 +13,7 @@ func TestEnsureDefaults(t *testing.T) { os.Unsetenv(k) } EnsureDefaults() - for _, k := range []string{"OLLIE", "OLLIE_TOOLS_PATH", "OLLIE_SKILLS_PATH", "OLLIE_MEMORY_PATH", "OLLIE_TMP_PATH", "OLLIE_TRANSCRIPT_PATH"} { + for _, k := range []string{"OLLIE", "OLLIE_TOOLS_PATH", "OLLIE_SKILLS_PATH", "OLLIE_PROMPTS_PATH", "OLLIE_MEMORY_PATH", "OLLIE_TMP_PATH", "OLLIE_TRANSCRIPT_PATH"} { if v := os.Getenv(k); v == "" { t.Errorf("%s not set after EnsureDefaults", k) }