From 876943468b8257e2d739bc2ebdc2135badda6240 Mon Sep 17 00:00:00 2001 From: centdix Date: Wed, 1 Apr 2026 00:46:59 +0200 Subject: [PATCH] refactor: move init guidance overrides to env vars Co-Authored-By: Claude Opus 4.5 --- ai_evals/cli/README.md | 6 +++--- cli/README.md | 9 +++++---- cli/src/commands/init/init.ts | 25 +++++++------------------ 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/ai_evals/cli/README.md b/ai_evals/cli/README.md index ad7a262489..5cb8e8538b 100644 --- a/ai_evals/cli/README.md +++ b/ai_evals/cli/README.md @@ -160,11 +160,11 @@ addition to the skills bundle: } ``` -That matches the new `wmill init` overrides: +That matches the internal `wmill init` override env vars: ```bash -wmill init --use-default --ai-skills-source ./ai_evals/variants/cli/snapshots/candidate-skills -wmill init --use-default --ai-skills-source ./ai_evals/variants/cli/snapshots/candidate-skills --ai-agents-source ./my-candidate-AGENTS.md +WMILL_INIT_AI_SKILLS_SOURCE=./ai_evals/variants/cli/snapshots/candidate-skills wmill init --use-default +WMILL_INIT_AI_SKILLS_SOURCE=./ai_evals/variants/cli/snapshots/candidate-skills WMILL_INIT_AI_AGENTS_SOURCE=./my-candidate-AGENTS.md wmill init --use-default ``` ## Next Steps diff --git a/cli/README.md b/cli/README.md index 0a476da9e5..478aa2a936 100644 --- a/cli/README.md +++ b/cli/README.md @@ -113,14 +113,15 @@ source <(wmill completions zsh) ### AI Guidance Variants `wmill init` can now materialize alternate AI guidance bundles without changing -the generated defaults in the repo. +the generated defaults in the repo, but this is exposed as internal env-var +overrides rather than public CLI flags. Examples: ```bash -wmill init --use-default --ai-skills-source /path/to/custom/skills -wmill init --use-default --ai-skills-source /path/to/custom/skills --ai-agents-source /path/to/AGENTS.md -wmill init --use-default --ai-skills-source /path/to/custom/skills --ai-claude-source /path/to/CLAUDE.md +WMILL_INIT_AI_SKILLS_SOURCE=/path/to/custom/skills wmill init --use-default +WMILL_INIT_AI_SKILLS_SOURCE=/path/to/custom/skills WMILL_INIT_AI_AGENTS_SOURCE=/path/to/AGENTS.md wmill init --use-default +WMILL_INIT_AI_SKILLS_SOURCE=/path/to/custom/skills WMILL_INIT_AI_CLAUDE_SOURCE=/path/to/CLAUDE.md wmill init --use-default ``` This is the same guidance-writing path used by the benchmark CLI under diff --git a/cli/src/commands/init/init.ts b/cli/src/commands/init/init.ts index 49606479c8..8117dbdd3e 100644 --- a/cli/src/commands/init/init.ts +++ b/cli/src/commands/init/init.ts @@ -22,11 +22,12 @@ export interface InitOptions { baseUrl?: string; configDir?: string; bindProfile?: boolean; - aiSkillsSource?: string; - aiAgentsSource?: string; - aiClaudeSource?: string; } +const WMILL_INIT_AI_SKILLS_SOURCE = "WMILL_INIT_AI_SKILLS_SOURCE"; +const WMILL_INIT_AI_AGENTS_SOURCE = "WMILL_INIT_AI_AGENTS_SOURCE"; +const WMILL_INIT_AI_CLAUDE_SOURCE = "WMILL_INIT_AI_CLAUDE_SOURCE"; + /** * Bootstrap a windmill project with a wmill.yaml file */ @@ -228,9 +229,9 @@ async function initAction(opts: InitOptions) { targetDir: ".", nonDottedPaths, overwriteProjectGuidance: false, - skillsSourcePath: opts.aiSkillsSource, - agentsSourcePath: opts.aiAgentsSource, - claudeSourcePath: opts.aiClaudeSource, + skillsSourcePath: process.env[WMILL_INIT_AI_SKILLS_SOURCE], + agentsSourcePath: process.env[WMILL_INIT_AI_AGENTS_SOURCE], + claudeSourcePath: process.env[WMILL_INIT_AI_CLAUDE_SOURCE], }); if (guidanceResult.agentsWritten) { @@ -266,18 +267,6 @@ const command = new Command() .description("Bootstrap a windmill project with a wmill.yaml file") .option("--use-default", "Use default settings without checking backend") .option("--use-backend", "Use backend git-sync settings if available") - .option( - "--ai-skills-source ", - "Use a custom skills directory instead of the generated .claude/skills bundle" - ) - .option( - "--ai-agents-source ", - "Use a custom AGENTS.md file for AI guidance" - ) - .option( - "--ai-claude-source ", - "Use a custom CLAUDE.md file for AI guidance" - ) .option( "--repository ", "Specify repository path (e.g., u/user/repo) when using backend settings"