conductor-init 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,62 +1,62 @@
1
- import nr from"yargs";import{hideBin as ir}from"yargs/helpers";import Fe from"@inquirer/select";var q={agentType:"opencode",agentDir:".opencode",commandsDir:"commands",displayName:"OpenCode",protocolFilename:"AGENTS.md",description:"The open source AI coding agent"};var K={agentType:"claude-code",agentDir:".claude",commandsDir:"commands",displayName:"Claude Code",protocolFilename:"CLAUDE.md",description:"Anthropic's coding assistant"};var X={agentType:"antigravity",agentDir:".agent",commandsDir:"workflows",displayName:"Antigravity",protocolFilename:"GEMINI.md",description:"Google's agentic coding assistant"};var z={agentType:"cursor",agentDir:".cursor",commandsDir:"commands",displayName:"Cursor",protocolFilename:"AGENTS.md",description:"Cursor IDE's AI agent"};import{parse as mo}from"smol-toml";import{readFile as so}from"fs/promises";import{join as at,resolve as nt}from"path";import{fileURLToPath as ao}from"url";import{execSync as it}from"child_process";import{createHash as co}from"crypto";import B from"fs-extra";import{join as ot}from"path";import{homedir as to}from"os";import j from"fs-extra";import{join as T}from"path";import{homedir as ze,platform as Je}from"os";import L from"fs-extra";var N="create-conductor-flow",eo="config.json";function Qe(){if(process.env.CONDUCTOR_CONFIG_DIR)return process.env.CONDUCTOR_CONFIG_DIR;if(process.env.XDG_CONFIG_HOME)return T(process.env.XDG_CONFIG_HOME,N);let t=ze();switch(Je()){case"win32":return T(process.env.APPDATA||T(t,"AppData","Roaming"),N);case"darwin":return T(t,".config",N);default:return T(t,".config",N)}}function Ze(){if(process.env.CONDUCTOR_CACHE_DIR)return process.env.CONDUCTOR_CACHE_DIR;if(process.env.XDG_CACHE_HOME)return T(process.env.XDG_CACHE_HOME,N);let t=ze();switch(Je()){case"win32":return T(process.env.LOCALAPPDATA||T(t,"AppData","Local"),N);case"darwin":return T(t,".cache",N);default:return T(t,".cache",N)}}function Ie(){return T(Qe(),eo)}async function Te(){try{let t=Ie();if(!await L.pathExists(t))return{};let e=await L.readFile(t,"utf-8"),o=JSON.parse(e);return typeof o!="object"||o===null||Array.isArray(o)?(console.warn("[Config] Invalid config format, using defaults"),{}):o}catch(t){return t instanceof SyntaxError&&console.warn("[Config] Config file corrupted, using defaults"),{}}}async function et(t){let e=Ie(),o=Qe();await L.ensureDir(o);let n={...await Te(),...t};await L.writeJson(e,n,{spaces:2})}async function tt(){let t=Ie();await L.pathExists(t)&&await L.remove(t)}var oo=".gemini/cache/conductor",ro="templates";function no(){return process.env.CONDUCTOR_LEGACY_CACHE_DIR?process.env.CONDUCTOR_LEGACY_CACHE_DIR:ot(to(),oo)}function we(){return ot(Ze(),ro)}async function io(t){return await j.pathExists(t)?(await j.readdir(t)).length===0:!0}async function rt(){let t=no(),e=we();try{return await j.pathExists(t)?await io(e)?(console.log(`[Migration] Migrating cache from ${t} to ${e}...`),await j.ensureDir(e),await j.copy(t,e,{overwrite:!1}),console.log("[Migration] Cache migration completed successfully"),console.log(`[Migration] You can safely remove the old cache at: ${t}`),!0):(console.log("[Migration] New cache already exists, skipping migration"),console.log(`[Migration] You can safely remove the old cache at: ${t}`),!1):!1}catch(o){return console.warn("[Migration] Failed to migrate cache:",o instanceof Error?o.message:o),!1}}var st=ao(new URL(".",import.meta.url)),R="https://github.com/gemini-cli-extensions/conductor",O="main";function lo(t=R,e=O){let o=co("md5").update(`${t}#${e}`).digest("hex");return at(we(),o)}function ct(t=R,e=O){return lo(t,e)}async function po(t=R,e=O){let o=ct(t,e);if(B.existsSync(o))try{console.log(`Updating templates from ${t} [${e}]...`),it("git pull --rebase",{cwd:o,stdio:["ignore","ignore","pipe"]})}catch(r){console.warn(`Failed to update templates (using cached version): ${r instanceof Error?r.message:String(r)}`)}else{await B.ensureDir(o),console.log(`Downloading templates from ${t} [${e}]...`);try{it(`git clone ${t} --branch ${e} --depth 1 .`,{cwd:o,stdio:["ignore","ignore","pipe"]})}catch(r){throw await B.remove(o),new Error(`Failed to clone templates: ${r instanceof Error?r.message:String(r)}`)}}}function _(t,e){return t.replace(/\{(\w+)\}/g,(o,r)=>Object.prototype.hasOwnProperty.call(e,r)?e[r]:o)}function go(){let t=nt(st,"conductor");return B.existsSync(t)?t:nt(st,"../conductor")}async function lt(t,e){if(!t){let o=go();if(await B.pathExists(o))return console.log("use bundled Conductor templates"),o}return await po(t,e),ct(t,e)}async function pt(t,e){let o=at(e,t);return so(o,"utf-8")}var k="conductor-",h="~/.gemini/extensions/conductor";var Ee=class{process(e,o){let{installPath:r,agentType:n,fixedAgent:i}=o,s=mo(e);if(!s.prompt)return null;let l=s.prompt;l=l.replaceAll(h,r);let p=_(l,{agent_type:n});return`---
1
+ import ar from"yargs";import{hideBin as cr}from"yargs/helpers";import Fe from"@inquirer/select";var q={agentType:"opencode",agentDir:".opencode",commandsDir:"commands",displayName:"OpenCode",protocolFilename:"AGENTS.md",description:"The open source AI coding agent"};var K={agentType:"claude-code",agentDir:".claude",commandsDir:"commands",displayName:"Claude Code",protocolFilename:"CLAUDE.md",description:"Anthropic's coding assistant"};var X={agentType:"antigravity",agentDir:".agent",commandsDir:"workflows",displayName:"Antigravity",protocolFilename:"GEMINI.md",description:"Google's agentic coding assistant"};var z={agentType:"cursor",agentDir:".cursor",commandsDir:"commands",displayName:"Cursor",protocolFilename:"AGENTS.md",description:"Cursor IDE's AI agent"};import{parse as fo}from"smol-toml";import{readFile as ao}from"fs/promises";import{join as at,resolve as nt}from"path";import{fileURLToPath as co}from"url";import{execSync as it}from"child_process";import{createHash as lo}from"crypto";import B from"fs-extra";import{join as ot}from"path";import{homedir as oo}from"os";import j from"fs-extra";import{join as T}from"path";import{homedir as ze,platform as Je}from"os";import F from"fs-extra";var N="create-conductor-flow",to="config.json";function Qe(){if(process.env.CONDUCTOR_CONFIG_DIR)return process.env.CONDUCTOR_CONFIG_DIR;if(process.env.XDG_CONFIG_HOME)return T(process.env.XDG_CONFIG_HOME,N);let t=ze();switch(Je()){case"win32":return T(process.env.APPDATA||T(t,"AppData","Roaming"),N);case"darwin":return T(t,".config",N);default:return T(t,".config",N)}}function Ze(){if(process.env.CONDUCTOR_CACHE_DIR)return process.env.CONDUCTOR_CACHE_DIR;if(process.env.XDG_CACHE_HOME)return T(process.env.XDG_CACHE_HOME,N);let t=ze();switch(Je()){case"win32":return T(process.env.LOCALAPPDATA||T(t,"AppData","Local"),N);case"darwin":return T(t,".cache",N);default:return T(t,".cache",N)}}function Ie(){return T(Qe(),to)}async function Te(){try{let t=Ie();if(!await F.pathExists(t))return{};let e=await F.readFile(t,"utf-8"),o=JSON.parse(e);return typeof o!="object"||o===null||Array.isArray(o)?(console.warn("[Config] Invalid config format, using defaults"),{}):o}catch(t){return t instanceof SyntaxError&&console.warn("[Config] Config file corrupted, using defaults"),{}}}async function et(t){let e=Ie(),o=Qe();await F.ensureDir(o);let n={...await Te(),...t};await F.writeJson(e,n,{spaces:2})}async function tt(){let t=Ie();await F.pathExists(t)&&await F.remove(t)}var ro=".gemini/cache/conductor",no="templates";function io(){return process.env.CONDUCTOR_LEGACY_CACHE_DIR?process.env.CONDUCTOR_LEGACY_CACHE_DIR:ot(oo(),ro)}function we(){return ot(Ze(),no)}async function so(t){return await j.pathExists(t)?(await j.readdir(t)).length===0:!0}async function rt(){let t=io(),e=we();try{return await j.pathExists(t)?await so(e)?(console.log(`[Migration] Migrating cache from ${t} to ${e}...`),await j.ensureDir(e),await j.copy(t,e,{overwrite:!1}),console.log("[Migration] Cache migration completed successfully"),console.log(`[Migration] You can safely remove the old cache at: ${t}`),!0):(console.log("[Migration] New cache already exists, skipping migration"),console.log(`[Migration] You can safely remove the old cache at: ${t}`),!1):!1}catch(o){return console.warn("[Migration] Failed to migrate cache:",o instanceof Error?o.message:o),!1}}var st=co(new URL(".",import.meta.url)),R="https://github.com/gemini-cli-extensions/conductor",O="main";function po(t=R,e=O){let o=lo("md5").update(`${t}#${e}`).digest("hex");return at(we(),o)}function ct(t=R,e=O){return po(t,e)}async function go(t=R,e=O){let o=ct(t,e);if(B.existsSync(o))try{console.log(`Updating templates from ${t} [${e}]...`),it("git pull --rebase",{cwd:o,stdio:["ignore","ignore","pipe"]})}catch(r){console.warn(`Failed to update templates (using cached version): ${r instanceof Error?r.message:String(r)}`)}else{await B.ensureDir(o),console.log(`Downloading templates from ${t} [${e}]...`);try{it(`git clone ${t} --branch ${e} --depth 1 .`,{cwd:o,stdio:["ignore","ignore","pipe"]})}catch(r){throw await B.remove(o),new Error(`Failed to clone templates: ${r instanceof Error?r.message:String(r)}`)}}}function x(t,e){return t.replace(/\{(\w+)\}/g,(o,r)=>Object.prototype.hasOwnProperty.call(e,r)?e[r]:o)}function mo(){let t=nt(st,"conductor");return B.existsSync(t)?t:nt(st,"../conductor")}async function lt(t,e){if(!t){let o=mo();if(await B.pathExists(o))return console.log("use bundled Conductor templates"),o}return await go(t,e),ct(t,e)}async function pt(t,e){let o=at(e,t);return ao(o,"utf-8")}var k="conductor-",h="~/.gemini/extensions/conductor";var Ee=class{process(e,o){let{installPath:r,agentType:n,fixedAgent:i}=o,s=fo(e);if(!s.prompt)return null;let l=s.prompt;l=l.replaceAll(h,r);let p=x(l,{agent_type:n});return`---
2
2
  description: ${s.description||""}
3
3
  agent: ${i}
4
4
  ---
5
- ${p}`}},gt=new Ee;var J={agentType:"github-copilot",agentDir:".github",commandsDir:"prompts",displayName:"Github Copilot",protocolFilename:"AGENTS.md",description:"Github Copilot's Prompt Files",extension:".prompt.md",fixedAgent:"agent",strategy:{content:gt}};var Q={agentType:"codex",agentDir:".codex",commandsDir:"prompts",displayName:"Codex",protocolFilename:"AGENTS.md",description:"OpenAI Codex Agent",extension:".md"};var Z={agentType:"windsurf",agentDir:".windsurf",commandsDir:"workflows",displayName:"Windsurf",protocolFilename:"AGENTS.md",description:"Windsurf Cascade AI Agent"};import{parse as fo}from"smol-toml";var ve=class{process(e,o){let{installPath:r,agentType:n,commandName:i}=o,s=fo(e);if(!s.prompt)return null;let l=s.prompt;l=l.replaceAll(h,r);let p=_(l,{agent_type:n});return`# Conductor ${i?i.charAt(0).toUpperCase()+i.slice(1):"Command"}${s.description?`
5
+ ${p}`}},gt=new Ee;var J={agentType:"github-copilot",agentDir:".github",commandsDir:"prompts",displayName:"Github Copilot",protocolFilename:"AGENTS.md",description:"Github Copilot's Prompt Files",extension:".prompt.md",fixedAgent:"agent",strategy:{content:gt}};var Q={agentType:"codex",agentDir:".codex",commandsDir:"prompts",displayName:"Codex",protocolFilename:"AGENTS.md",description:"OpenAI Codex Agent",extension:".md"};var Z={agentType:"windsurf",agentDir:".windsurf",commandsDir:"workflows",displayName:"Windsurf",protocolFilename:"AGENTS.md",description:"Windsurf Cascade AI Agent"};import{parse as uo}from"smol-toml";var ve=class{process(e,o){let{installPath:r,agentType:n,commandName:i}=o,s=uo(e);if(!s.prompt)return null;let l=s.prompt;l=l.replaceAll(h,r);let p=x(l,{agent_type:n});return`# Conductor ${i?i.charAt(0).toUpperCase()+i.slice(1):"Command"}${s.description?`
6
6
 
7
7
  `+s.description+`
8
8
 
9
9
  `:`
10
10
 
11
- `}${p}`}},mt=new ve;var ee={agentType:"cline",agentDir:".clinerules",commandsDir:"workflows",displayName:"Cline",protocolFilename:"AGENTS.md",description:"Cline AI coding assistant",strategy:{content:mt}};import{join as uo}from"path";import yo from"fs-extra";import{parse as ho}from"smol-toml";var{writeFile:Co}=yo,Oe=class{process(e,o){let{installPath:r,agentType:n}=o;if(!ho(e).prompt)return null;let s=e.replaceAll(h,r);return _(s,{agent_type:n})}},be=class{async write(e){let{targetDir:o,agentDir:r,commandsDir:n,commandName:i,extension:s,content:l}=e,p=`${i}${s}`;await Co(uo(o,r,n,p),l)}},ft=new Oe,dt=new be;var te={agentType:"gemini",agentDir:".gemini",commandsDir:"commands/conductor",displayName:"Gemini CLI",protocolFilename:"GEMINI.md",description:"Google Gemini CLI agent",extension:".toml",usesPrefix:!1,strategy:{content:ft,file:dt}};import{parse as _o}from"smol-toml";var Ne=class{process(e,o){let{installPath:r,agentType:n,commandName:i}=o,s=_o(e);if(!s.prompt)return null;let l=s.prompt;l=l.replaceAll(h,r);let p=_(l,{agent_type:n});return`# Conductor ${i?i.charAt(0).toUpperCase()+i.slice(1):"Command"}${s.description?`
11
+ `}${p}`}},mt=new ve;var ee={agentType:"cline",agentDir:".clinerules",commandsDir:"workflows",displayName:"Cline",protocolFilename:"AGENTS.md",description:"Cline AI coding assistant",strategy:{content:mt}};import{join as yo}from"path";import Co from"fs-extra";import{parse as xo}from"smol-toml";var{writeFile:ho}=Co,Oe=class{process(e,o){let{installPath:r,agentType:n}=o;if(!xo(e).prompt)return null;let s=e.replaceAll(h,r);return x(s,{agent_type:n})}},be=class{async write(e){let{targetDir:o,agentDir:r,commandsDir:n,commandName:i,extension:s,content:l}=e,p=`${i}${s}`;await ho(yo(o,r,n,p),l)}},ft=new Oe,dt=new be;var te={agentType:"gemini",agentDir:".gemini",commandsDir:"commands/conductor",displayName:"Gemini CLI",protocolFilename:"GEMINI.md",description:"Google Gemini CLI agent",extension:".toml",usesPrefix:!1,strategy:{content:ft,file:dt}};import{parse as _o}from"smol-toml";var Ne=class{process(e,o){let{installPath:r,agentType:n,commandName:i}=o,s=_o(e);if(!s.prompt)return null;let l=s.prompt;l=l.replaceAll(h,r);let p=x(l,{agent_type:n});return`# Conductor ${i?i.charAt(0).toUpperCase()+i.slice(1):"Command"}${s.description?`
12
12
 
13
13
  `+s.description+`
14
14
 
15
15
  `:`
16
16
 
17
- `}${p}`}},ut=new Ne;var oe={agentType:"kilo-code",agentDir:".kilocode",commandsDir:"workflows",displayName:"Kilo Code",protocolFilename:"AGENTS.md",description:"Kilo Code AI coding assistant",strategy:{content:ut}};import{parse as xo}from"smol-toml";var De=class{process(e,o){let{installPath:r,agentType:n,commandName:i}=o,s=xo(e);if(!s.prompt)return null;let l=s.prompt;l=l.replaceAll(h,r);let p=_(l,{agent_type:n});return`# Conductor ${i?i.charAt(0).toUpperCase()+i.slice(1):"Command"}${s.description?`
17
+ `}${p}`}},ut=new Ne;var oe={agentType:"kilo-code",agentDir:".kilocode",commandsDir:"workflows",displayName:"Kilo Code",protocolFilename:"AGENTS.md",description:"Kilo Code AI coding assistant",strategy:{content:ut}};import{parse as Ao}from"smol-toml";var De=class{process(e,o){let{installPath:r,agentType:n,commandName:i}=o,s=Ao(e);if(!s.prompt)return null;let l=s.prompt;l=l.replaceAll(h,r);let p=x(l,{agent_type:n});return`# Conductor ${i?i.charAt(0).toUpperCase()+i.slice(1):"Command"}${s.description?`
18
18
 
19
19
  `+s.description+`
20
20
 
21
21
  `:`
22
22
 
23
- `}${p}`}},yt=new De;var re={agentType:"roo-code",agentDir:".roo",commandsDir:"commands",displayName:"Roo Code",protocolFilename:"AGENTS.md",description:"Roo Code AI coding assistant",strategy:{content:yt}};import{parse as Ao}from"smol-toml";var Ge=class{process(e,o){let{installPath:r,agentType:n}=o,i=Ao(e);if(!i.prompt)return null;let s=i.prompt;s=s.replaceAll(h,r);let l=_(s,{agent_type:n}),p="";return i.description&&(p=`---
23
+ `}${p}`}},yt=new De;var re={agentType:"roo-code",agentDir:".roo",commandsDir:"commands",displayName:"Roo Code",protocolFilename:"AGENTS.md",description:"Roo Code AI coding assistant",strategy:{content:yt}};import{parse as So}from"smol-toml";var Ge=class{process(e,o){let{installPath:r,agentType:n}=o,i=So(e);if(!i.prompt)return null;let s=i.prompt;s=s.replaceAll(h,r);let l=x(s,{agent_type:n}),p="";return i.description&&(p=`---
24
24
  description: "${i.description.replace(/"/g,'\\"')}"
