juno-code 1.0.12 → 1.0.14

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.
package/dist/bin/cli.mjs CHANGED
@@ -121,7 +121,7 @@ var init_types = __esm({
121
121
  if (availableCommands.length > 0) {
122
122
  this.suggestions = [
123
123
  `Available commands: ${availableCommands.join(", ")}`,
124
- `Use 'juno-task --help' for usage information`
124
+ `Use 'juno-code --help' for usage information`
125
125
  ];
126
126
  }
127
127
  }
@@ -155,7 +155,7 @@ var init_types = __esm({
155
155
  this.suggestions = [
156
156
  "Check session directory permissions",
157
157
  "Verify sufficient disk space",
158
- "Use juno-task session clean to remove old sessions"
158
+ "Use juno-code session clean to remove old sessions"
159
159
  ];
160
160
  }
161
161
  };
@@ -171,7 +171,35 @@ var init_types = __esm({
171
171
  }
172
172
  };
173
173
  ENVIRONMENT_MAPPINGS = {
174
- // Core options
174
+ // Core options (new JUNO_CODE_* names)
175
+ JUNO_CODE_SUBAGENT: "subagent",
176
+ JUNO_CODE_PROMPT: "prompt",
177
+ JUNO_CODE_CWD: "cwd",
178
+ JUNO_CODE_MAX_ITERATIONS: "maxIterations",
179
+ JUNO_CODE_MODEL: "model",
180
+ JUNO_CODE_LOG_FILE: "logFile",
181
+ JUNO_CODE_VERBOSE: "verbose",
182
+ JUNO_CODE_QUIET: "quiet",
183
+ JUNO_CODE_INTERACTIVE: "interactive",
184
+ JUNO_CODE_CONFIG: "config",
185
+ // MCP options (new JUNO_CODE_* names)
186
+ JUNO_CODE_MCP_SERVER_PATH: "mcpServerPath",
187
+ JUNO_CODE_MCP_TIMEOUT: "mcpTimeout",
188
+ JUNO_CODE_MCP_RETRIES: "mcpRetries",
189
+ // Session options (new JUNO_CODE_* names)
190
+ JUNO_CODE_SESSION_DIR: "sessionDir",
191
+ JUNO_CODE_LOG_LEVEL: "logLevel",
192
+ // Template options (new JUNO_CODE_* names)
193
+ JUNO_CODE_TEMPLATE: "template",
194
+ JUNO_CODE_FORCE: "force",
195
+ // Git options (new JUNO_CODE_* names)
196
+ JUNO_CODE_GIT_URL: "gitUrl",
197
+ // UI options (new JUNO_CODE_* names)
198
+ JUNO_CODE_NO_COLOR: "noColor",
199
+ JUNO_CODE_HEADLESS: "headless",
200
+ // Feedback options (new JUNO_CODE_* names)
201
+ JUNO_CODE_ENABLE_FEEDBACK: "enableFeedback",
202
+ // Legacy JUNO_TASK_* names for backward compatibility
175
203
  JUNO_TASK_SUBAGENT: "subagent",
176
204
  JUNO_TASK_PROMPT: "prompt",
177
205
  JUNO_TASK_CWD: "cwd",
@@ -182,23 +210,18 @@ var init_types = __esm({
182
210
  JUNO_TASK_QUIET: "quiet",
183
211
  JUNO_TASK_INTERACTIVE: "interactive",
184
212
  JUNO_TASK_CONFIG: "config",
185
- // MCP options
186
213
  JUNO_TASK_MCP_SERVER_PATH: "mcpServerPath",
187
214
  JUNO_TASK_MCP_TIMEOUT: "mcpTimeout",
188
215
  JUNO_TASK_MCP_RETRIES: "mcpRetries",
189
- // Session options
190
216
  JUNO_TASK_SESSION_DIR: "sessionDir",
191
217
  JUNO_TASK_LOG_LEVEL: "logLevel",
192
- // Template options
193
218
  JUNO_TASK_TEMPLATE: "template",
194
219
  JUNO_TASK_FORCE: "force",
195
- // Git options
196
220
  JUNO_TASK_GIT_URL: "gitUrl",
197
- // UI options
198
221
  JUNO_TASK_NO_COLOR: "noColor",
199
222
  JUNO_TASK_HEADLESS: "headless",
200
- // Feedback options
201
223
  JUNO_TASK_ENABLE_FEEDBACK: "enableFeedback",
224
+ // Special aliases
202
225
  JUNO_INTERACTIVE_FEEDBACK_MODE: "enableFeedback"
203
226
  // Alias for enableFeedback
204
227
  };
@@ -225,7 +248,7 @@ var init_types = __esm({
225
248
  "cursor-agent": "cursor"
226
249
  };
227
250
  COMMAND_CATEGORIES = {
228
- EXECUTION: ["juno-task", "start"],
251
+ EXECUTION: ["juno-code", "start"],
229
252
  PROJECT: ["init", "setup-git"],
230
253
  TESTING: ["test"],
231
254
  SESSION: ["session"],
@@ -686,6 +709,7 @@ __export(config_exports, {
686
709
  DEFAULT_CONFIG: () => DEFAULT_CONFIG,
687
710
  ENV_VAR_MAPPING: () => ENV_VAR_MAPPING,
688
711
  JunoTaskConfigSchema: () => JunoTaskConfigSchema,
712
+ LEGACY_ENV_VAR_MAPPING: () => LEGACY_ENV_VAR_MAPPING,
689
713
  ProfileError: () => ProfileError,
690
714
  ProfileExistsError: () => ProfileExistsError,
691
715
  ProfileNotFoundError: () => ProfileNotFoundError,
@@ -717,6 +741,12 @@ function loadConfigFromEnv() {
717
741
  config[configKey] = parseEnvValue(value);
718
742
  }
719
743
  }
744
+ for (const [envVar, configKey] of Object.entries(LEGACY_ENV_VAR_MAPPING)) {
745
+ const value = process.env[envVar];
746
+ if (value !== void 0 && config[configKey] === void 0) {
747
+ config[configKey] = parseEnvValue(value);
748
+ }
749
+ }
720
750
  return config;
721
751
  }
722
752
  async function loadJsonConfig(filePath) {
@@ -740,7 +770,7 @@ async function loadPackageJsonConfig(filePath) {
740
770
  try {
741
771
  const content = await promises.readFile(filePath, "utf-8");
742
772
  const packageJson = JSON.parse(content);
743
- return packageJson.junoTask || {};
773
+ return packageJson.junoCode || {};
744
774
  } catch (error) {
745
775
  throw new Error(`Failed to load package.json config from ${filePath}: ${error}`);
746
776
  }
@@ -869,13 +899,35 @@ async function loadConfig(options = {}) {
869
899
  const mergedConfig = loader.merge();
870
900
  return validateConfig(mergedConfig);
871
901
  }
872
- var ENV_VAR_MAPPING, SubagentTypeSchema, LogLevelSchema, HookTypeSchema, HookSchema, HooksSchema, JunoTaskConfigSchema, DEFAULT_CONFIG, GLOBAL_CONFIG_FILE_NAMES, PROJECT_CONFIG_FILE, ConfigLoader;
902
+ var ENV_VAR_MAPPING, LEGACY_ENV_VAR_MAPPING, SubagentTypeSchema, LogLevelSchema, HookTypeSchema, HookSchema, HooksSchema, JunoTaskConfigSchema, DEFAULT_CONFIG, GLOBAL_CONFIG_FILE_NAMES, PROJECT_CONFIG_FILE, ConfigLoader;
873
903
  var init_config = __esm({
874
904
  "src/core/config.ts"() {
875
905
  init_version();
876
906
  init_default_hooks();
877
907
  init_profiles();
878
908
  ENV_VAR_MAPPING = {
909
+ // Core settings
910
+ JUNO_CODE_DEFAULT_SUBAGENT: "defaultSubagent",
911
+ JUNO_CODE_DEFAULT_MAX_ITERATIONS: "defaultMaxIterations",
912
+ JUNO_CODE_DEFAULT_MODEL: "defaultModel",
913
+ // Logging settings
914
+ JUNO_CODE_LOG_LEVEL: "logLevel",
915
+ JUNO_CODE_LOG_FILE: "logFile",
916
+ JUNO_CODE_VERBOSE: "verbose",
917
+ JUNO_CODE_QUIET: "quiet",
918
+ // MCP settings
919
+ JUNO_CODE_MCP_TIMEOUT: "mcpTimeout",
920
+ JUNO_CODE_MCP_RETRIES: "mcpRetries",
921
+ JUNO_CODE_MCP_SERVER_PATH: "mcpServerPath",
922
+ JUNO_CODE_MCP_SERVER_NAME: "mcpServerName",
923
+ // TUI settings
924
+ JUNO_CODE_INTERACTIVE: "interactive",
925
+ JUNO_CODE_HEADLESS_MODE: "headlessMode",
926
+ // Paths
927
+ JUNO_CODE_WORKING_DIRECTORY: "workingDirectory",
928
+ JUNO_CODE_SESSION_DIRECTORY: "sessionDirectory"
929
+ };
930
+ LEGACY_ENV_VAR_MAPPING = {
879
931
  // Core settings
880
932
  JUNO_TASK_DEFAULT_SUBAGENT: "defaultSubagent",
881
933
  JUNO_TASK_DEFAULT_MAX_ITERATIONS: "defaultMaxIterations",
@@ -952,12 +1004,12 @@ var init_config = __esm({
952
1004
  hooks: getDefaultHooks()
953
1005
  };
954
1006
  GLOBAL_CONFIG_FILE_NAMES = [
955
- "juno-task.config.json",
956
- "juno-task.config.js",
957
- ".juno-taskrc.json",
958
- ".juno-taskrc.js",
1007
+ "juno-code.config.json",
1008
+ "juno-code.config.js",
1009
+ ".juno-coderc.json",
1010
+ ".juno-coderc.js",
959
1011
  "package.json"
960
- // Will look for 'junoTask' field
1012
+ // Will look for 'junoCode' field
961
1013
  ];
962
1014
  PROJECT_CONFIG_FILE = ".juno_task/config.json";
963
1015
  ConfigLoader = class {
@@ -5942,8 +5994,8 @@ var init_concurrent_feedback_collector = __esm({
5942
5994
  // Current feedback mode state
5943
5995
  constructor(options = {}) {
5944
5996
  this.options = {
5945
- command: options.command || "juno-ts-task",
5946
- commandArgs: options.commandArgs || ["juno-ts-task", "feedback"],
5997
+ command: options.command || "juno-code",
5998
+ commandArgs: options.commandArgs || ["juno-code", "feedback"],
5947
5999
  verbose: options.verbose || false,
5948
6000
  showHeader: options.showHeader !== void 0 ? options.showHeader : true,
5949
6001
  progressInterval: options.progressInterval || 0,
@@ -6327,23 +6379,23 @@ var init_framework = __esm({
6327
6379
  flags: "-v, --verbose",
6328
6380
  description: "Enable verbose output with detailed progress",
6329
6381
  defaultValue: false,
6330
- env: "JUNO_TASK_VERBOSE"
6382
+ env: "JUNO_CODE_VERBOSE"
6331
6383
  },
6332
6384
  {
6333
6385
  flags: "-q, --quiet",
6334
6386
  description: "Disable rich formatting, use plain text",
6335
6387
  defaultValue: false,
6336
- env: "JUNO_TASK_QUIET"
6388
+ env: "JUNO_CODE_QUIET"
6337
6389
  },
6338
6390
  {
6339
6391
  flags: "-c, --config <path>",
6340
6392
  description: "Configuration file path (.json, .toml, pyproject.toml)",
6341
- env: "JUNO_TASK_CONFIG"
6393
+ env: "JUNO_CODE_CONFIG"
6342
6394
  },
6343
6395
  {
6344
6396
  flags: "--log-file <path>",
6345
6397
  description: "Log file path (auto-generated if not specified)",
6346
- env: "JUNO_TASK_LOG_FILE"
6398
+ env: "JUNO_CODE_LOG_FILE"
6347
6399
  },
6348
6400
  {
6349
6401
  flags: "--no-color",
@@ -6354,24 +6406,24 @@ var init_framework = __esm({
6354
6406
  description: "Log level for output (error, warn, info, debug, trace)",
6355
6407
  defaultValue: "info",
6356
6408
  choices: ["error", "warn", "info", "debug", "trace"],
6357
- env: "JUNO_TASK_LOG_LEVEL"
6409
+ env: "JUNO_CODE_LOG_LEVEL"
6358
6410
  },
6359
6411
  {
6360
6412
  flags: "-s, --subagent <type>",
6361
6413
  description: "Subagent to use",
6362
- env: "JUNO_TASK_SUBAGENT"
6414
+ env: "JUNO_CODE_SUBAGENT"
6363
6415
  },
6364
6416
  {
6365
6417
  flags: "--max-iterations <number>",
6366
6418
  description: "Maximum iterations (-1 for unlimited)",
6367
6419
  defaultValue: void 0,
6368
- env: "JUNO_TASK_MAX_ITERATIONS"
6420
+ env: "JUNO_CODE_MAX_ITERATIONS"
6369
6421
  },
6370
6422
  {
6371
6423
  flags: "--mcp-timeout <number>",
6372
6424
  description: "MCP server timeout in milliseconds",
6373
6425
  defaultValue: void 0,
6374
- env: "JUNO_TASK_MCP_TIMEOUT"
6426
+ env: "JUNO_CODE_MCP_TIMEOUT"
6375
6427
  }
6376
6428
  ];
6377
6429
  for (const option of this.globalOptions) {
@@ -6618,7 +6670,7 @@ ${helpText}
6618
6670
  }
6619
6671
  if (error.showHelp) {
6620
6672
  console.error(chalk12.gray(`
6621
- Use 'juno-task ${commandName} --help' for usage information`));
6673
+ Use 'juno-code ${commandName} --help' for usage information`));
6622
6674
  }
6623
6675
  const exitCode = Object.values(EXIT_CODES).includes(error.code) ? error.code : EXIT_CODES.UNEXPECTED_ERROR;
6624
6676
  process.exit(exitCode);
@@ -6663,7 +6715,7 @@ ${helpText}
6663
6715
  try {
6664
6716
  await this.program.parseAsync(argv2);
6665
6717
  } catch (error) {
6666
- await this.handleCommandError(error, "juno-task", {});
6718
+ await this.handleCommandError(error, "juno-code", {});
6667
6719
  }
6668
6720
  }
6669
6721
  /**
@@ -11169,7 +11221,7 @@ async function mainCommandHandler(args, options, command) {
11169
11221
  `Invalid subagent: ${options.subagent}`,
11170
11222
  [
11171
11223
  `Use one of: ${validSubagents.join(", ")}`,
11172
- 'Example: juno-task claude "your prompt"',
11224
+ 'Example: juno-code claude "your prompt"',
11173
11225
  "Use --help for more information"
11174
11226
  ]
11175
11227
  );
@@ -11261,34 +11313,34 @@ function createMainCommand() {
11261
11313
  description: "Subagent to use",
11262
11314
  required: true,
11263
11315
  choices: ["claude", "cursor", "codex", "gemini", "claude-code", "claude_code", "gemini-cli", "cursor-agent"],
11264
- env: "JUNO_TASK_SUBAGENT"
11316
+ env: "JUNO_CODE_SUBAGENT"
11265
11317
  }),
11266
11318
  createOption({
11267
11319
  flags: "-p, --prompt <text|file>",
11268
11320
  description: "Prompt input (file path or inline text)",
11269
- env: "JUNO_TASK_PROMPT"
11321
+ env: "JUNO_CODE_PROMPT"
11270
11322
  }),
11271
11323
  createOption({
11272
11324
  flags: "-w, --cwd <path>",
11273
11325
  description: "Working directory",
11274
11326
  defaultValue: process.cwd(),
11275
- env: "JUNO_TASK_CWD"
11327
+ env: "JUNO_CODE_CWD"
11276
11328
  }),
11277
11329
  createOption({
11278
11330
  flags: "-i, --max-iterations <number>",
11279
11331
  description: "Maximum iterations (-1 for unlimited)",
11280
- env: "JUNO_TASK_MAX_ITERATIONS"
11332
+ env: "JUNO_CODE_MAX_ITERATIONS"
11281
11333
  }),
11282
11334
  createOption({
11283
11335
  flags: "-m, --model <name>",
11284
11336
  description: "Model to use (optional, subagent-specific)",
11285
- env: "JUNO_TASK_MODEL"
11337
+ env: "JUNO_CODE_MODEL"
11286
11338
  }),
11287
11339
  createOption({
11288
11340
  flags: "-I, --interactive",
11289
11341
  description: "Interactive mode for typing/pasting prompts",
11290
11342
  defaultValue: false,
11291
- env: "JUNO_TASK_INTERACTIVE"
11343
+ env: "JUNO_CODE_INTERACTIVE"
11292
11344
  }),
11293
11345
  createOption({
11294
11346
  flags: "--interactive-prompt",
@@ -11298,19 +11350,19 @@ function createMainCommand() {
11298
11350
  ],
11299
11351
  examples: [
11300
11352
  {
11301
- command: 'juno-task -s claude -p "Create a REST API"',
11353
+ command: 'juno-code -s claude -p "Create a REST API"',
11302
11354
  description: "Execute task with Claude using inline prompt"
11303
11355
  },
11304
11356
  {
11305
- command: "juno-task -s cursor -p ./task.md -i 3",
11357
+ command: "juno-code -s cursor -p ./task.md -i 3",
11306
11358
  description: "Execute task with Cursor using file prompt, max 3 iterations"
11307
11359
  },
11308
11360
  {
11309
- command: "juno-task -s gemini --interactive",
11361
+ command: "juno-code -s gemini --interactive",
11310
11362
  description: "Use interactive mode to enter prompt"
11311
11363
  },
11312
11364
  {
11313
- command: "juno-task -s claude --interactive-prompt",
11365
+ command: "juno-code -s claude --interactive-prompt",
11314
11366
  description: "Use enhanced TUI prompt editor"
11315
11367
  }
11316
11368
  ],
@@ -11350,10 +11402,10 @@ var init_main = __esm({
11350
11402
  throw new ValidationError(
11351
11403
  "Prompt is required for execution",
11352
11404
  [
11353
- 'Provide prompt text: juno-task claude "your prompt here"',
11354
- "Use file input: juno-task claude prompt.txt",
11355
- "Use interactive mode: juno-task claude --interactive",
11356
- "Use TUI editor: juno-task claude --interactive-prompt",
11405
+ 'Provide prompt text: juno-code claude "your prompt here"',
11406
+ "Use file input: juno-code claude prompt.txt",
11407
+ "Use interactive mode: juno-code claude --interactive",
11408
+ "Use TUI editor: juno-code claude --interactive-prompt",
11357
11409
  "Create default prompt file: .juno_task/prompt.md"
11358
11410
  ]
11359
11411
  );
@@ -11578,7 +11630,7 @@ var init_main = __esm({
11578
11630
  this.enableFeedback = enableFeedback;
11579
11631
  if (this.enableFeedback) {
11580
11632
  this.feedbackCollector = new ConcurrentFeedbackCollector({
11581
- command: "juno-ts-task",
11633
+ command: "juno-code",
11582
11634
  commandArgs: ["feedback"],
11583
11635
  verbose: this.config.verbose,
11584
11636
  showHeader: true,
@@ -12056,7 +12108,7 @@ var SimpleInitTUI = class {
12056
12108
  * Simplified gather method implementing the minimal flow
12057
12109
  */
12058
12110
  async gather() {
12059
- console.log(chalk12.blue.bold("\n\u{1F680} Juno Task Project Initialization\n"));
12111
+ console.log(chalk12.blue.bold("\n\u{1F680} Juno Code Project Initialization\n"));
12060
12112
  console.log(chalk12.yellow("\u{1F4C1} Step 1: Project Directory"));
12061
12113
  const targetDirectory = await this.promptForDirectory();
12062
12114
  console.log(chalk12.yellow("\n\u{1F4DD} Step 2: Main Task"));
@@ -12468,7 +12520,7 @@ This directory contains detailed specifications for the project components.
12468
12520
 
12469
12521
  ## System Overview
12470
12522
 
12471
- This project uses AI-assisted development with juno-task to achieve: ${variables.TASK}
12523
+ This project uses AI-assisted development with juno-code to achieve: ${variables.TASK}
12472
12524
 
12473
12525
  ## Architectural Decisions
12474
12526
 
@@ -12491,7 +12543,7 @@ This project uses AI-assisted development with juno-task to achieve: ${variables
12491
12543
 
12492
12544
  - **Language**: TypeScript
12493
12545
  - **Runtime**: Node.js
12494
- - **CLI**: juno-task with AI subagent integration
12546
+ - **CLI**: juno-code with AI subagent integration
12495
12547
  - **Version Control**: Git
12496
12548
  - **Documentation**: Markdown-based
12497
12549
 
@@ -12550,7 +12602,7 @@ This project uses AI-assisted development with juno-task to achieve: ${variables
12550
12602
 
12551
12603
  ## Project Overview
12552
12604
 
12553
- This project was initialized on ${variables.CURRENT_DATE} using juno-task.
12605
+ This project was initialized on ${variables.CURRENT_DATE} using juno-code.
12554
12606
 
12555
12607
  **Main Task**: ${variables.TASK}
12556
12608
  **Preferred Subagent**: ${variables.EDITOR}
@@ -12564,9 +12616,9 @@ This project was initialized on ${variables.CURRENT_DATE} using juno-task.
12564
12616
  - Use \`npm run test:binary\` for CLI testing
12565
12617
 
12566
12618
  ### Key Commands
12567
- - \`juno-task start\` - Begin task execution
12568
- - \`juno-task -s ${variables.EDITOR}\` - Quick execution with preferred subagent
12569
- - \`juno-task feedback\` - Provide feedback on the process
12619
+ - \`juno-code start\` - Begin task execution
12620
+ - \`juno-code -s ${variables.EDITOR}\` - Quick execution with preferred subagent
12621
+ - \`juno-code feedback\` - Provide feedback on the process
12570
12622
 
12571
12623
  ## Project Structure
12572
12624
 
@@ -12688,27 +12740,27 @@ ${variables.DESCRIPTION}
12688
12740
 
12689
12741
  ## Overview
12690
12742
 
12691
- This project uses juno-task for AI-powered development with ${variables.EDITOR} as the primary AI subagent.
12743
+ This project uses juno-code for AI-powered development with ${variables.EDITOR} as the primary AI subagent.
12692
12744
 
12693
12745
  ## Getting Started
12694
12746
 
12695
12747
  ### Prerequisites
12696
12748
 
12697
12749
  - Node.js (v18 or higher)
12698
- - juno-task CLI installed
12750
+ - juno-code CLI installed
12699
12751
  - Git for version control
12700
12752
 
12701
12753
  ### Quick Start
12702
12754
 
12703
12755
  \`\`\`bash
12704
12756
  # Start task execution with production-ready AI instructions
12705
- juno-task start
12757
+ juno-code start
12706
12758
 
12707
12759
  # Or use main command with preferred subagent
12708
- juno-task -s ${variables.EDITOR}
12760
+ juno-code -s ${variables.EDITOR}
12709
12761
 
12710
12762
  # Provide feedback on the development process
12711
- juno-task feedback
12763
+ juno-code feedback
12712
12764
  \`\`\`
12713
12765
 
12714
12766
  ## Project Structure
@@ -12770,12 +12822,12 @@ ${variables.GIT_URL}` : ""}
12770
12822
  1. **Review Task**: Check \`.juno_task/init.md\` for main task
12771
12823
  2. **Check Plan**: Review \`.juno_task/plan.md\` for current priorities
12772
12824
  3. **Track Implementation**: Follow \`.juno_task/implement.md\` for current implementation steps
12773
- 4. **Provide Feedback**: Use \`juno-task feedback\` for issues or suggestions
12825
+ 4. **Provide Feedback**: Use \`juno-code feedback\` for issues or suggestions
12774
12826
  5. **Monitor Progress**: Track AI development through \`.juno_task/prompt.md\`
12775
12827
 
12776
12828
  ---
12777
12829
 
12778
- Created with juno-task on ${variables.CURRENT_DATE}
12830
+ Created with juno-code on ${variables.CURRENT_DATE}
12779
12831
  ${variables.EDITOR ? `using ${variables.EDITOR} as primary AI subagent` : ""}
12780
12832
  `;
12781
12833
  await fs.writeFile(path.join(targetDirectory, "README.md"), readmeContent);
@@ -12838,18 +12890,17 @@ ${variables.EDITOR ? `using ${variables.EDITOR} as primary AI subagent` : ""}
12838
12890
  const timestamp = (/* @__PURE__ */ new Date()).toISOString();
12839
12891
  const __filename = fileURLToPath(import.meta.url);
12840
12892
  const __dirname = path.dirname(__filename);
12841
- const roundtablePath = process.env.JUNO_TASK_MCP_SERVER_PATH || path.join(__dirname, "../../../roundtable_mcp_server/roundtable_mcp_server/server.py");
12893
+ process.env.JUNO_TASK_MCP_SERVER_PATH || path.join(__dirname, "../../../roundtable_mcp_server/roundtable_mcp_server/server.py");
12842
12894
  const mcpContent = {
12843
12895
  mcpServers: {
12844
12896
  "roundtable-ai": {
12845
12897
  name: "roundtable-ai",
12846
- command: "python",
12847
- args: [roundtablePath],
12898
+ command: "roundtable-ai",
12899
+ args: [],
12848
12900
  timeout: 7200,
12849
12901
  enable_default_progress_callback: true,
12850
12902
  suppress_subprocess_logs: true,
12851
12903
  env: {
12852
- PYTHONPATH: path.resolve(__dirname, "../.."),
12853
12904
  ROUNDTABLE_DEBUG: "false"
12854
12905
  },
12855
12906
  _metadata: {
@@ -12963,7 +13014,8 @@ ${variables.EDITOR ? `using ${variables.EDITOR} as primary AI subagent` : ""}
12963
13014
  const { execSync } = await import('child_process');
12964
13015
  try {
12965
13016
  const output = execSync(installScript, {
12966
- cwd: junoTaskDir,
13017
+ cwd: process.cwd(),
13018
+ // FIXED: Run from project root, not .juno_task
12967
13019
  encoding: "utf8",
12968
13020
  stdio: "pipe"
12969
13021
  // Capture output instead of inheriting
@@ -13001,11 +13053,11 @@ ${variables.EDITOR ? `using ${variables.EDITOR} as primary AI subagent` : ""}
13001
13053
  printNextSteps(targetDirectory, editor) {
13002
13054
  console.log(chalk12.blue("\n\u{1F3AF} Next Steps:"));
13003
13055
  console.log(chalk12.white(` cd ${targetDirectory}`));
13004
- console.log(chalk12.white(" juno-task start # Start task execution"));
13005
- console.log(chalk12.white(` juno-task -s ${editor} # Quick execution with ${editor}`));
13056
+ console.log(chalk12.white(" juno-code start # Start task execution"));
13057
+ console.log(chalk12.white(` juno-code -s ${editor} # Quick execution with ${editor}`));
13006
13058
  console.log(chalk12.gray("\n\u{1F4A1} Tips:"));
13007
13059
  console.log(chalk12.gray(" - Edit .juno_task/prompt.md to modify your main task"));
13008
- console.log(chalk12.gray(' - Use "juno-task --help" to see all available commands'));
13060
+ console.log(chalk12.gray(' - Use "juno-code --help" to see all available commands'));
13009
13061
  console.log(chalk12.gray(" - Run .juno_task/scripts/clean_logs_folder.sh to archive old logs"));
13010
13062
  }
13011
13063
  /**
@@ -13060,10 +13112,10 @@ ${variables.EDITOR ? `using ${variables.EDITOR} as primary AI subagent` : ""}
13060
13112
  execSync("git add .", { cwd: targetDirectory, stdio: "ignore" });
13061
13113
  const commitMessage = `Initial commit: ${this.context.task || "Project initialization"}
13062
13114
 
13063
- \u{1F916} Generated with juno-task using ${this.context.subagent} subagent
13115
+ \u{1F916} Generated with juno-code using ${this.context.subagent} subagent
13064
13116
  \u{1F3AF} Main Task: ${this.context.task}
13065
13117
 
13066
- \u{1F680} Generated with [juno-task](https://github.com/owner/juno-task-ts)
13118
+ \u{1F680} Generated with [juno-code](https://github.com/owner/juno-code-ts)
13067
13119
 
13068
13120
  Co-Authored-By: Claude <noreply@anthropic.com>`;
13069
13121
  execSync(`git commit -m "${commitMessage}"`, {
@@ -13129,7 +13181,7 @@ async function initCommandHandler(args, options, command) {
13129
13181
  try {
13130
13182
  const globalOptions = command.parent?.opts() || {};
13131
13183
  const allOptions2 = { ...options, ...globalOptions };
13132
- console.log(chalk12.blue.bold("\u{1F3AF} Juno Task - Simplified Initialization"));
13184
+ console.log(chalk12.blue.bold("\u{1F3AF} Juno Code - Simplified Initialization"));
13133
13185
  let context;
13134
13186
  const shouldUseInteractive = options.interactive || !options.task && !process.env.CI || process.env.FORCE_INTERACTIVE === "1";
13135
13187
  if (shouldUseInteractive) {
@@ -13170,7 +13222,7 @@ async function initCommandHandler(args, options, command) {
13170
13222
  }
13171
13223
  }
13172
13224
  function configureInitCommand(program) {
13173
- program.command("init").description("Initialize new juno-task project with simple setup").argument("[directory]", "Target directory (default: current directory)").option("-f, --force", "Force overwrite existing files").option("-t, --task <description>", "Main task description").option("-g, --git-url <url>", "Git repository URL").option("-i, --interactive", "Launch simple interactive setup").action(async (directory, options, command) => {
13225
+ program.command("init").description("Initialize new juno-code project with simple setup").argument("[directory]", "Target directory (default: current directory)").option("-f, --force", "Force overwrite existing files").option("-t, --task <description>", "Main task description").option("-g, --git-url <url>", "Git repository URL").option("-i, --interactive", "Launch simple interactive setup").action(async (directory, options, command) => {
13174
13226
  const initOptions = {
13175
13227
  directory,
13176
13228
  force: options.force,
@@ -13188,9 +13240,9 @@ function configureInitCommand(program) {
13188
13240
  await initCommandHandler([], initOptions, command);
13189
13241
  }).addHelpText("after", `
13190
13242
  Examples:
13191
- $ juno-task init # Initialize in current directory
13192
- $ juno-task init my-project # Initialize in ./my-project
13193
- $ juno-task init --interactive # Use simple interactive setup
13243
+ $ juno-code init # Initialize in current directory
13244
+ $ juno-code init my-project # Initialize in ./my-project
13245
+ $ juno-code init --interactive # Use simple interactive setup
13194
13246
 
13195
13247
  Simplified Interactive Flow:
13196
13248
  1. Project Root \u2192 Specify target directory
@@ -14963,7 +15015,7 @@ var ProjectContextLoader = class {
14963
15015
  const junoTaskDir = path.join(this.directory, ".juno_task");
14964
15016
  if (!await fs.pathExists(junoTaskDir)) {
14965
15017
  throw new FileSystemError(
14966
- 'No .juno_task directory found. Run "juno-task init" first.',
15018
+ 'No .juno_task directory found. Run "juno-code init" first.',
14967
15019
  junoTaskDir
14968
15020
  );
14969
15021
  }
@@ -15032,7 +15084,7 @@ var ExecutionCoordinator = class {
15032
15084
  this.sessionManager = await createSessionManager(this.config);
15033
15085
  if (this.enableFeedback) {
15034
15086
  this.feedbackCollector = new ConcurrentFeedbackCollector({
15035
- command: "juno-ts-task",
15087
+ command: "juno-code",
15036
15088
  commandArgs: ["feedback"],
15037
15089
  verbose: this.config.verbose,
15038
15090
  showHeader: true,
@@ -15180,7 +15232,7 @@ async function startCommandHandler(args, options, command) {
15180
15232
  try {
15181
15233
  const globalOptions = command.parent?.opts() || {};
15182
15234
  const allOptions2 = { ...globalOptions, ...options };
15183
- writeTerminalProgress(chalk12.blue.bold("\u{1F3AF} Juno Task - Start Execution") + "\n");
15235
+ writeTerminalProgress(chalk12.blue.bold("\u{1F3AF} Juno Code - Start Execution") + "\n");
15184
15236
  const logLevel = allOptions2.logLevel ? LogLevel[allOptions2.logLevel.toUpperCase()] : 2 /* INFO */;
15185
15237
  cliLogger.startTimer("start_command_total");
15186
15238
  cliLogger.info("Starting execution command", { options: allOptions2, directory: allOptions2.directory || process.cwd() });
@@ -15230,7 +15282,7 @@ async function startCommandHandler(args, options, command) {
15230
15282
  `Invalid subagent: ${allOptions2.subagent}`,
15231
15283
  [
15232
15284
  `Use one of: ${validSubagents.join(", ")}`,
15233
- "Run `juno-task help start` for examples"
15285
+ "Run `juno-code help start` for examples"
15234
15286
  ]
15235
15287
  );
15236
15288
  }
@@ -15272,7 +15324,7 @@ async function startCommandHandler(args, options, command) {
15272
15324
  if (sessionId) {
15273
15325
  writeTerminalProgress(chalk12.blue(`
15274
15326
  \u{1F4C1} Session ID: ${sessionId}`) + "\n");
15275
- writeTerminalProgress(chalk12.gray(' Use "juno-task session info ' + sessionId + '" for detailed information') + "\n");
15327
+ writeTerminalProgress(chalk12.gray(' Use "juno-code session info ' + sessionId + '" for detailed information') + "\n");
15276
15328
  sessionLogger.info("Session completed", {
15277
15329
  sessionId,
15278
15330
  status: result.status,
@@ -15339,20 +15391,20 @@ function configureStartCommand(program) {
15339
15391
  await startCommandHandler([], options, command);
15340
15392
  }).addHelpText("after", `
15341
15393
  Examples:
15342
- $ juno-task start # Start execution in current directory
15343
- $ juno-task start -s claude # Use claude subagent
15344
- $ juno-task start --subagent cursor # Use cursor subagent
15345
- $ juno-task start -s codex --max-iterations 10 # Use codex with 10 iterations
15346
- $ juno-task start --model sonnet-4 # Use specific model
15347
- $ juno-task start --directory ./my-project # Execute in specific directory
15348
- $ juno-task start --enable-feedback # Enable feedback collection while running
15349
- $ juno-task start --verbose # Show detailed progress
15350
- $ juno-task start --quiet # Minimize output
15351
- $ juno-task start --show-metrics # Display performance summary
15352
- $ juno-task start --show-dashboard # Interactive performance dashboard
15353
- $ juno-task start --show-trends # Show historical performance trends
15354
- $ juno-task start --save-metrics # Save metrics to .juno_task/metrics.json
15355
- $ juno-task start --save-metrics custom.json # Save metrics to custom file
15394
+ $ juno-code start # Start execution in current directory
15395
+ $ juno-code start -s claude # Use claude subagent
15396
+ $ juno-code start --subagent cursor # Use cursor subagent
15397
+ $ juno-code start -s codex --max-iterations 10 # Use codex with 10 iterations
15398
+ $ juno-code start --model sonnet-4 # Use specific model
15399
+ $ juno-code start --directory ./my-project # Execute in specific directory
15400
+ $ juno-code start --enable-feedback # Enable feedback collection while running
15401
+ $ juno-code start --verbose # Show detailed progress
15402
+ $ juno-code start --quiet # Minimize output
15403
+ $ juno-code start --show-metrics # Display performance summary
15404
+ $ juno-code start --show-dashboard # Interactive performance dashboard
15405
+ $ juno-code start --show-trends # Show historical performance trends
15406
+ $ juno-code start --save-metrics # Save metrics to .juno_task/metrics.json
15407
+ $ juno-code start --save-metrics custom.json # Save metrics to custom file
15356
15408
 
15357
15409
  Feedback Collection:
15358
15410
  --enable-feedback Enable concurrent feedback collection
@@ -15368,13 +15420,13 @@ Performance Options:
15368
15420
  --metrics-file <path> Custom metrics file path
15369
15421
 
15370
15422
  Environment Variables:
15371
- JUNO_TASK_MAX_ITERATIONS Default maximum iterations
15372
- JUNO_TASK_MODEL Default model to use
15373
- JUNO_TASK_MCP_SERVER_PATH Path to MCP server executable
15374
- JUNO_TASK_MCP_TIMEOUT MCP operation timeout (ms)
15423
+ JUNO_CODE_MAX_ITERATIONS Default maximum iterations
15424
+ JUNO_CODE_MODEL Default model to use
15425
+ JUNO_CODE_MCP_SERVER_PATH Path to MCP server executable
15426
+ JUNO_CODE_MCP_TIMEOUT MCP operation timeout (ms)
15375
15427
 
15376
15428
  Notes:
15377
- - Requires .juno_task/init.md file (created by 'juno-task init')
15429
+ - Requires .juno_task/init.md file (created by 'juno-code init')
15378
15430
  - Creates a new session for tracking execution
15379
15431
  - Progress is displayed in real-time
15380
15432
  - Performance metrics are collected automatically
@@ -16440,18 +16492,18 @@ function configureTestCommand(program) {
16440
16492
  await testCommandHandler(target, testOptions, command);
16441
16493
  }).addHelpText("after", `
16442
16494
  Examples:
16443
- $ juno-task test --generate # Generate tests for current project
16444
- $ juno-task test --run # Run existing tests
16445
- $ juno-task test --generate --run # Generate and run tests
16446
- $ juno-task test src/utils.ts --generate # Generate tests for specific file
16447
- $ juno-task test --type unit --intelligence smart # Generate smart unit tests
16448
- $ juno-task test --subagent cursor --generate # Use Cursor for test generation
16449
- $ juno-task test --run --coverage # Run tests with coverage
16450
- $ juno-task test --analyze --quality thorough # Analyze test quality thoroughly
16451
- $ juno-task test --report --format html # Generate HTML report
16452
- $ juno-task test --framework jest --generate # Generate Jest tests
16453
- $ juno-task test --template api-integration # Use specific template
16454
- $ juno-task test --watch # Run tests in watch mode
16495
+ $ juno-code test --generate # Generate tests for current project
16496
+ $ juno-code test --run # Run existing tests
16497
+ $ juno-code test --generate --run # Generate and run tests
16498
+ $ juno-code test src/utils.ts --generate # Generate tests for specific file
16499
+ $ juno-code test --type unit --intelligence smart # Generate smart unit tests
16500
+ $ juno-code test --subagent cursor --generate # Use Cursor for test generation
16501
+ $ juno-code test --run --coverage # Run tests with coverage
16502
+ $ juno-code test --analyze --quality thorough # Analyze test quality thoroughly
16503
+ $ juno-code test --report --format html # Generate HTML report
16504
+ $ juno-code test --framework jest --generate # Generate Jest tests
16505
+ $ juno-code test --template api-integration # Use specific template
16506
+ $ juno-code test --watch # Run tests in watch mode
16455
16507
 
16456
16508
  Test Types:
16457
16509
  unit Unit tests for individual functions/classes
@@ -17023,7 +17075,7 @@ function getFeedbackFile(options) {
17023
17075
  return options.file || path.join(process.cwd(), ".juno_task", "USER_FEEDBACK.md");
17024
17076
  }
17025
17077
  function configureFeedbackCommand(program) {
17026
- program.command("feedback").description("Submit feedback about juno-task (enhanced interface)").argument("[feedback...]", "Feedback text or issue description").option("-f, --file <path>", "Feedback file path (default: .juno_task/USER_FEEDBACK.md)").option("--interactive", "Launch simple interactive feedback form").option("-is, --issue <description>", "Issue description").option("-d, --detail <description>", "Issue description (alternative form)").option("--details <description>", "Issue description (alternative form)").option("--description <description>", "Issue description (alternative form)").option("-t, --test <criteria>", "Test criteria or success factors").option("-tc, --test-criteria <criteria>", "Test criteria or success factors (alternative form)").action(async (feedback, options, command) => {
17078
+ program.command("feedback").description("Submit feedback about juno-code (enhanced interface)").argument("[feedback...]", "Feedback text or issue description").option("-f, --file <path>", "Feedback file path (default: .juno_task/USER_FEEDBACK.md)").option("--interactive", "Launch simple interactive feedback form").option("-is, --issue <description>", "Issue description").option("-d, --detail <description>", "Issue description (alternative form)").option("--details <description>", "Issue description (alternative form)").option("--description <description>", "Issue description (alternative form)").option("-t, --test <criteria>", "Test criteria or success factors").option("-tc, --test-criteria <criteria>", "Test criteria or success factors (alternative form)").action(async (feedback, options, command) => {
17027
17079
  const feedbackOptions = {
17028
17080
  file: options.file,
17029
17081
  interactive: options.interactive,
@@ -17044,18 +17096,18 @@ function configureFeedbackCommand(program) {
17044
17096
  await feedbackCommandHandler(args, feedbackOptions);
17045
17097
  }).addHelpText("after", `
17046
17098
  Examples:
17047
- $ juno-task feedback # Interactive feedback form
17048
- $ juno-task feedback "Issue with command" # Direct feedback text
17049
- $ juno-task feedback --interactive # Use interactive form
17050
- $ juno-task feedback --issue "Bug description" --test "Should work without errors" # Issue with test criteria
17051
- $ juno-task feedback -is "Connection timeout" -t "Connect within 30 seconds" # Short form flags
17052
- $ juno-task feedback -is "UI issue" -tc "Should be intuitive" # Alternative short form
17053
- $ juno-task feedback --detail "Bug description" --test "Should work without errors" # Issue with test criteria
17054
- $ juno-task feedback -d "Connection timeout" -t "Connect within 30 seconds" # Short form flags
17055
- $ juno-task feedback --description "UI issue" --test "Should be intuitive" # Alternative form
17056
- $ juno-task feedback archive # Archive resolved issues to keep file lean
17057
- $ juno-task feedback compact # Compact CLAUDE.md and AGENTS.md
17058
- $ juno-task feedback compact CLAUDE.md # Compact specific file
17099
+ $ juno-code feedback # Interactive feedback form
17100
+ $ juno-code feedback "Issue with command" # Direct feedback text
17101
+ $ juno-code feedback --interactive # Use interactive form
17102
+ $ juno-code feedback --issue "Bug description" --test "Should work without errors" # Issue with test criteria
17103
+ $ juno-code feedback -is "Connection timeout" -t "Connect within 30 seconds" # Short form flags
17104
+ $ juno-code feedback -is "UI issue" -tc "Should be intuitive" # Alternative short form
17105
+ $ juno-code feedback --detail "Bug description" --test "Should work without errors" # Issue with test criteria
17106
+ $ juno-code feedback -d "Connection timeout" -t "Connect within 30 seconds" # Short form flags
17107
+ $ juno-code feedback --description "UI issue" --test "Should be intuitive" # Alternative form
17108
+ $ juno-code feedback archive # Archive resolved issues to keep file lean
17109
+ $ juno-code feedback compact # Compact CLAUDE.md and AGENTS.md
17110
+ $ juno-code feedback compact CLAUDE.md # Compact specific file
17059
17111
 
17060
17112
  Enhanced Features:
17061
17113
  1. Issue Description \u2192 Structured feedback with optional test criteria
@@ -17097,7 +17149,7 @@ async function handleCompactCommand(subArgs, options) {
17097
17149
  if (filesToCompact.length === 0) {
17098
17150
  console.log(chalk12.yellow("\u{1F4C4} No config files found to compact"));
17099
17151
  console.log(chalk12.gray(" Looking for: CLAUDE.md, AGENTS.md"));
17100
- console.log(chalk12.gray(" Usage: juno-task feedback compact [file1] [file2]"));
17152
+ console.log(chalk12.gray(" Usage: juno-code feedback compact [file1] [file2]"));
17101
17153
  return;
17102
17154
  }
17103
17155
  console.log(chalk12.blue.bold("\n\u{1F5DC}\uFE0F File Compaction Process\n"));
@@ -17204,7 +17256,7 @@ async function feedbackCommandHandler(args, options, command) {
17204
17256
  if (!issueText.trim()) {
17205
17257
  throw new ValidationError(
17206
17258
  "Issue description is required when using --issue/-is/--detail/--description or --test/-tc flags",
17207
- ['Use: juno-task feedback -is "Issue description" -t "Test criteria" or -tc "Test criteria"']
17259
+ ['Use: juno-code feedback -is "Issue description" -t "Test criteria" or -tc "Test criteria"']
17208
17260
  );
17209
17261
  }
17210
17262
  const feedbackFile = getFeedbackFile(options);
@@ -17254,10 +17306,10 @@ async function feedbackCommandHandler(args, options, command) {
17254
17306
  } else {
17255
17307
  console.log(chalk12.yellow("Use --interactive mode, --issue/-is/--detail/--description flag, or provide feedback text"));
17256
17308
  console.log(chalk12.gray("Examples:"));
17257
- console.log(chalk12.gray(' juno-task feedback --issue "Bug description"'));
17258
- console.log(chalk12.gray(' juno-task feedback -is "Issue" -t "Test criteria"'));
17259
- console.log(chalk12.gray(' juno-task feedback --detail "Bug description"'));
17260
- console.log(chalk12.gray(' juno-task feedback -d "Issue" -t "Test criteria"'));
17309
+ console.log(chalk12.gray(' juno-code feedback --issue "Bug description"'));
17310
+ console.log(chalk12.gray(' juno-code feedback -is "Issue" -t "Test criteria"'));
17311
+ console.log(chalk12.gray(' juno-code feedback --detail "Bug description"'));
17312
+ console.log(chalk12.gray(' juno-code feedback -d "Issue" -t "Test criteria"'));
17261
17313
  }
17262
17314
  break;
17263
17315
  }
@@ -17515,14 +17567,14 @@ async function handleSessionInfo(args, options, sessionManager) {
17515
17567
  const sessionId = args[0];
17516
17568
  if (!sessionId) {
17517
17569
  console.log(chalk12.red("Session ID is required"));
17518
- console.log(chalk12.gray("Usage: juno-task session info <session-id>"));
17519
- console.log(chalk12.gray('Use "juno-task session list" to see available sessions'));
17570
+ console.log(chalk12.gray("Usage: juno-code session info <session-id>"));
17571
+ console.log(chalk12.gray('Use "juno-code session list" to see available sessions'));
17520
17572
  return;
17521
17573
  }
17522
17574
  const session = await sessionManager.getSession(sessionId);
17523
17575
  if (!session) {
17524
17576
  console.log(chalk12.red(`Session not found: ${sessionId}`));
17525
- console.log(chalk12.gray('Use "juno-task session list" to see available sessions'));
17577
+ console.log(chalk12.gray('Use "juno-code session list" to see available sessions'));
17526
17578
  return;
17527
17579
  }
17528
17580
  const formatter = new SessionDisplayFormatter(options.verbose);
@@ -17532,7 +17584,7 @@ async function handleSessionRemove(args, options, sessionManager) {
17532
17584
  const sessionIds = args;
17533
17585
  if (sessionIds.length === 0) {
17534
17586
  console.log(chalk12.red("At least one session ID is required"));
17535
- console.log(chalk12.gray("Usage: juno-task session remove <session-id> [session-id...]"));
17587
+ console.log(chalk12.gray("Usage: juno-code session remove <session-id> [session-id...]"));
17536
17588
  process.exit(1);
17537
17589
  }
17538
17590
  let successCount = 0;
@@ -17661,15 +17713,15 @@ Subcommands:
17661
17713
  clean, cleanup Clean up old/empty sessions
17662
17714
 
17663
17715
  Examples:
17664
- $ juno-task session # List all sessions
17665
- $ juno-task session list --limit 10 # Show 10 most recent
17666
- $ juno-task session list --subagent claude # Filter by subagent
17667
- $ juno-task session list --status completed failed # Filter by status
17668
- $ juno-task session info abc123 # Show session details
17669
- $ juno-task session remove abc123 def456 # Remove sessions
17670
- $ juno-task session remove abc123 --force # Skip confirmation
17671
- $ juno-task session clean --days 30 # Remove sessions >30 days
17672
- $ juno-task session clean --empty --force # Remove empty sessions
17716
+ $ juno-code session # List all sessions
17717
+ $ juno-code session list --limit 10 # Show 10 most recent
17718
+ $ juno-code session list --subagent claude # Filter by subagent
17719
+ $ juno-code session list --status completed failed # Filter by status
17720
+ $ juno-code session info abc123 # Show session details
17721
+ $ juno-code session remove abc123 def456 # Remove sessions
17722
+ $ juno-code session remove abc123 --force # Skip confirmation
17723
+ $ juno-code session clean --days 30 # Remove sessions >30 days
17724
+ $ juno-code session clean --empty --force # Remove empty sessions
17673
17725
 
17674
17726
  Environment Variables:
17675
17727
  JUNO_TASK_SESSION_DIR Session storage directory
@@ -17966,7 +18018,7 @@ var GitManager = class {
17966
18018
  /**
17967
18019
  * Create initial commit
17968
18020
  */
17969
- async createInitialCommit(message = "Initial commit - juno-task project setup") {
18021
+ async createInitialCommit(message = "Initial commit - juno-code project setup") {
17970
18022
  try {
17971
18023
  const { execa: execa2 } = await import('execa');
17972
18024
  await execa2("git", ["add", "."], { cwd: this.workingDirectory });
@@ -18051,7 +18103,7 @@ GIT_URL: ${gitUrl}
18051
18103
  }
18052
18104
  await fs.writeFile(configPath, content, "utf-8");
18053
18105
  } catch (error) {
18054
- console.warn(`Warning: Failed to update juno-task configuration: ${error}`);
18106
+ console.warn(`Warning: Failed to update juno-code configuration: ${error}`);
18055
18107
  }
18056
18108
  }
18057
18109
  /**
@@ -18346,7 +18398,7 @@ var GitDisplayFormatter = class {
18346
18398
  console.log(chalk12.gray(` git push -u origin ${info.currentBranch || "main"}`));
18347
18399
  }
18348
18400
  console.log(" 3. Start working on your project:");
18349
- console.log(chalk12.gray(" juno-task start"));
18401
+ console.log(chalk12.gray(" juno-code start"));
18350
18402
  }
18351
18403
  formatStatus(status) {
18352
18404
  const statusColors = {
@@ -18461,7 +18513,7 @@ async function setupGitCommandHandler(args, options, command) {
18461
18513
  console.log(` Web URL: ${chalk12.blue(webUrl)}`);
18462
18514
  } else {
18463
18515
  console.log(chalk12.yellow("\n\u{1F517} No upstream repository configured"));
18464
- console.log(chalk12.gray(" Use: juno-task setup-git <url> to configure"));
18516
+ console.log(chalk12.gray(" Use: juno-code setup-git <url> to configure"));
18465
18517
  }
18466
18518
  return;
18467
18519
  }
@@ -18469,7 +18521,7 @@ async function setupGitCommandHandler(args, options, command) {
18469
18521
  const info = await gitManager.getRepositoryInfo();
18470
18522
  if (!info.isRepository) {
18471
18523
  console.log(chalk12.yellow("\u274C Not a Git repository"));
18472
- console.log(chalk12.gray(" Initialize with: juno-task setup-git --init"));
18524
+ console.log(chalk12.gray(" Initialize with: juno-code setup-git --init"));
18473
18525
  return;
18474
18526
  }
18475
18527
  const upstreamConfig = await gitManager.getUpstreamConfig();
@@ -18574,10 +18626,10 @@ function configureSetupGitCommand(program) {
18574
18626
  await setupGitCommandHandler(args, options);
18575
18627
  }).addHelpText("after", `
18576
18628
  Examples:
18577
- $ juno-task setup-git # Interactive setup
18578
- $ juno-task setup-git https://github.com/owner/repo # Set specific URL
18579
- $ juno-task setup-git --show # Show current config
18580
- $ juno-task setup-git --remove # Remove upstream URL
18629
+ $ juno-code setup-git # Interactive setup
18630
+ $ juno-code setup-git https://github.com/owner/repo # Set specific URL
18631
+ $ juno-code setup-git --show # Show current config
18632
+ $ juno-code setup-git --remove # Remove upstream URL
18581
18633
 
18582
18634
  Git URL Examples:
18583
18635
  https://github.com/owner/repo.git # GitHub HTTPS
@@ -19229,16 +19281,16 @@ function configureLogsCommand(program) {
19229
19281
  await logsCommandHandler([], options);
19230
19282
  }).addHelpText("after", `
19231
19283
  Examples:
19232
- $ juno-task logs # Show recent logs
19233
- $ juno-task logs --interactive # Interactive log viewer
19234
- $ juno-task logs --level error # Show only errors
19235
- $ juno-task logs --context mcp # Show only MCP logs
19236
- $ juno-task logs --search "connection" # Search for connection logs
19237
- $ juno-task logs --tail 100 # Show last 100 entries
19238
- $ juno-task logs --follow # Follow logs in real-time
19239
- $ juno-task logs --export logs.json # Export logs to file
19240
- $ juno-task logs --stats # Show statistics only
19241
- $ juno-task logs --format json # JSON output format
19284
+ $ juno-code logs # Show recent logs
19285
+ $ juno-code logs --interactive # Interactive log viewer
19286
+ $ juno-code logs --level error # Show only errors
19287
+ $ juno-code logs --context mcp # Show only MCP logs
19288
+ $ juno-code logs --search "connection" # Search for connection logs
19289
+ $ juno-code logs --tail 100 # Show last 100 entries
19290
+ $ juno-code logs --follow # Follow logs in real-time
19291
+ $ juno-code logs --export logs.json # Export logs to file
19292
+ $ juno-code logs --stats # Show statistics only
19293
+ $ juno-code logs --format json # JSON output format
19242
19294
 
19243
19295
  Interactive Viewer:
19244
19296
  \u2191\u2193 or j/k Navigate entries
@@ -19919,22 +19971,22 @@ var QUICK_REFERENCE = [
19919
19971
  {
19920
19972
  name: "init",
19921
19973
  description: "Initialize new project",
19922
- usage: "juno-task init [--interactive]"
19974
+ usage: "juno-code init [--interactive]"
19923
19975
  },
19924
19976
  {
19925
19977
  name: "start",
19926
19978
  description: "Execute task",
19927
- usage: "juno-task start [--max-iterations N]"
19979
+ usage: "juno-code start [--max-iterations N]"
19928
19980
  },
19929
19981
  {
19930
19982
  name: "logs",
19931
19983
  description: "View application logs",
19932
- usage: "juno-task logs [--interactive]"
19984
+ usage: "juno-code logs [--interactive]"
19933
19985
  },
19934
19986
  {
19935
19987
  name: "session",
19936
19988
  description: "Manage execution sessions",
19937
- usage: "juno-task session <list|info|remove>"
19989
+ usage: "juno-code session <list|info|remove>"
19938
19990
  }
19939
19991
  ]
19940
19992
  },
@@ -19944,22 +19996,22 @@ var QUICK_REFERENCE = [
19944
19996
  {
19945
19997
  name: "claude",
19946
19998
  description: "Execute with Claude subagent",
19947
- usage: 'juno-task claude "task description"'
19999
+ usage: 'juno-code claude "task description"'
19948
20000
  },
19949
20001
  {
19950
20002
  name: "cursor",
19951
20003
  description: "Execute with Cursor subagent",
19952
- usage: 'juno-task cursor "task description"'
20004
+ usage: 'juno-code cursor "task description"'
19953
20005
  },
19954
20006
  {
19955
20007
  name: "codex",
19956
20008
  description: "Execute with Codex subagent",
19957
- usage: 'juno-task codex "task description"'
20009
+ usage: 'juno-code codex "task description"'
19958
20010
  },
19959
20011
  {
19960
20012
  name: "gemini",
19961
20013
  description: "Execute with Gemini subagent",
19962
- usage: 'juno-task gemini "task description"'
20014
+ usage: 'juno-code gemini "task description"'
19963
20015
  }
19964
20016
  ]
19965
20017
  },
@@ -19969,22 +20021,22 @@ var QUICK_REFERENCE = [
19969
20021
  {
19970
20022
  name: "feedback",
19971
20023
  description: "Collect user feedback",
19972
- usage: "juno-task feedback [--interactive]"
20024
+ usage: "juno-code feedback [--interactive]"
19973
20025
  },
19974
20026
  {
19975
20027
  name: "setup-git",
19976
20028
  description: "Initialize Git repository",
19977
- usage: "juno-task setup-git <repository-url>"
20029
+ usage: "juno-code setup-git <repository-url>"
19978
20030
  },
19979
20031
  {
19980
20032
  name: "completion",
19981
20033
  description: "Shell completion setup",
19982
- usage: "juno-task completion <install|uninstall>"
20034
+ usage: "juno-code completion <install|uninstall>"
19983
20035
  },
19984
20036
  {
19985
20037
  name: "help",
19986
20038
  description: "Show help information",
19987
- usage: "juno-task help [--interactive]"
20039
+ usage: "juno-code help [--interactive]"
19988
20040
  }
19989
20041
  ]
19990
20042
  }
@@ -20003,15 +20055,15 @@ var TROUBLESHOOTING_GUIDE = `# Troubleshooting Guide
20003
20055
 
20004
20056
  **Solutions**:
20005
20057
  1. Install MCP server (e.g., roundtable-mcp-server)
20006
- 2. Check configuration: \`juno-task init --interactive\`
20058
+ 2. Check configuration: \`juno-code init --interactive\`
20007
20059
  3. Verify server path: \`which roundtable-mcp-server\`
20008
- 4. Test connection: \`juno-task start --verbose\`
20060
+ 4. Test connection: \`juno-code start --verbose\`
20009
20061
 
20010
20062
  ### \u{1F4C1} File System Issues
20011
20063
 
20012
20064
  **Issue**: "init.md not found"
20013
20065
  **Cause**: No project initialized in current directory
20014
- **Solution**: Run \`juno-task init\` to create project structure
20066
+ **Solution**: Run \`juno-code init\` to create project structure
20015
20067
 
20016
20068
  **Issue**: "Permission denied"
20017
20069
  **Cause**: Insufficient file permissions
@@ -20039,19 +20091,19 @@ var TROUBLESHOOTING_GUIDE = `# Troubleshooting Guide
20039
20091
  Get detailed debug information:
20040
20092
  \`\`\`bash
20041
20093
  # Verbose execution with debug logging
20042
- juno-task start --verbose --log-level debug
20094
+ juno-code start --verbose --log-level debug
20043
20095
 
20044
20096
  # View recent error logs
20045
- juno-task logs --level error --tail 50
20097
+ juno-code logs --level error --tail 50
20046
20098
 
20047
20099
  # Export logs for analysis
20048
- juno-task logs --export debug.json --level debug
20100
+ juno-code logs --export debug.json --level debug
20049
20101
  \`\`\`
20050
20102
 
20051
20103
  ## Getting More Help
20052
20104
 
20053
- 1. **Interactive Help**: \`juno-task help --interactive\`
20054
- 2. **View Logs**: \`juno-task logs --interactive\`
20105
+ 1. **Interactive Help**: \`juno-code help --interactive\`
20106
+ 2. **View Logs**: \`juno-code logs --interactive\`
20055
20107
  3. **Check Configuration**: Review .juno_task/config.json
20056
20108
  4. **Test MCP Connection**: Use --verbose flag with any command
20057
20109
  5. **Report Issues**: Include debug logs when reporting problems
@@ -20060,16 +20112,20 @@ juno-task logs --export debug.json --level debug
20060
20112
 
20061
20113
  Useful for debugging:
20062
20114
  \`\`\`bash
20115
+ export JUNO_CODE_VERBOSE=true
20116
+ export JUNO_CODE_LOG_LEVEL=debug
20117
+ export NO_COLOR=true # Disable colors for log analysis
20118
+
20119
+ # Legacy variables (still supported for backward compatibility)
20063
20120
  export JUNO_TASK_VERBOSE=true
20064
20121
  export JUNO_TASK_LOG_LEVEL=debug
20065
- export NO_COLOR=true # Disable colors for log analysis
20066
20122
  \`\`\`
20067
20123
  `;
20068
20124
  function displayQuickReference(formatter) {
20069
20125
  console.log(formatter.panel(
20070
- "Welcome to juno-task! This quick reference shows the most commonly used commands.",
20126
+ "Welcome to juno-code! This quick reference shows the most commonly used commands.",
20071
20127
  {
20072
- title: "\u{1F680} juno-task Quick Reference",
20128
+ title: "\u{1F680} juno-code Quick Reference",
20073
20129
  border: "rounded",
20074
20130
  style: "success",
20075
20131
  padding: 1
@@ -20086,8 +20142,8 @@ function displayQuickReference(formatter) {
20086
20142
  });
20087
20143
  });
20088
20144
  console.log(formatter.panel(
20089
- `Use ${chalk12.cyan("juno-task help --interactive")} for comprehensive help with search and tutorials.
20090
- Use ${chalk12.cyan("juno-task <command> --help")} for detailed command information.`,
20145
+ `Use ${chalk12.cyan("juno-code help --interactive")} for comprehensive help with search and tutorials.
20146
+ Use ${chalk12.cyan("juno-code <command> --help")} for detailed command information.`,
20091
20147
  {
20092
20148
  title: "\u{1F4A1} Next Steps",
20093
20149
  border: "rounded",
@@ -20138,8 +20194,8 @@ function listHelpTopics() {
20138
20194
  console.log(`${icon} ${chalk12.cyan(topic.id.padEnd(20))} ${topic.title}`);
20139
20195
  });
20140
20196
  console.log(chalk12.yellow(`
20141
- Use ${chalk12.cyan("juno-task help --topic <id>")} to view a specific topic`));
20142
- console.log(chalk12.yellow(`Use ${chalk12.cyan("juno-task help --interactive")} for full interactive help`));
20197
+ Use ${chalk12.cyan("juno-code help --topic <id>")} to view a specific topic`));
20198
+ console.log(chalk12.yellow(`Use ${chalk12.cyan("juno-code help --interactive")} for full interactive help`));
20143
20199
  }
20144
20200
  function searchHelpTopics(searchTerm) {
20145
20201
  const matchingTopics = [
@@ -20159,7 +20215,7 @@ function searchHelpTopics(searchTerm) {
20159
20215
  console.log(chalk12.cyan(`\u2022 ${topicId}`));
20160
20216
  });
20161
20217
  console.log(chalk12.yellow(`
20162
- Use ${chalk12.cyan("juno-task help --topic <id>")} to view details`));
20218
+ Use ${chalk12.cyan("juno-code help --topic <id>")} to view details`));
20163
20219
  }
20164
20220
  async function helpCommandHandler(args, options, command) {
20165
20221
  try {
@@ -20213,12 +20269,12 @@ function configureHelpCommand(program) {
20213
20269
  await helpCommandHandler([], options);
20214
20270
  }).addHelpText("after", `
20215
20271
  Examples:
20216
- $ juno-task help # Quick reference guide
20217
- $ juno-task help --interactive # Interactive help system
20218
- $ juno-task help --topic quickstart # Specific topic
20219
- $ juno-task help --search "mcp" # Search topics
20220
- $ juno-task help --list # List all topics
20221
- $ juno-task help --troubleshooting # Troubleshooting guide
20272
+ $ juno-code help # Quick reference guide
20273
+ $ juno-code help --interactive # Interactive help system
20274
+ $ juno-code help --topic quickstart # Specific topic
20275
+ $ juno-code help --search "mcp" # Search topics
20276
+ $ juno-code help --list # List all topics
20277
+ $ juno-code help --troubleshooting # Troubleshooting guide
20222
20278
 
20223
20279
  Interactive Help Features:
20224
20280
  - Browse help by category
@@ -20247,7 +20303,7 @@ Navigation (Interactive Mode):
20247
20303
  Notes:
20248
20304
  - Interactive help provides the most comprehensive assistance
20249
20305
  - Use --verbose with any command for detailed output
20250
- - Check logs with 'juno-task logs' for debugging
20306
+ - Check logs with 'juno-code logs' for debugging
20251
20307
  - All help content is searchable and cross-referenced
20252
20308
  `);
20253
20309
  }
@@ -20263,7 +20319,7 @@ var ProfileDisplayFormatter = class {
20263
20319
  formatProfileList(profiles, activeProfile) {
20264
20320
  if (profiles.length === 0) {
20265
20321
  console.log(chalk12.yellow("No configuration profiles found."));
20266
- console.log(chalk12.gray('\nUse "juno-task config create <name>" to create your first profile.'));
20322
+ console.log(chalk12.gray('\nUse "juno-code config create <name>" to create your first profile.'));
20267
20323
  return;
20268
20324
  }
20269
20325
  console.log(chalk12.blue.bold(`
@@ -20357,7 +20413,7 @@ async function listProfiles(options = {}) {
20357
20413
  const formatter = new ProfileDisplayFormatter(options.verbose);
20358
20414
  formatter.formatProfileList(profiles, activeProfile);
20359
20415
  if (options.verbose && profiles.length > 0) {
20360
- console.log(chalk12.gray('\nUse "juno-task config show <profile>" for detailed information.'));
20416
+ console.log(chalk12.gray('\nUse "juno-code config show <profile>" for detailed information.'));
20361
20417
  }
20362
20418
  } catch (error) {
20363
20419
  const formatter = new ProfileDisplayFormatter();
@@ -20382,7 +20438,7 @@ async function showProfile(profileName, options = {}) {
20382
20438
  const formatter = new ProfileDisplayFormatter();
20383
20439
  if (error instanceof ProfileNotFoundError) {
20384
20440
  formatter.formatError(`Profile '${profileName}' not found.`);
20385
- console.log(chalk12.gray('\nUse "juno-task config list" to see available profiles.'));
20441
+ console.log(chalk12.gray('\nUse "juno-code config list" to see available profiles.'));
20386
20442
  } else {
20387
20443
  formatter.formatError(`Failed to show profile: ${error}`);
20388
20444
  }
@@ -20400,7 +20456,7 @@ async function setActiveProfile(profileName) {
20400
20456
  const formatter = new ProfileDisplayFormatter();
20401
20457
  if (error instanceof ProfileNotFoundError) {
20402
20458
  formatter.formatError(`Profile '${profileName}' not found.`);
20403
- console.log(chalk12.gray('\nUse "juno-task config list" to see available profiles.'));
20459
+ console.log(chalk12.gray('\nUse "juno-code config list" to see available profiles.'));
20404
20460
  } else {
20405
20461
  formatter.formatError(`Failed to set active profile: ${error}`);
20406
20462
  }
@@ -20429,13 +20485,13 @@ async function createProfile(profileName, options = {}) {
20429
20485
  formatter.formatSuccess(`Profile '${profileName}' created successfully`);
20430
20486
  if (options.interactive) {
20431
20487
  console.log(chalk12.gray("\nYou can now configure this profile using:"));
20432
- console.log(chalk12.cyan(` juno-task config edit ${profileName}`));
20488
+ console.log(chalk12.cyan(` juno-code config edit ${profileName}`));
20433
20489
  }
20434
20490
  } catch (error) {
20435
20491
  const formatter = new ProfileDisplayFormatter();
20436
20492
  if (error instanceof ProfileExistsError) {
20437
20493
  formatter.formatError(`Profile '${profileName}' already exists.`);
20438
- console.log(chalk12.gray('Use "juno-task config show <profile>" to view existing profile.'));
20494
+ console.log(chalk12.gray('Use "juno-code config show <profile>" to view existing profile.'));
20439
20495
  } else if (error instanceof CircularInheritanceError) {
20440
20496
  formatter.formatError(`Circular inheritance detected: ${error.message}`);
20441
20497
  } else {
@@ -20529,12 +20585,12 @@ function setupConfigCommand(program) {
20529
20585
  configCmd.on("--help", () => {
20530
20586
  console.log("");
20531
20587
  console.log("Examples:");
20532
- console.log(" $ juno-task config list # List all profiles");
20533
- console.log(" $ juno-task config show development # Show development profile");
20534
- console.log(" $ juno-task config set production # Set active profile");
20535
- console.log(' $ juno-task config create dev --description "Development settings"');
20536
- console.log(" $ juno-task config export prod prod.json # Export to file");
20537
- console.log(" $ juno-task config import backup.json # Import from file");
20588
+ console.log(" $ juno-code config list # List all profiles");
20589
+ console.log(" $ juno-code config show development # Show development profile");
20590
+ console.log(" $ juno-code config set production # Set active profile");
20591
+ console.log(' $ juno-code config create dev --description "Development settings"');
20592
+ console.log(" $ juno-code config export prod prod.json # Export to file");
20593
+ console.log(" $ juno-code config import backup.json # Import from file");
20538
20594
  console.log("");
20539
20595
  });
20540
20596
  }
@@ -20632,15 +20688,15 @@ var ShellDetector = class _ShellDetector {
20632
20688
  switch (shell) {
20633
20689
  case "bash":
20634
20690
  if (process.platform === "darwin") {
20635
- return path.join("/usr/local/etc/bash_completion.d", "juno-ts-task");
20691
+ return path.join("/usr/local/etc/bash_completion.d", "juno-code");
20636
20692
  }
20637
- return path.join(homeDir, ".local", "share", "bash-completion", "completions", "juno-ts-task");
20693
+ return path.join(homeDir, ".local", "share", "bash-completion", "completions", "juno-code");
20638
20694
  case "zsh":
20639
- return path.join(homeDir, ".local", "share", "zsh", "site-functions", "_juno-ts-task");
20695
+ return path.join(homeDir, ".local", "share", "zsh", "site-functions", "_juno-code");
20640
20696
  case "fish":
20641
- return path.join(homeDir, ".config", "fish", "completions", "juno-ts-task.fish");
20697
+ return path.join(homeDir, ".config", "fish", "completions", "juno-code.fish");
20642
20698
  case "powershell":
20643
- return path.join(homeDir, ".config", "powershell", "completions", "juno-ts-task.ps1");
20699
+ return path.join(homeDir, ".config", "powershell", "completions", "juno-code.ps1");
20644
20700
  default:
20645
20701
  throw new Error(`Unsupported shell: ${shell}`);
20646
20702
  }
@@ -20662,17 +20718,17 @@ var ShellDetector = class _ShellDetector {
20662
20718
  getSourceCommand(shell, completionPath) {
20663
20719
  switch (shell) {
20664
20720
  case "bash":
20665
- return `# juno-ts-task completion
20721
+ return `# juno-code completion
20666
20722
  [ -f "${completionPath}" ] && source "${completionPath}"`;
20667
20723
  case "zsh":
20668
20724
  const zshDir = path.dirname(completionPath);
20669
- return `# juno-ts-task completion
20725
+ return `# juno-code completion
20670
20726
  fpath=("${zshDir}" $fpath)
20671
20727
  autoload -U compinit && compinit`;
20672
20728
  case "fish":
20673
- return `# juno-ts-task completion (automatically loaded)`;
20729
+ return `# juno-code completion (automatically loaded)`;
20674
20730
  case "powershell":
20675
- return `# juno-ts-task completion
20731
+ return `# juno-code completion
20676
20732
  . "${completionPath}"`;
20677
20733
  default:
20678
20734
  throw new Error(`Unsupported shell: ${shell}`);
@@ -20687,7 +20743,7 @@ autoload -U compinit && compinit`;
20687
20743
  return false;
20688
20744
  }
20689
20745
  const content = await fs.readFile(configPath, "utf-8");
20690
- return content.includes("juno-ts-task completion");
20746
+ return content.includes("juno-code completion");
20691
20747
  } catch {
20692
20748
  return false;
20693
20749
  }
@@ -20946,7 +21002,7 @@ var CompletionInstaller = class {
20946
21002
  }
20947
21003
  await this.shellDetector.ensureCompletionDirectory(shell);
20948
21004
  await this.shellDetector.ensureConfigDirectory(shell);
20949
- const script = this.generateEnhancedCompletion(shell, "juno-ts-task");
21005
+ const script = this.generateEnhancedCompletion(shell, "juno-code");
20950
21006
  const completionPath = this.shellDetector.getCompletionPath(shell);
20951
21007
  await fs.writeFile(completionPath, script, "utf-8");
20952
21008
  const configPath = this.shellDetector.getConfigPath(shell);
@@ -21035,7 +21091,7 @@ ${sourceCommand}
21035
21091
  return `#!/bin/bash
21036
21092
 
21037
21093
  # ${commandName} enhanced completion script for bash
21038
- # Generated by juno-task-ts CLI with context-aware features
21094
+ # Generated by juno-code CLI with context-aware features
21039
21095
 
21040
21096
  _${commandName}_completion() {
21041
21097
  local cur prev opts base
@@ -21229,7 +21285,7 @@ complete -F _${commandName}_completion ${commandName}
21229
21285
  return `#compdef ${commandName}
21230
21286
 
21231
21287
  # ${commandName} enhanced completion script for zsh
21232
- # Generated by juno-task-ts CLI with context-aware features
21288
+ # Generated by juno-code CLI with context-aware features
21233
21289
 
21234
21290
  _${commandName}() {
21235
21291
  local context state line
@@ -21384,7 +21440,7 @@ _${commandName} "$@"
21384
21440
  */
21385
21441
  generateEnhancedFishCompletion(commandName) {
21386
21442
  return `# ${commandName} enhanced completion script for fish
21387
- # Generated by juno-task-ts CLI with context-aware features
21443
+ # Generated by juno-code CLI with context-aware features
21388
21444
 
21389
21445
  # Context-aware model completion
21390
21446
  function __${commandName}_complete_models
@@ -21640,7 +21696,7 @@ var CompletionCommand = class {
21640
21696
  const uninstalledShells = completionStatus.filter((status) => !status.isInstalled && !status.error).map((status) => status.shell);
21641
21697
  if (uninstalledShells.length > 0) {
21642
21698
  console.log(chalk12.blue("\n\u{1F4A1} Suggestions:"));
21643
- console.log(chalk12.white(` Install completion: juno-ts-task completion install ${uninstalledShells.join(" ")}`));
21699
+ console.log(chalk12.white(` Install completion: juno-code completion install ${uninstalledShells.join(" ")}`));
21644
21700
  }
21645
21701
  const currentShell = this.shellDetector.getCurrentShell();
21646
21702
  if (currentShell) {
@@ -21651,7 +21707,7 @@ var CompletionCommand = class {
21651
21707
  } else {
21652
21708
  console.log(chalk12.yellow(`
21653
21709
  \u{1F3AF} Current shell (${currentShell}): Completion not installed`));
21654
- console.log(chalk12.white(` Install: juno-ts-task completion install ${currentShell}`));
21710
+ console.log(chalk12.white(` Install: juno-code completion install ${currentShell}`));
21655
21711
  }
21656
21712
  }
21657
21713
  } catch (error) {
@@ -21735,7 +21791,7 @@ var CompletionCommand = class {
21735
21791
  console.log(chalk12.white("\u2022 Reload PowerShell"));
21736
21792
  break;
21737
21793
  }
21738
- console.log(chalk12.white("\u2022 Test: juno-ts-task <TAB>"));
21794
+ console.log(chalk12.white("\u2022 Test: juno-code <TAB>"));
21739
21795
  }
21740
21796
  };
21741
21797
  var completion_default = CompletionCommand;
@@ -21801,7 +21857,7 @@ function setupMainCommand(program) {
21801
21857
  const cwd2 = process.cwd();
21802
21858
  const junoTaskDir = path20.join(cwd2, ".juno_task");
21803
21859
  if (await fs18.pathExists(junoTaskDir)) {
21804
- console.log(chalk12.blue.bold("\u{1F3AF} Juno Task - Auto-detected Initialized Project\n"));
21860
+ console.log(chalk12.blue.bold("\u{1F3AF} Juno Code - Auto-detected Initialized Project\n"));
21805
21861
  try {
21806
21862
  const { loadConfig: loadConfig2 } = await Promise.resolve().then(() => (init_config(), config_exports));
21807
21863
  const config = await loadConfig2({
@@ -21834,13 +21890,13 @@ function setupMainCommand(program) {
21834
21890
  }
21835
21891
  }
21836
21892
  if (!globalOptions.subagent && !options.prompt && !options.interactive && !options.interactivePrompt) {
21837
- console.log(chalk12.blue.bold("\u{1F3AF} Juno Task - TypeScript CLI for AI Subagent Orchestration\n"));
21893
+ console.log(chalk12.blue.bold("\u{1F3AF} Juno Code - TypeScript CLI for AI Subagent Orchestration\n"));
21838
21894
  console.log(chalk12.white("To get started:"));
21839
- console.log(chalk12.gray(" juno-task init # Initialize new project"));
21840
- console.log(chalk12.gray(" juno-task start # Start execution"));
21841
- console.log(chalk12.gray(" juno-task test --generate --run # AI-powered testing"));
21842
- console.log(chalk12.gray(' juno-task -s claude -p "prompt" # Quick execution with Claude'));
21843
- console.log(chalk12.gray(" juno-task --help # Show all commands"));
21895
+ console.log(chalk12.gray(" juno-code init # Initialize new project"));
21896
+ console.log(chalk12.gray(" juno-code start # Start execution"));
21897
+ console.log(chalk12.gray(" juno-code test --generate --run # AI-powered testing"));
21898
+ console.log(chalk12.gray(' juno-code -s claude -p "prompt" # Quick execution with Claude'));
21899
+ console.log(chalk12.gray(" juno-code --help # Show all commands"));
21844
21900
  console.log("");
21845
21901
  return;
21846
21902
  }
@@ -21854,7 +21910,7 @@ function setupMainCommand(program) {
21854
21910
  function displayBanner(verbose = false) {
21855
21911
  if (verbose) {
21856
21912
  console.log(chalk12.blue.bold(`
21857
- \u{1F3AF} Juno Task v${VERSION} - TypeScript CLI`));
21913
+ \u{1F3AF} Juno Code v${VERSION} - TypeScript CLI`));
21858
21914
  console.log(chalk12.gray(` Node.js ${process.version} on ${process.platform}`));
21859
21915
  console.log(chalk12.gray(` Working directory: ${process.cwd()}`));
21860
21916
  console.log("");
@@ -21887,7 +21943,22 @@ function setupAliases(program) {
21887
21943
  }
21888
21944
  }
21889
21945
  function configureEnvironment() {
21890
- const envVars = [
21946
+ const newEnvVars = [
21947
+ "JUNO_CODE_SUBAGENT",
21948
+ "JUNO_CODE_PROMPT",
21949
+ "JUNO_CODE_CWD",
21950
+ "JUNO_CODE_MAX_ITERATIONS",
21951
+ "JUNO_CODE_MODEL",
21952
+ "JUNO_CODE_LOG_FILE",
21953
+ "JUNO_CODE_VERBOSE",
21954
+ "JUNO_CODE_QUIET",
21955
+ "JUNO_CODE_CONFIG",
21956
+ "JUNO_CODE_MCP_SERVER_PATH",
21957
+ "JUNO_CODE_MCP_TIMEOUT",
21958
+ "JUNO_CODE_NO_COLOR",
21959
+ "JUNO_CODE_ENABLE_FEEDBACK"
21960
+ ];
21961
+ const legacyEnvVars = [
21891
21962
  "JUNO_TASK_SUBAGENT",
21892
21963
  "JUNO_TASK_PROMPT",
21893
21964
  "JUNO_TASK_CWD",
@@ -21902,10 +21973,10 @@ function configureEnvironment() {
21902
21973
  "JUNO_TASK_NO_COLOR",
21903
21974
  "JUNO_TASK_ENABLE_FEEDBACK"
21904
21975
  ];
21905
- for (const envVar of envVars) {
21976
+ const processEnvVar = (envVar, prefix) => {
21906
21977
  const value = process.env[envVar];
21907
- if (value && !process.argv.includes(`--${envVar.toLowerCase().replace("juno_task_", "").replace(/_/g, "-")}`)) {
21908
- const option = envVar.toLowerCase().replace("juno_task_", "").replace(/_/g, "-");
21978
+ if (value && !process.argv.includes(`--${envVar.toLowerCase().replace(prefix, "").replace(/_/g, "-")}`)) {
21979
+ const option = envVar.toLowerCase().replace(prefix, "").replace(/_/g, "-");
21909
21980
  switch (option) {
21910
21981
  case "verbose":
21911
21982
  case "quiet":
@@ -21918,6 +21989,21 @@ function configureEnvironment() {
21918
21989
  default:
21919
21990
  process.argv.push(`--${option}`, value);
21920
21991
  }
21992
+ return true;
21993
+ }
21994
+ return false;
21995
+ };
21996
+ const processedOptions = /* @__PURE__ */ new Set();
21997
+ for (const envVar of newEnvVars) {
21998
+ if (processEnvVar(envVar, "juno_code_")) {
21999
+ const option = envVar.toLowerCase().replace("juno_code_", "").replace(/_/g, "-");
22000
+ processedOptions.add(option);
22001
+ }
22002
+ }
22003
+ for (const envVar of legacyEnvVars) {
22004
+ const option = envVar.toLowerCase().replace("juno_task_", "").replace(/_/g, "-");
22005
+ if (!processedOptions.has(option)) {
22006
+ processEnvVar(envVar, "juno_task_");
21921
22007
  }
21922
22008
  }
21923
22009
  if (!process.argv.includes("--enable-feedback")) {
@@ -21936,7 +22022,7 @@ function configureEnvironment() {
21936
22022
  async function main() {
21937
22023
  const program = new Command();
21938
22024
  configureEnvironment();
21939
- program.name("juno-task").description("TypeScript implementation of juno-task CLI tool for AI subagent orchestration").version(VERSION, "-V, --version", "Display version information").helpOption("-h, --help", "Display help information");
22025
+ program.name("juno-code").description("TypeScript implementation of juno-code CLI tool for AI subagent orchestration").version(VERSION, "-V, --version", "Display version information").helpOption("-h, --help", "Display help information");
21940
22026
  setupGlobalOptions(program);
21941
22027
  const isVerbose = process.argv.includes("--verbose") || process.argv.includes("-v");
21942
22028
  displayBanner(isVerbose);
@@ -21975,54 +22061,58 @@ async function main() {
21975
22061
  setupAliases(program);
21976
22062
  setupMainCommand(program);
21977
22063
  program.addHelpText("beforeAll", `
21978
- ${chalk12.blue.bold("\u{1F3AF} Juno Task")} - TypeScript CLI for AI Subagent Orchestration
22064
+ ${chalk12.blue.bold("\u{1F3AF} Juno Code")} - TypeScript CLI for AI Subagent Orchestration
21979
22065
 
21980
22066
  `);
21981
22067
  program.addHelpText("afterAll", `
21982
22068
  ${chalk12.blue.bold("Examples:")}
21983
22069
  ${chalk12.gray("# Initialize new project")}
21984
- juno-task init
22070
+ juno-code init
21985
22071
 
21986
22072
  ${chalk12.gray("# Start execution using .juno_task/init.md")}
21987
- juno-task start
22073
+ juno-code start
21988
22074
 
21989
22075
  ${chalk12.gray("# AI-powered testing")}
21990
- juno-task test --generate --run
21991
- juno-task test src/utils.ts --subagent claude
21992
- juno-task test --analyze --coverage
22076
+ juno-code test --generate --run
22077
+ juno-code test src/utils.ts --subagent claude
22078
+ juno-code test --analyze --coverage
21993
22079
 
21994
22080
  ${chalk12.gray("# Quick execution with Claude")}
21995
- juno-task claude "Analyze this codebase and suggest improvements"
22081
+ juno-code claude "Analyze this codebase and suggest improvements"
21996
22082
 
21997
22083
  ${chalk12.gray("# Interactive project setup")}
21998
- juno-task init --interactive
22084
+ juno-code init --interactive
21999
22085
 
22000
22086
  ${chalk12.gray("# Manage sessions")}
22001
- juno-task session list
22002
- juno-task session info abc123
22087
+ juno-code session list
22088
+ juno-code session info abc123
22003
22089
 
22004
22090
  ${chalk12.gray("# Enable feedback collection globally")}
22005
- juno-task --enable-feedback start
22091
+ juno-code --enable-feedback start
22006
22092
 
22007
22093
  ${chalk12.gray("# Collect feedback")}
22008
- juno-task feedback --interactive
22094
+ juno-code feedback --interactive
22009
22095
 
22010
22096
  ${chalk12.gray("# Manage configuration profiles")}
22011
- juno-task config list
22012
- juno-task config create development
22097
+ juno-code config list
22098
+ juno-code config create development
22013
22099
 
22014
22100
  ${chalk12.gray("# Setup Git repository")}
22015
- juno-task setup-git https://github.com/owner/repo
22101
+ juno-code setup-git https://github.com/owner/repo
22016
22102
 
22017
22103
  ${chalk12.blue.bold("Environment Variables:")}
22018
- JUNO_TASK_SUBAGENT Default subagent (claude, cursor, codex, gemini)
22019
- JUNO_TASK_MCP_SERVER_PATH Path to MCP server executable
22020
- JUNO_TASK_CONFIG Configuration file path
22021
- JUNO_TASK_VERBOSE Enable verbose output (true/false)
22022
- JUNO_TASK_ENABLE_FEEDBACK Enable concurrent feedback collection (true/false)
22104
+ JUNO_CODE_SUBAGENT Default subagent (claude, cursor, codex, gemini)
22105
+ JUNO_CODE_MCP_SERVER_PATH Path to MCP server executable
22106
+ JUNO_CODE_CONFIG Configuration file path
22107
+ JUNO_CODE_VERBOSE Enable verbose output (true/false)
22108
+ JUNO_CODE_ENABLE_FEEDBACK Enable concurrent feedback collection (true/false)
22109
+ JUNO_CODE_MCP_TIMEOUT MCP server timeout in milliseconds
22023
22110
  JUNO_INTERACTIVE_FEEDBACK_MODE Enable interactive feedback mode (true/false)
22024
22111
  NO_COLOR Disable colored output (standard)
22025
22112
 
22113
+ ${chalk12.gray("Legacy variables (backward compatibility):")}
22114
+ JUNO_TASK_* All JUNO_TASK_* variables still supported
22115
+
22026
22116
  ${chalk12.blue.bold("Configuration:")}
22027
22117
  Configuration can be specified via:
22028
22118
  1. Command line arguments (highest priority)
@@ -22031,8 +22121,8 @@ ${chalk12.blue.bold("Configuration:")}
22031
22121
  4. Built-in defaults (lowest priority)
22032
22122
 
22033
22123
  ${chalk12.blue.bold("Support:")}
22034
- Documentation: https://github.com/owner/juno-task-ts#readme
22035
- Issues: https://github.com/owner/juno-task-ts/issues
22124
+ Documentation: https://github.com/owner/juno-code#readme
22125
+ Issues: https://github.com/owner/juno-code/issues
22036
22126
  License: MIT
22037
22127
 
22038
22128
  `);