25
25
  ---
26
26
 
27
- `),`${p}${l}`}},Ct=new Ge;var ne={agentType:"qwen-code",agentDir:".qwen",commandsDir:"commands",displayName:"Qwen Code",protocolFilename:"AGENTS.md",description:"Qwen Code AI coding assistant",strategy:{content:Ct}};import{parse as So}from"smol-toml";var Re=class{process(e,o){let{installPath:r,agentType:n}=o,i=So(e);if(!i.prompt)return null;let s=i.prompt;s=s.replaceAll(h,r);let l=_(s,{agent_type:n}),p="";return i.description&&(p=`---
27
+ `),`${p}${l}`}},Ct=new Ge;var ne={agentType:"qwen-code",agentDir:".qwen",commandsDir:"commands",displayName:"Qwen Code",protocolFilename:"AGENTS.md",description:"Qwen Code AI coding assistant",strategy:{content:Ct}};import{parse as Io}from"smol-toml";var Re=class{process(e,o){let{installPath:r,agentType:n}=o,i=Io(e);if(!i.prompt)return null;let s=i.prompt;s=s.replaceAll(h,r);let l=x(s,{agent_type:n}),p="";return i.description&&(p=`---
28
28
  description: "${i.description.replace(/"/g,'\\"')}"
29
29
  ---
30
30
 
31
- `),`${p}${l}`}},ht=new Re;var ie={agentType:"factory-droid",agentDir:".factory",commandsDir:"commands",displayName:"Factory Droid",protocolFilename:"AGENTS.md",description:"Factory Droid AI coding assistant",strategy:{content:ht}};var P=[q,K,X,z,J,Q,Z,ee,oe,re,ne,ie,te];async function _t(t){let e=t==="codex",o=t==="cline";return await Fe({message:"Select installation method:",choices:e?[{name:"Global (User Home Directory)",value:"global"}]:[{name:"Project (Current Directory)",value:"project"}],default:e?"global":"project"})}async function xt(){let t=P.map(o=>{let{displayName:r,agentType:n,protocolFilename:i,agentDir:s,commandsDir:l,description:p}=o,f=p||`${r} agent`,x=`\x1B[90m(${i}, ${s}/${l})\x1B[0m`;return{name:`${r} ${x}`,value:n,description:f}});return await Fe({message:"Select your coding agent:",choices:t,default:"opencode",loop:!0})}async function At(){return await Fe({message:"Configure git ignore for Conductor files?",choices:[{name:"Add to .gitignore",value:"gitignore",description:"Add Conductor entries to the project's .gitignore file"},{name:"Add to .git/info/exclude",value:"exclude",description:"Add Conductor entries to .git/info/exclude (local only, not shared)"},{name:"Remove existing entries",value:"none",description:"Remove Conductor entries from both .gitignore and .git/info/exclude"},{name:"Don't configure git ignore",value:void 0,description:"Skip git ignore configuration"}],default:void 0})}import{join as Io}from"path";import To from"fs-extra";import{parse as Eo}from"smol-toml";var{writeFile:wo}=To,Le=class{process(e,o){let{installPath:r,agentType:n}=o,i=Eo(e);if(!i.prompt)return null;let s=i.prompt;console.log(h,r),s=s.replaceAll(h,r),s=s.replace(/\/conductor:/g,`/${k}`);let l=_(s,{agent_type:n});return i.description?`---
31
+ `),`${p}${l}`}},ht=new Re;var ie={agentType:"factory-droid",agentDir:".factory",commandsDir:"commands",displayName:"Factory Droid",protocolFilename:"AGENTS.md",description:"Factory Droid AI coding assistant",strategy:{content:ht}};var L=[q,K,X,z,J,Q,Z,ee,oe,re,ne,ie,te];async function xt(t){let e=t==="codex",o=t==="cline";return await Fe({message:"Select installation method:",choices:e?[{name:"Global (User Home Directory)",value:"global"}]:[{name:"Project (Current Directory)",value:"project"}],default:e?"global":"project"})}async function _t(){let t=L.map(o=>{let{displayName:r,agentType:n,protocolFilename:i,agentDir:s,commandsDir:l,description:p}=o,d=p||`${r} agent`,_=`\x1B[90m(${i}, ${s}/${l})\x1B[0m`;return{name:`${r} ${_}`,value:n,description:d}});return await Fe({message:"Select your coding agent:",choices:t,default:"opencode",loop:!0})}async function At(){return await Fe({message:"Configure git ignore for Conductor files?",choices:[{name:"Add to .gitignore",value:"gitignore",description:"Add Conductor entries to the project's .gitignore file"},{name:"Add to .git/info/exclude",value:"exclude",description:"Add Conductor entries to .git/info/exclude (local only, not shared)"},{name:"Remove existing entries",value:"none",description:"Remove Conductor entries from both .gitignore and .git/info/exclude"},{name:"Don't configure git ignore",value:void 0,description:"Skip git ignore configuration"}],default:void 0})}import{join as To}from"path";import wo from"fs-extra";import{parse as vo}from"smol-toml";var{writeFile:Eo}=wo,Le=class{process(e,o){let{installPath:r,agentType:n}=o,i=vo(e);if(!i.prompt)return null;let s=i.prompt;console.log(h,r),s=s.replaceAll(h,r),s=s.replace(/\/conductor:/g,`/${k}`);let l=x(s,{agent_type:n});return i.description?`---
32
32
  description: ${i.description}
33
33
  ---
34
- ${l}`:l}},Pe=class{async write(e){let{targetDir:o,agentDir:r,commandsDir:n,commandName:i,extension:s,content:l}=e,p=`${k}${i}${s}`;await wo(Io(o,r,n,p),l)}},St=new Le,It=new Pe;import{join as A}from"path";import vo from"@inquirer/select";import wt from"fs-extra";var{existsSync:D,ensureDir:Tt,copy:Ue}=wt,E=class{constructor(e){this.config=e}async validate(e,o){if(!D(e))throw new Error(`Target directory does not exist: ${e}`);let{agentDir:r,commandsDir:n,displayName:i,extension:s,usesPrefix:l}=this.config,x=`${l!==!1?k:""}setup${s||".md"}`,C=A(e,r,n,x),d=A(e,r,"conductor");if(D(d)&&D(C))throw new Error(`Conductor (${i}) is already installed in: ${e}`);return e}async generate(e,o,r,n,i){let{agentDir:s,commandsDir:l,agentType:p}=this.config,f=A(e,s),x=A(f,l),C=A(s,"conductor");o==="global"&&(C=`~/${s}/conductor`),await Tt(x),await Tt(A(f,"conductor"));let d=await lt(r,n);try{let u=A(d,"templates"),I=A(f,"conductor","templates");await Ue(u,I)}catch(u){console.warn("Failed to copy templates directory:",u)}let{protocolFilename:v}=this.config;if(v)try{let u=A(d,"GEMINI.md"),I=A(e,v);if(D(u)){let G=!0;D(I)&&!i&&(G=await vo({message:`The protocol file '${v}' already exists. Do you want to overwrite it?`,choices:[{value:!0,name:"Overwrite"},{value:!1,name:"Skip"}]})),G&&await Ue(u,I)}}catch(u){console.warn("Failed to handle protocol file:",u)}let $=[];try{let u=A(d,"commands/conductor");if(D(u)){let I=await wt.readdir(u);Array.isArray(I)&&($=I.filter(G=>G.endsWith(".toml")).map(G=>G.replace(/\.toml$/,"")))}}catch(u){console.warn("Failed to discover commands:",u)}$.length===0?(console.log("No commands discovered, using default commands"),$=["setup","newTrack","implement","status","revert","review"]):console.log(`Discovered commands: ${$.join(", ")}`);let Qt=this.config.extension||".md",Zt=this.config.fixedAgent;for(let u of $)try{let I=await pt(A("commands","conductor",`${u}.toml`),d),Xe=(this.config.strategy?.content||St).process(I,{installPath:C,agentType:p,fixedAgent:Zt,commandName:u});Xe&&await(this.config.strategy?.file||It).write({targetDir:e,agentDir:s,commandsDir:l,commandName:u,extension:Qt,content:Xe})}catch(I){console.warn(`Failed to process ${u}:`,I)}let qe=A(d,"templates/workflow.md"),Ke=A(e,"conductor/workflow.md");if(D(Ke)&&D(qe))try{await Ue(qe,Ke),console.log("\u2714 conductor/workflow.md synced")}catch(u){console.warn("Failed to handle workflow file:",u)}else console.warn("Workflow template not found, skipping workflow file sync")}};function y(t){return new E(t)}var se=class{generator=y(q);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var ae=class{generator=y(K);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var ce=class{generator=y(X);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var le=class{generator=y(z);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var pe=class{generator=y(J);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};import{homedir as Et}from"os";var ge=class{generator=y(Q);validate(e,o){return o==="global"&&(e=Et()),this.generator.validate(e,o)}generate(e,o,r,n,i){return o==="global"&&(e=Et()),this.generator.generate(e,o,r,n,i)}};var me=class{generator=y(Z);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var fe=class{generator=y(ee);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var de=class{generator=y(te);async validate(e,o){if(o==="global")throw new Error("Gemini CLI agent only supports project-level installation");return this.generator.validate(e,o)}async generate(e,o,r,n,i){if(o==="global")throw new Error("Gemini CLI agent only supports project-level installation");return this.generator.generate(e,o,r,n,i)}};var ue=class{generator=y(oe);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var ye=class extends E{constructor(){super(re)}};var Ce=class extends E{constructor(){super(ne)}};var he=class extends E{constructor(){super(ie)}};function vt(t){switch(t){case"claude-code":return new ae;case"antigravity":return new ce;case"cursor":return new le;case"github-copilot":return new pe;case"codex":return new ge;case"windsurf":return new me;case"cline":return new fe;case"kilo-code":return new ue;case"roo-code":return new ye;case"qwen-code":return new Ce;case"factory-droid":return new he;case"gemini":return new de;default:return new se}}import{resolve as Mo}from"path";import $o from"@inquirer/select";import{join as Me}from"path";import{readFile as $e,writeFile as Ot,access as Oo,mkdir as bo}from"fs/promises";import{constants as No}from"fs";var bt="# Conductor";function Nt(t){let e=P.find(r=>r.agentType===t);if(!e)return[];let o=[];return e.agentDir&&o.push(e.agentDir),e.protocolFilename&&o.push(e.protocolFilename),o}function H(t){return t.replace(/\/+$/,"")}async function je(t){try{return await Oo(t,No.F_OK),!0}catch{return!1}}async function Do(t,e){let o=[],r=[];if(!await je(t))return{existing:[],missing:[...e]};let i=(await $e(t,"utf-8")).split(`
35
- `).map(s=>H(s.trim()));for(let s of e){let l=H(s);i.includes(l)?o.push(s):r.push(s)}return{existing:o,missing:r}}async function Dt(t,e){let{existing:o,missing:r}=await Do(t,e);if(r.length===0)return{added:[],skipped:o};let n="";await je(t)&&(n=await $e(t,"utf-8")),n.length>0&&!n.endsWith(`
34
+ ${l}`:l}},Pe=class{async write(e){let{targetDir:o,agentDir:r,commandsDir:n,commandName:i,extension:s,content:l}=e,p=`${k}${i}${s}`;await Eo(To(o,r,n,p),l)}},St=new Le,It=new Pe;import{join as A}from"path";import Oo from"@inquirer/select";import wt from"fs-extra";var{existsSync:D,ensureDir:Tt,copy:Me}=wt,E=class{constructor(e){this.config=e}async validate(e,o){if(!D(e))throw new Error(`Target directory does not exist: ${e}`);let{agentDir:r,commandsDir:n,displayName:i,extension:s,usesPrefix:l}=this.config,_=`${l!==!1?k:""}setup${s||".md"}`,C=A(e,r,n,_),g=A(e,r,"conductor");if(D(g)&&D(C))throw new Error(`Conductor (${i}) is already installed in: ${e}`);return e}async generate(e,o,r,n,i){let{agentDir:s,commandsDir:l,agentType:p}=this.config,d=A(e,s),_=A(d,l),C=A(s,"conductor");o==="global"&&(C=`~/${s}/conductor`),await Tt(_),await Tt(A(d,"conductor"));let g=await lt(r,n);try{let u=A(g,"templates"),I=A(d,"conductor","templates");await Me(u,I)}catch(u){console.warn("Failed to copy templates directory:",u)}let{protocolFilename:v}=this.config;if(v)try{let u=A(g,"GEMINI.md"),I=A(e,v);if(D(u)){let G=!0;D(I)&&!i&&(G=await Oo({message:`The protocol file '${v}' already exists. Do you want to overwrite it?`,choices:[{value:!0,name:"Overwrite"},{value:!1,name:"Skip"}]})),G&&await Me(u,I)}}catch(u){console.warn("Failed to handle protocol file:",u)}let $=[];try{let u=A(g,"commands/conductor");if(D(u)){let I=await wt.readdir(u);Array.isArray(I)&&($=I.filter(G=>G.endsWith(".toml")).map(G=>G.replace(/\.toml$/,"")))}}catch(u){console.warn("Failed to discover commands:",u)}$.length===0?(console.log("No commands discovered, using default commands"),$=["setup","newTrack","implement","status","revert","review"]):console.log(`Discovered commands: ${$.join(", ")}`);let Zt=this.config.extension||".md",eo=this.config.fixedAgent;for(let u of $)try{let I=await pt(A("commands","conductor",`${u}.toml`),g),Xe=(this.config.strategy?.content||St).process(I,{installPath:C,agentType:p,fixedAgent:eo,commandName:u});Xe&&await(this.config.strategy?.file||It).write({targetDir:e,agentDir:s,commandsDir:l,commandName:u,extension:Zt,content:Xe})}catch(I){console.warn(`Failed to process ${u}:`,I)}let qe=A(g,"templates/workflow.md"),Ke=A(e,"conductor/workflow.md");if(D(Ke)&&D(qe))try{await Me(qe,Ke),console.log("\u2714 conductor/workflow.md synced")}catch(u){console.warn("Failed to handle workflow file:",u)}else console.warn("Workflow template not found, skipping workflow file sync")}};function y(t){return new E(t)}var se=class{generator=y(q);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var ae=class{generator=y(K);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var ce=class{generator=y(X);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var le=class{generator=y(z);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var pe=class{generator=y(J);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};import{homedir as Et}from"os";var ge=class{generator=y(Q);validate(e,o){return o==="global"&&(e=Et()),this.generator.validate(e,o)}generate(e,o,r,n,i){return o==="global"&&(e=Et()),this.generator.generate(e,o,r,n,i)}};var me=class{generator=y(Z);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var fe=class{generator=y(ee);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var de=class{generator=y(te);async validate(e,o){if(o==="global")throw new Error("Gemini CLI agent only supports project-level installation");return this.generator.validate(e,o)}async generate(e,o,r,n,i){if(o==="global")throw new Error("Gemini CLI agent only supports project-level installation");return this.generator.generate(e,o,r,n,i)}};var ue=class{generator=y(oe);validate(e,o){return this.generator.validate(e,o)}generate(e,o,r,n,i){return this.generator.generate(e,o,r,n,i)}};var ye=class extends E{constructor(){super(re)}};var Ce=class extends E{constructor(){super(ne)}};var he=class extends E{constructor(){super(ie)}};function vt(t){switch(t){case"claude-code":return new ae;case"antigravity":return new ce;case"cursor":return new le;case"github-copilot":return new pe;case"codex":return new ge;case"windsurf":return new me;case"cline":return new fe;case"kilo-code":return new ue;case"roo-code":return new ye;case"qwen-code":return new Ce;case"factory-droid":return new he;case"gemini":return new de;default:return new se}}import{resolve as Bo}from"path";import ko from"@inquirer/select";import{join as Ue}from"path";import{readFile as $e,writeFile as Ot,access as bo,mkdir as No}from"fs/promises";import{constants as Do}from"fs";var bt="# Conductor";function Nt(t){let e=L.find(r=>r.agentType===t);if(!e)return[];let o=[];return e.agentDir&&o.push(e.agentDir),e.protocolFilename&&o.push(e.protocolFilename),o}function H(t){return t.replace(/\/+$/,"")}async function je(t){try{return await bo(t,Do.F_OK),!0}catch{return!1}}async function Go(t,e){let o=[],r=[];if(!await je(t))return{existing:[],missing:[...e]};let i=(await $e(t,"utf-8")).split(`
35
+ `).map(s=>H(s.trim()));for(let s of e){let l=H(s);i.includes(l)?o.push(s):r.push(s)}return{existing:o,missing:r}}async function Dt(t,e){let{existing:o,missing:r}=await Go(t,e);if(r.length===0)return{added:[],skipped:o};let n="";await je(t)&&(n=await $e(t,"utf-8")),n.length>0&&!n.endsWith(`
36
36
  `)&&(n+=`
37
37
  `),n+=`
38
38
  ${bt}
39
39
  `;for(let s of r)n+=`${s}
40
- `;let i=Me(t,"..");return await bo(i,{recursive:!0}),await Ot(t,n,"utf-8"),{added:r,skipped:o}}async function Be(t,e){if(!await je(t))return{removed:[]};let r=(await $e(t,"utf-8")).split(`
41
- `),n=e.map(H),i=[],s=[];for(let x of r){let C=H(x.trim());if(C!==bt){if(n.includes(C)){let d=e.find(v=>H(v)===C);d&&!i.includes(d)&&i.push(d);continue}s.push(x)}}let l=[],p=!1;for(let x of s){let C=x.trim()==="";C&&p||(l.push(x),p=C)}for(;l.length>0&&l[l.length-1].trim()==="";)l.pop();let f=l.length>0?l.join(`
40
+ `;let i=Ue(t,"..");return await No(i,{recursive:!0}),await Ot(t,n,"utf-8"),{added:r,skipped:o}}async function Be(t,e){if(!await je(t))return{removed:[]};let r=(await $e(t,"utf-8")).split(`
41
+ `),n=e.map(H),i=[],s=[];for(let _ of r){let C=H(_.trim());if(C!==bt){if(n.includes(C)){let g=e.find(v=>H(v)===C);g&&!i.includes(g)&&i.push(g);continue}s.push(_)}}let l=[],p=!1;for(let _ of s){let C=_.trim()==="";C&&p||(l.push(_),p=C)}for(;l.length>0&&l[l.length-1].trim()==="";)l.pop();let d=l.length>0?l.join(`
42
42
  `)+`
43
- `:"";return await Ot(t,f,"utf-8"),{removed:i}}function _e(t,e){return e==="gitignore"?Me(t,".gitignore"):Me(t,".git","info","exclude")}async function Gt(t,e,o){let r=Nt(o);return r.length===0?{action:"none",entries:[],message:`No git ignore entries found for agent ${o}`}:e==="none"?await Ro(t,r):await Go(t,e,r)}async function Go(t,e,o){let r=_e(t,e),n=await Dt(r,o);if(n.added.length===0)return{action:"skipped",entries:n.skipped,message:"Git ignore entries already present, skipping.",targetFiles:[r]};let i=e==="gitignore"?".gitignore":".git/info/exclude";return{action:"added",entries:n.added,message:`Added ${n.added.length} entries to ${i}: ${n.added.join(", ")}`,targetFiles:[r]}}async function Ro(t,e){let o=_e(t,"gitignore"),r=_e(t,"exclude"),n=await Be(o,e),i=await Be(r,e),s=[...new Set([...n.removed,...i.removed])];if(s.length===0)return{action:"none",entries:[],message:"No Conductor git ignore entries found."};let l=[],p=[];return n.removed.length>0&&(l.push(o),p.push(`.gitignore (${n.removed.length})`)),i.removed.length>0&&(l.push(r),p.push(`.git/info/exclude (${i.removed.length})`)),{action:"removed",entries:s,message:`Removed entries from: ${p.join(", ")}`,targetFiles:l}}import Lo from"@inquirer/select";import Rt from"@inquirer/input";import{execSync as Fo}from"child_process";var V;function xe(){if(V!==void 0)return V;try{Fo("git --version",{stdio:"ignore"}),V=!0}catch{V=!1}return V}var b={SELECT_SOURCE_MESSAGE:"Select template source:",BUNDLED_LABEL:"Bundled Templates (Offline)",BUNDLED_DESCRIPTION:"Use built-in templates, no network required",OFFICIAL_LABEL:"Official Repository (Latest)",OFFICIAL_DESCRIPTION:"Fetch latest from official repository",CUSTOM_LABEL:"Custom Repository",CUSTOM_DESCRIPTION:"Specify your own repository and branch",CUSTOM_REPO_PROMPT:"Enter repository URL:",CUSTOM_BRANCH_PROMPT:"Enter branch name:"},F={USING_BUNDLED:"Using bundled Conductor templates",DOWNLOADING_FROM:(t,e)=>`Downloading templates from ${t} [${e}]...`,NON_INTERACTIVE_BUNDLED:"Non-interactive mode detected. Using bundled templates.",GIT_NOT_FOUND_INFO:"\u2139 Remote templates require git. Install git to enable remote options.",GIT_NOT_FOUND_FALLBACK:"\u26A0 git not found, falling back to bundled templates",GIT_NOT_FOUND_SKIP_GITIGNORE:"\u26A0 git not found, skipping git ignore configuration"};function Po(){return!(process.env.CI==="true"||!process.stdin.isTTY)}function Uo(t){if(!t||t.trim().length===0)return"Repository URL is required";let e=t.trim();return e.startsWith("https://")||e.startsWith("git@")||e.startsWith("/")||e.startsWith("./")||e.startsWith("../")?!0:"Invalid repository URL. Please provide an HTTPS URL, SSH URL, or local path."}async function Ft(){if(!Po())return console.log(F.NON_INTERACTIVE_BUNDLED),{source:"bundled"};let t=xe();t||console.log(F.GIT_NOT_FOUND_INFO);let e=[{name:b.BUNDLED_LABEL,value:"bundled",description:b.BUNDLED_DESCRIPTION},...t?[{name:b.OFFICIAL_LABEL,value:"official",description:b.OFFICIAL_DESCRIPTION},{name:b.CUSTOM_LABEL,value:"custom",description:b.CUSTOM_DESCRIPTION}]:[]];switch(await Lo({message:b.SELECT_SOURCE_MESSAGE,choices:e,default:"bundled"})){case"bundled":return{source:"bundled"};case"official":return{source:"official",repo:R,branch:O};case"custom":{let r=await Rt({message:b.CUSTOM_REPO_PROMPT,validate:Uo}),n=await Rt({message:b.CUSTOM_BRANCH_PROMPT,default:O});return{source:"custom",repo:r.trim(),branch:n.trim()||O}}default:return{source:"bundled"}}}function Lt(t){switch(t.source){case"bundled":return{repo:void 0,branch:void 0};case"official":case"custom":return{repo:t.repo,branch:t.branch};default:return{repo:void 0,branch:void 0}}}async function Pt(t){let e=Mo(process.cwd(),t.path),o=t.force??!1,r=t.config??{};try{console.log(`Initializing Conductor in: ${e}`);let n;t.agent?(n=t.agent,console.log(`Using provided agent: ${n}`)):r.agent?(n=r.agent,console.log(`[Config] Using saved agent: ${n}`)):(console.log("Step 1: Prompting for agent selection..."),n=await xt(),console.log(`\u2714 Selected agent: ${n}`));let i;t.scope?(i=t.scope,console.log(`Using provided scope: ${i}`)):i=await _t(n),console.log(`\u2714 Selected scope: ${i}`);let s=xe(),l=t.gitIgnore;!s&&(t.gitIgnore||r.gitIgnore)?(console.warn(F.GIT_NOT_FOUND_SKIP_GITIGNORE),l=void 0):t.gitIgnore&&i==="global"?(console.warn("\u26A0 --git-ignore flag is only supported for project scope. Skipping git ignore configuration."),l=void 0):!t.gitIgnore&&i==="project"&&s&&(r.gitIgnore?(l=r.gitIgnore,console.log(`[Config] Using saved git-ignore: ${l}`)):l=await At());let p=t.repo,f=t.branch;if(t.repo)console.log(`Using provided repository: ${t.repo}`),t.branch&&console.log(`Using provided branch: ${t.branch}`);else if(r.repo)p=r.repo,f=r.branch??f,console.log(`[Config] Using saved template source: ${p} [${f}]`);else{let d=await Ft(),v=Lt(d);p=v.repo,f=v.branch,d.source==="bundled"?console.log(`\u2714 ${F.USING_BUNDLED}`):p&&console.log(`\u2714 ${F.DOWNLOADING_FROM(p,f||"main")}`)}p&&!s&&(console.warn(F.GIT_NOT_FOUND_FALLBACK),p=void 0,f=void 0);let x=vt(n);console.log(`
44
- Step 3: Validating project directory...`);let C;try{C=await x.validate(e,i)}catch(d){if(d instanceof Error&&d.message.includes("already installed"))if(o)console.log("\u26A0 Force mode: Overwriting existing installation"),C=e;else if(await $o({message:`${d.message}
45
- Do you want to overwrite the existing installation?`,choices:[{value:!0,name:"Yes, overwrite"},{value:!1,name:"No, cancel"}]}))console.log("Overwriting existing installation..."),C=e;else{console.log("Installation cancelled.");return}else throw d}if(console.log(`\u2714 Validation complete: ${C}`),console.log(`
46
- Step 4: Generating files...`),await x.generate(C,i,p,f,o),console.log("\u2714 Files generated"),l){console.log(`
47
- Step 5: Configuring git ignore...`);let d=await Gt(C,l,n);console.log(`\u2714 ${d.message}`)}console.log(`
48
- Saving preferences...`),await et({agent:n,repo:p,branch:f,gitIgnore:l}),console.log("\u2714 Preferences saved"),console.log(`
43
+ `:"";return await Ot(t,d,"utf-8"),{removed:i}}function xe(t,e){return e==="gitignore"?Ue(t,".gitignore"):Ue(t,".git","info","exclude")}async function Gt(t,e,o){let r=Nt(o);return r.length===0?{action:"none",entries:[],message:`No git ignore entries found for agent ${o}`}:e==="none"?await Fo(t,r):await Ro(t,e,r)}async function Ro(t,e,o){let r=xe(t,e),n=await Dt(r,o);if(n.added.length===0)return{action:"skipped",entries:n.skipped,message:"Git ignore entries already present, skipping.",targetFiles:[r]};let i=e==="gitignore"?".gitignore":".git/info/exclude";return{action:"added",entries:n.added,message:`Added ${n.added.length} entries to ${i}: ${n.added.join(", ")}`,targetFiles:[r]}}async function Fo(t,e){let o=xe(t,"gitignore"),r=xe(t,"exclude"),n=await Be(o,e),i=await Be(r,e),s=[...new Set([...n.removed,...i.removed])];if(s.length===0)return{action:"none",entries:[],message:"No Conductor git ignore entries found."};let l=[],p=[];return n.removed.length>0&&(l.push(o),p.push(`.gitignore (${n.removed.length})`)),i.removed.length>0&&(l.push(r),p.push(`.git/info/exclude (${i.removed.length})`)),{action:"removed",entries:s,message:`Removed entries from: ${p.join(", ")}`,targetFiles:l}}import Uo from"@inquirer/select";import Ft from"@inquirer/input";import{execSync as Lo}from"child_process";import{existsSync as Po}from"fs";import{join as Mo}from"path";var V;function _e(){if(V!==void 0)return V;try{Lo("git --version",{stdio:"ignore"}),V=!0}catch{V=!1}return V}function Rt(t){let e=Mo(t,".git");return Po(e)}var b={SELECT_SOURCE_MESSAGE:"Select template source:",BUNDLED_LABEL:"Bundled Templates (Offline)",BUNDLED_DESCRIPTION:"Use built-in templates, no network required",OFFICIAL_LABEL:"Official Repository (Latest)",OFFICIAL_DESCRIPTION:"Fetch latest from official repository",CUSTOM_LABEL:"Custom Repository",CUSTOM_DESCRIPTION:"Specify your own repository and branch",CUSTOM_REPO_PROMPT:"Enter repository URL:",CUSTOM_BRANCH_PROMPT:"Enter branch name:"},P={USING_BUNDLED:"Using bundled Conductor templates",DOWNLOADING_FROM:(t,e)=>`Downloading templates from ${t} [${e}]...`,NON_INTERACTIVE_BUNDLED:"Non-interactive mode detected. Using bundled templates.",GIT_NOT_FOUND_INFO:"\u2139 Remote templates require git. Install git to enable remote options.",GIT_NOT_FOUND_FALLBACK:"\u26A0 git not found, falling back to bundled templates",GIT_NOT_FOUND_SKIP_GITIGNORE:"\u26A0 git not found, skipping git ignore configuration"};function $o(){return!(process.env.CI==="true"||!process.stdin.isTTY)}function jo(t){if(!t||t.trim().length===0)return"Repository URL is required";let e=t.trim();return e.startsWith("https://")||e.startsWith("git@")||e.startsWith("/")||e.startsWith("./")||e.startsWith("../")?!0:"Invalid repository URL. Please provide an HTTPS URL, SSH URL, or local path."}async function Lt(){if(!$o())return console.log(P.NON_INTERACTIVE_BUNDLED),{source:"bundled"};let t=_e();t||console.log(P.GIT_NOT_FOUND_INFO);let e=[{name:b.BUNDLED_LABEL,value:"bundled",description:b.BUNDLED_DESCRIPTION},...t?[{name:b.OFFICIAL_LABEL,value:"official",description:b.OFFICIAL_DESCRIPTION},{name:b.CUSTOM_LABEL,value:"custom",description:b.CUSTOM_DESCRIPTION}]:[]];switch(await Uo({message:b.SELECT_SOURCE_MESSAGE,choices:e,default:"bundled"})){case"bundled":return{source:"bundled"};case"official":return{source:"official",repo:R,branch:O};case"custom":{let r=await Ft({message:b.CUSTOM_REPO_PROMPT,validate:jo}),n=await Ft({message:b.CUSTOM_BRANCH_PROMPT,default:O});return{source:"custom",repo:r.trim(),branch:n.trim()||O}}default:return{source:"bundled"}}}function Pt(t){switch(t.source){case"bundled":return{repo:void 0,branch:void 0};case"official":case"custom":return{repo:t.repo,branch:t.branch};default:return{repo:void 0,branch:void 0}}}async function Mt(t){let e=Bo(process.cwd(),t.path),o=t.force??!1,r=t.config??{};try{console.log(`Initializing Conductor in: ${e}`);let n;t.agent?(n=t.agent,console.log(`Using provided agent: ${n}`)):(console.log("Step 1: Prompting for agent selection..."),n=await _t(),console.log(`\u2714 Selected agent: ${n}`));let i;t.scope?(i=t.scope,console.log(`Using provided scope: ${i}`)):i=await xt(n),console.log(`\u2714 Selected scope: ${i}`);let s=Rt(e),l=t.gitIgnore;if(t.gitIgnore&&i==="global")console.warn("\u26A0 --git-ignore flag is only supported for project scope. Skipping git ignore configuration."),l=void 0;else if(s)!t.gitIgnore&&i==="project"&&(r.gitIgnore?(l=r.gitIgnore,console.log(`[Config] Using saved git-ignore: ${l}`)):l=await At());else{let g=t.gitIgnore??r.gitIgnore;g&&g!=="none"&&console.warn("\u26A0 Target directory is not a git repository, skipping git ignore configuration"),t.gitIgnore!=="none"&&(l=void 0)}let p=t.repo,d=t.branch;if(t.repo)console.log(`Using provided repository: ${t.repo}`),t.branch&&console.log(`Using provided branch: ${t.branch}`);else if(r.repo)p=r.repo,d=r.branch??d,console.log(`[Config] Using saved template source: ${p} [${d}]`);else{let g=await Lt(),v=Pt(g);p=v.repo,d=v.branch,g.source==="bundled"?console.log(`\u2714 ${P.USING_BUNDLED}`):p&&console.log(`\u2714 ${P.DOWNLOADING_FROM(p,d||"main")}`)}p&&!_e()&&(console.warn(P.GIT_NOT_FOUND_FALLBACK),p=void 0,d=void 0);let _=vt(n);console.log(`
44
+ Step 3: Validating project directory...`);let C;try{C=await _.validate(e,i)}catch(g){if(g instanceof Error&&g.message.includes("already installed"))if(o)console.log("\u26A0 Force mode: Overwriting existing installation"),C=e;else if(await ko({message:`${g.message}
45
+ Do you want to overwrite the existing installation?`,choices:[{value:!0,name:"Yes, overwrite"},{value:!1,name:"No, cancel"}]}))console.log("Overwriting existing installation..."),C=e;else{console.log("Installation cancelled.");return}else throw g}if(console.log(`\u2714 Validation complete: ${C}`),console.log(`
46
+ Step 4: Generating files...`),await _.generate(C,i,p,d,o),console.log("\u2714 Files generated"),l){console.log(`
47
+ Step 5: Configuring git ignore...`);let g=await Gt(C,l,n);console.log(`\u2714 ${g.message}`)}console.log(`
48
+ Saving preferences...`),await et({repo:p,branch:d,gitIgnore:l}),console.log("\u2714 Preferences saved"),console.log(`
49
49
  \u2714 Conductor initialized successfully!`)}catch(n){console.error(`
50
- \u2718 Installation failed:`,n instanceof Error?n.message:n),process.exit(1)}}import tr from"gradient-string";var Ut=(t=0)=>e=>`\x1B[${e+t}m`,Mt=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,$t=(t=0)=>(e,o,r)=>`\x1B[${38+t};2;${e};${o};${r}m`,g={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},fl=Object.keys(g.modifier),jo=Object.keys(g.color),Bo=Object.keys(g.bgColor),dl=[...jo,...Bo];function ko(){let t=new Map;for(let[e,o]of Object.entries(g)){for(let[r,n]of Object.entries(o))g[r]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[r]=g[r],t.set(n[0],n[1]);Object.defineProperty(g,e,{value:o,enumerable:!1})}return Object.defineProperty(g,"codes",{value:t,enumerable:!1}),g.color.close="\x1B[39m",g.bgColor.close="\x1B[49m",g.color.ansi=Ut(),g.color.ansi256=Mt(),g.color.ansi16m=$t(),g.bgColor.ansi=Ut(10),g.bgColor.ansi256=Mt(10),g.bgColor.ansi16m=$t(10),Object.defineProperties(g,{rgbToAnsi256:{value(e,o,r){return e===o&&o===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(o/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(e){let o=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!o)return[0,0,0];let[r]=o;r.length===3&&(r=[...r].map(i=>i+i).join(""));let n=Number.parseInt(r,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:e=>g.rgbToAnsi256(...g.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let o,r,n;if(e>=232)o=((e-232)*10+8)/255,r=o,n=o;else{e-=16;let l=e%36;o=Math.floor(e/36)/5,r=Math.floor(l/6)/5,n=l%6/5}let i=Math.max(o,r,n)*2;if(i===0)return 30;let s=30+(Math.round(n)<<2|Math.round(r)<<1|Math.round(o));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(e,o,r)=>g.ansi256ToAnsi(g.rgbToAnsi256(e,o,r)),enumerable:!1},hexToAnsi:{value:e=>g.ansi256ToAnsi(g.hexToAnsi256(e)),enumerable:!1}}),g}var Ho=ko(),w=Ho;import ke from"process";import Vo from"os";import jt from"tty";function S(t,e=globalThis.Deno?globalThis.Deno.args:ke.argv){let o=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(o+t),n=e.indexOf("--");return r!==-1&&(n===-1||r<n)}var{env:m}=ke,Ae;S("no-color")||S("no-colors")||S("color=false")||S("color=never")?Ae=0:(S("color")||S("colors")||S("color=true")||S("color=always"))&&(Ae=1);function Yo(){if("FORCE_COLOR"in m)return m.FORCE_COLOR==="true"?1:m.FORCE_COLOR==="false"?0:m.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(m.FORCE_COLOR,10),3)}function Wo(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function qo(t,{streamIsTTY:e,sniffFlags:o=!0}={}){let r=Yo();r!==void 0&&(Ae=r);let n=o?Ae:r;if(n===0)return 0;if(o){if(S("color=16m")||S("color=full")||S("color=truecolor"))return 3;if(S("color=256"))return 2}if("TF_BUILD"in m&&"AGENT_NAME"in m)return 1;if(t&&!e&&n===void 0)return 0;let i=n||0;if(m.TERM==="dumb")return i;if(ke.platform==="win32"){let s=Vo.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in m)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in m)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in m)||m.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in m)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(m.TEAMCITY_VERSION)?1:0;if(m.COLORTERM==="truecolor"||m.TERM==="xterm-kitty"||m.TERM==="xterm-ghostty"||m.TERM==="wezterm")return 3;if("TERM_PROGRAM"in m){let s=Number.parseInt((m.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(m.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(m.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(m.TERM)||"COLORTERM"in m?1:i}function Bt(t,e={}){let o=qo(t,{streamIsTTY:t&&t.isTTY,...e});return Wo(o)}var Ko={stdout:Bt({isTTY:jt.isatty(1)}),stderr:Bt({isTTY:jt.isatty(2)})},kt=Ko;function Ht(t,e,o){let r=t.indexOf(e);if(r===-1)return t;let n=e.length,i=0,s="";do s+=t.slice(i,r)+e+o,i=r+n,r=t.indexOf(e,i);while(r!==-1);return s+=t.slice(i),s}function Vt(t,e,o,r){let n=0,i="";do{let s=t[r-1]==="\r";i+=t.slice(n,s?r-1:r)+e+(s?`\r
50
+ \u2718 Installation failed:`,n instanceof Error?n.message:n),process.exit(1)}}import nr from"gradient-string";var Ut=(t=0)=>e=>`\x1B[${e+t}m`,$t=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,jt=(t=0)=>(e,o,r)=>`\x1B[${38+t};2;${e};${o};${r}m`,m={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},hl=Object.keys(m.modifier),Ho=Object.keys(m.color),Vo=Object.keys(m.bgColor),xl=[...Ho,...Vo];function Yo(){let t=new Map;for(let[e,o]of Object.entries(m)){for(let[r,n]of Object.entries(o))m[r]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[r]=m[r],t.set(n[0],n[1]);Object.defineProperty(m,e,{value:o,enumerable:!1})}return Object.defineProperty(m,"codes",{value:t,enumerable:!1}),m.color.close="\x1B[39m",m.bgColor.close="\x1B[49m",m.color.ansi=Ut(),m.color.ansi256=$t(),m.color.ansi16m=jt(),m.bgColor.ansi=Ut(10),m.bgColor.ansi256=$t(10),m.bgColor.ansi16m=jt(10),Object.defineProperties(m,{rgbToAnsi256:{value(e,o,r){return e===o&&o===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(o/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(e){let o=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!o)return[0,0,0];let[r]=o;r.length===3&&(r=[...r].map(i=>i+i).join(""));let n=Number.parseInt(r,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:e=>m.rgbToAnsi256(...m.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let o,r,n;if(e>=232)o=((e-232)*10+8)/255,r=o,n=o;else{e-=16;let l=e%36;o=Math.floor(e/36)/5,r=Math.floor(l/6)/5,n=l%6/5}let i=Math.max(o,r,n)*2;if(i===0)return 30;let s=30+(Math.round(n)<<2|Math.round(r)<<1|Math.round(o));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(e,o,r)=>m.ansi256ToAnsi(m.rgbToAnsi256(e,o,r)),enumerable:!1},hexToAnsi:{value:e=>m.ansi256ToAnsi(m.hexToAnsi256(e)),enumerable:!1}}),m}var Wo=Yo(),w=Wo;import ke from"process";import qo from"os";import Bt from"tty";function S(t,e=globalThis.Deno?globalThis.Deno.args:ke.argv){let o=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(o+t),n=e.indexOf("--");return r!==-1&&(n===-1||r<n)}var{env:f}=ke,Ae;S("no-color")||S("no-colors")||S("color=false")||S("color=never")?Ae=0:(S("color")||S("colors")||S("color=true")||S("color=always"))&&(Ae=1);function Ko(){if("FORCE_COLOR"in f)return f.FORCE_COLOR==="true"?1:f.FORCE_COLOR==="false"?0:f.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(f.FORCE_COLOR,10),3)}function Xo(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function zo(t,{streamIsTTY:e,sniffFlags:o=!0}={}){let r=Ko();r!==void 0&&(Ae=r);let n=o?Ae:r;if(n===0)return 0;if(o){if(S("color=16m")||S("color=full")||S("color=truecolor"))return 3;if(S("color=256"))return 2}if("TF_BUILD"in f&&"AGENT_NAME"in f)return 1;if(t&&!e&&n===void 0)return 0;let i=n||0;if(f.TERM==="dumb")return i;if(ke.platform==="win32"){let s=qo.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in f)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in f)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in f)||f.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in f)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f.TEAMCITY_VERSION)?1:0;if(f.COLORTERM==="truecolor"||f.TERM==="xterm-kitty"||f.TERM==="xterm-ghostty"||f.TERM==="wezterm")return 3;if("TERM_PROGRAM"in f){let s=Number.parseInt((f.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(f.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f.TERM)||"COLORTERM"in f?1:i}function kt(t,e={}){let o=zo(t,{streamIsTTY:t&&t.isTTY,...e});return Xo(o)}var Jo={stdout:kt({isTTY:Bt.isatty(1)}),stderr:kt({isTTY:Bt.isatty(2)})},Ht=Jo;function Vt(t,e,o){let r=t.indexOf(e);if(r===-1)return t;let n=e.length,i=0,s="";do s+=t.slice(i,r)+e+o,i=r+n,r=t.indexOf(e,i);while(r!==-1);return s+=t.slice(i),s}function Yt(t,e,o,r){let n=0,i="";do{let s=t[r-1]==="\r";i+=t.slice(n,s?r-1:r)+e+(s?`\r
51
51
  `:`
52
52
  `)+o,n=r+1,r=t.indexOf(`
53
- `,n)}while(r!==-1);return i+=t.slice(n),i}var{stdout:Yt,stderr:Wt}=kt,He=Symbol("GENERATOR"),U=Symbol("STYLER"),Y=Symbol("IS_EMPTY"),qt=["ansi","ansi","ansi256","ansi16m"],M=Object.create(null),Xo=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let o=Yt?Yt.level:0;t.level=e.level===void 0?o:e.level};var zo=t=>{let e=(...o)=>o.join(" ");return Xo(e,t),Object.setPrototypeOf(e,W.prototype),e};function W(t){return zo(t)}Object.setPrototypeOf(W.prototype,Function.prototype);for(let[t,e]of Object.entries(w))M[t]={get(){let o=Se(this,Ye(e.open,e.close,this[U]),this[Y]);return Object.defineProperty(this,t,{value:o}),o}};M.visible={get(){let t=Se(this,this[U],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var Ve=(t,e,o,...r)=>t==="rgb"?e==="ansi16m"?w[o].ansi16m(...r):e==="ansi256"?w[o].ansi256(w.rgbToAnsi256(...r)):w[o].ansi(w.rgbToAnsi(...r)):t==="hex"?Ve("rgb",e,o,...w.hexToRgb(...r)):w[o][t](...r),Jo=["rgb","hex","ansi256"];for(let t of Jo){M[t]={get(){let{level:o}=this;return function(...r){let n=Ye(Ve(t,qt[o],"color",...r),w.color.close,this[U]);return Se(this,n,this[Y])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);M[e]={get(){let{level:o}=this;return function(...r){let n=Ye(Ve(t,qt[o],"bgColor",...r),w.bgColor.close,this[U]);return Se(this,n,this[Y])}}}}var Qo=Object.defineProperties(()=>{},{...M,level:{enumerable:!0,get(){return this[He].level},set(t){this[He].level=t}}}),Ye=(t,e,o)=>{let r,n;return o===void 0?(r=t,n=e):(r=o.openAll+t,n=e+o.closeAll),{open:t,close:e,openAll:r,closeAll:n,parent:o}},Se=(t,e,o)=>{let r=(...n)=>Zo(r,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(r,Qo),r[He]=t,r[U]=e,r[Y]=o,r},Zo=(t,e)=>{if(t.level<=0||!e)return t[Y]?"":e;let o=t[U];if(o===void 0)return e;let{openAll:r,closeAll:n}=o;if(e.includes("\x1B"))for(;o!==void 0;)e=Ht(e,o.close,o.open),o=o.parent;let i=e.indexOf(`
54
- `);return i!==-1&&(e=Vt(e,n,r,i)),r+e+n};Object.defineProperties(W.prototype,M);var er=W(),vl=W({level:Wt?Wt.level:0});var Kt=er;import Xt from"fs";import We from"path";import{fileURLToPath as or}from"url";var rr=`
53
+ `,n)}while(r!==-1);return i+=t.slice(n),i}var{stdout:Wt,stderr:qt}=Ht,He=Symbol("GENERATOR"),M=Symbol("STYLER"),Y=Symbol("IS_EMPTY"),Kt=["ansi","ansi","ansi256","ansi16m"],U=Object.create(null),Qo=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let o=Wt?Wt.level:0;t.level=e.level===void 0?o:e.level};var Zo=t=>{let e=(...o)=>o.join(" ");return Qo(e,t),Object.setPrototypeOf(e,W.prototype),e};function W(t){return Zo(t)}Object.setPrototypeOf(W.prototype,Function.prototype);for(let[t,e]of Object.entries(w))U[t]={get(){let o=Se(this,Ye(e.open,e.close,this[M]),this[Y]);return Object.defineProperty(this,t,{value:o}),o}};U.visible={get(){let t=Se(this,this[M],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var Ve=(t,e,o,...r)=>t==="rgb"?e==="ansi16m"?w[o].ansi16m(...r):e==="ansi256"?w[o].ansi256(w.rgbToAnsi256(...r)):w[o].ansi(w.rgbToAnsi(...r)):t==="hex"?Ve("rgb",e,o,...w.hexToRgb(...r)):w[o][t](...r),er=["rgb","hex","ansi256"];for(let t of er){U[t]={get(){let{level:o}=this;return function(...r){let n=Ye(Ve(t,Kt[o],"color",...r),w.color.close,this[M]);return Se(this,n,this[Y])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);U[e]={get(){let{level:o}=this;return function(...r){let n=Ye(Ve(t,Kt[o],"bgColor",...r),w.bgColor.close,this[M]);return Se(this,n,this[Y])}}}}var tr=Object.defineProperties(()=>{},{...U,level:{enumerable:!0,get(){return this[He].level},set(t){this[He].level=t}}}),Ye=(t,e,o)=>{let r,n;return o===void 0?(r=t,n=e):(r=o.openAll+t,n=e+o.closeAll),{open:t,close:e,openAll:r,closeAll:n,parent:o}},Se=(t,e,o)=>{let r=(...n)=>or(r,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(r,tr),r[He]=t,r[M]=e,r[Y]=o,r},or=(t,e)=>{if(t.level<=0||!e)return t[Y]?"":e;let o=t[M];if(o===void 0)return e;let{openAll:r,closeAll:n}=o;if(e.includes("\x1B"))for(;o!==void 0;)e=Vt(e,o.close,o.open),o=o.parent;let i=e.indexOf(`
54
+ `);return i!==-1&&(e=Yt(e,n,r,i)),r+e+n};Object.defineProperties(W.prototype,U);var rr=W(),Gl=W({level:qt?qt.level:0});var Xt=rr;import zt from"fs";import We from"path";import{fileURLToPath as ir}from"url";var sr=`
55
55
  __________ _ ______ __ __________________ ____ ________ ____ _ __
56
56
  / ____/ __ \\/ | / / __ \\/ / / / ____/_ __/ __ \\/ __ \\ / ____/ / / __ \\| | / /
57
57
  / / / / / / |/ / / / / / / / / / / / / / / /_/ / / /_ / / / / / /| | /| / /
58
58
  / /___/ /_/ / /| / /_/ / /_/ / /___ / / / /_/ / _, _/ / __/ / /___/ /_/ / | |/ |/ /
59
59
  \\____/\\____/_/ |_/_____/\\____/\\____/ /_/ \\____/_/ |_| /_/ /_____/\\____/ |__/|__/
60
60
 
61
- `;function zt(){let t=We.dirname(or(import.meta.url)),e=We.join(t,"../package.json");Xt.existsSync(e)||(e=We.join(t,"../../package.json"));let r=JSON.parse(Xt.readFileSync(e,"utf-8")).version;console.log(Kt.dim(` v${r} | Scaffolding for Gemini Conductor
62
- `))}function Jt(){console.log(tr("cyan","green")(rr))}async function sr(t){let e=nr(ir(process.argv));return process.env.COLUMNS&&e.wrap(parseInt(process.env.COLUMNS)),await e.scriptName(t).usage("$0 [path] [options]").positional("path",{describe:"Directory to install Conductor",default:".",type:"string"}).option("agent",{alias:"a",describe:"Specify the coding agent",type:"string",choices:P.map(o=>o.agentType)}).option("repo",{alias:"r",describe:"Git repository URL for templates. Without this flag, interactive template source selection is shown.",type:"string"}).coerce("repo",o=>o===""?R:o).option("branch",{alias:"b",describe:"Branch name for template repository",type:"string",default:O}).option("scope",{alias:"s",describe:"Installation scope (project or global)",type:"string",choices:["project","global"]}).option("git-ignore",{alias:"g",describe:"Configure git ignore for Conductor files (gitignore: add to .gitignore, exclude: add to .git/info/exclude, none: remove entries)",type:"string",choices:["gitignore","exclude","none"]}).coerce("git-ignore",o=>o===""?"exclude":o).option("force",{alias:"f",describe:"Force overwrite existing installation",type:"boolean",default:!1}).option("reset",{describe:"Clear saved preferences and show all prompts",type:"boolean",default:!1}).example("$0","Install with interactive prompts").example("$0 --agent claude-code","Install for Claude Code agent").example("$0 --repo https://github.com/user/templates","Use custom template repository").example("$0 --git-ignore gitignore","Add Conductor files to .gitignore").example("$0 --git-ignore exclude","Add Conductor files to .git/info/exclude").example("$0 --git-ignore none","Remove Conductor entries from git ignore").example("$0 --reset","Clear saved preferences and show all prompts").help().alias("h","help").version().alias("v","version").completion("completion",!1).parseAsync()}async function Yl(t){!process.env.CONDUCTOR_NO_BANNER&&!process.argv.includes("completion")&&!process.argv.includes("--get-yargs-completions")&&(Jt(),zt());let e=await sr(t),o=e._[0];if(process.argv.includes("completion")||process.argv.includes("--get-yargs-completions"))return;let r={};e.reset?(console.log("[Config] Clearing saved preferences..."),await tt()):(r=await Te(),Object.keys(r).length>0&&console.log("[Config] Loaded saved preferences")),await rt(),await Pt({...e,path:o||e.path||".",gitIgnore:e["git-ignore"],$0:"conductor-init",_:e._,config:r})}export{Yl as a};
61
+ `;function Jt(){let t=We.dirname(ir(import.meta.url)),e=We.join(t,"../package.json");zt.existsSync(e)||(e=We.join(t,"../../package.json"));let r=JSON.parse(zt.readFileSync(e,"utf-8")).version;console.log(Xt.dim(` v${r} | Scaffolding for Gemini Conductor
62
+ `))}function Qt(){console.log(nr("cyan","green")(sr))}async function lr(t){let e=ar(cr(process.argv));return process.env.COLUMNS&&e.wrap(parseInt(process.env.COLUMNS)),await e.scriptName(t).usage("$0 [path] [options]").positional("path",{describe:"Directory to install Conductor",default:".",type:"string"}).option("agent",{alias:"a",describe:"Specify the coding agent",type:"string",choices:L.map(o=>o.agentType)}).option("repo",{alias:"r",describe:"Git repository URL for templates. Without this flag, interactive template source selection is shown.",type:"string"}).coerce("repo",o=>o===""?R:o).option("branch",{alias:"b",describe:"Branch name for template repository",type:"string",default:O}).option("scope",{alias:"s",describe:"Installation scope (project or global)",type:"string",choices:["project","global"]}).option("git-ignore",{alias:"g",describe:"Configure git ignore for Conductor files (gitignore: add to .gitignore, exclude: add to .git/info/exclude, none: remove entries)",type:"string",choices:["gitignore","exclude","none"]}).coerce("git-ignore",o=>o===""?"exclude":o).option("force",{alias:"f",describe:"Force overwrite existing installation",type:"boolean",default:!1}).option("reset",{describe:"Clear saved preferences and show all prompts",type:"boolean",default:!1}).example("$0","Install with interactive prompts").example("$0 --agent claude-code","Install for Claude Code agent").example("$0 --repo https://github.com/user/templates","Use custom template repository").example("$0 --git-ignore gitignore","Add Conductor files to .gitignore").example("$0 --git-ignore exclude","Add Conductor files to .git/info/exclude").example("$0 --git-ignore none","Remove Conductor entries from git ignore").example("$0 --reset","Clear saved preferences and show all prompts").help().alias("h","help").version().alias("v","version").completion("completion",!1).parseAsync()}async function zl(t){!process.env.CONDUCTOR_NO_BANNER&&!process.argv.includes("completion")&&!process.argv.includes("--get-yargs-completions")&&(Qt(),Jt());let e=await lr(t),o=e._[0];if(process.argv.includes("completion")||process.argv.includes("--get-yargs-completions"))return;let r={};e.reset?(console.log("[Config] Clearing saved preferences..."),await tt()):(r=await Te(),Object.keys(r).length>0&&console.log("[Config] Loaded saved preferences")),await rt(),await Mt({...e,path:o||e.path||".",gitIgnore:e["git-ignore"],$0:"conductor-init",_:e._,config:r})}export{zl as a};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{a as r}from"./chunk-DA5XSRR7.js";r("conductor-init").catch(o=>{console.error("Error:",o instanceof Error?o.message:o),process.exit(1)});
2
+ import{a as r}from"./chunk-4F4GSSH5.js";r("conductor-init").catch(o=>{console.error("Error:",o instanceof Error?o.message:o),process.exit(1)});
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{a as r}from"./chunk-DA5XSRR7.js";r("npm create conductor-flow").catch(o=>{console.error("Error:",o instanceof Error?o.message:o),process.exit(1)});
2
+ import{a as r}from"./chunk-4F4GSSH5.js";r("npm create conductor-flow").catch(o=>{console.error("Error:",o instanceof Error?o.message:o),process.exit(1)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conductor-init",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "Conductor Scaffolding CLI - Generate spec-driven, portable Gemini Conductor workflows for any coding agent",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [