juno-code 1.0.43 → 1.0.44

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
@@ -15181,6 +15181,8 @@ Items that have been resolved will be moved here.`,
15181
15181
  When a task on kanban, has related_tasks key, you need to get the task to understand the complete picture of tasks related to the current current task, you can get all the context through
15182
15182
  \`./.juno_task/scripts/kanban.sh get {TASK_ID}\`
15183
15183
 
15184
+ When creating a task, relevant to another task, you can add the following format anywhere in the body of the task : \`[task_id]{Ref_TASK_ID}[/task_id]\` , using ref task id, help kanban organize dependecies between tasks better.
15185
+
15184
15186
  Important: You need to get maximum 3 tasks done in one go.
15185
15187
 
15186
15188
  ## Agent-Specific Instructions
@@ -15314,6 +15316,9 @@ When a task on kanban, has related_tasks key, you need to get the task to unders
15314
15316
  \`./.juno_task/scripts/kanban.sh get {TASK_ID}\`
15315
15317
 
15316
15318
 
15319
+ When creating a task, relevant to another task, you can add the following format anywhere in the body of the task : \`[task_id]{Ref_TASK_ID}[/task_id]\` , using ref task id, help kanban organize dependecies between tasks better.
15320
+
15321
+ Important: You need to get maximum 3 tasks done in one go.
15317
15322
 
15318
15323
  ## Build & Test Commands
15319
15324
 
@@ -16548,142 +16553,16 @@ This project uses AI-assisted development with juno-code to achieve: ${variables
16548
16553
  - Security best practices
16549
16554
  `;
16550
16555
  await fs3.writeFile(path3.join(specsDir, "architecture.md"), architectureContent);
16551
- const claudeContent = `# Claude Development Session Learnings
16552
-
16553
- ## Project Overview
16554
-
16555
- This project was initialized on ${variables.CURRENT_DATE} using juno-code.
16556
-
16557
- **Main Task**: ${variables.TASK}
16558
- **Preferred Subagent**: ${variables.EDITOR}
16559
- **Project Root**: ${targetDirectory}
16560
-
16561
- ## Development Environment
16562
-
16563
- ### Build System
16564
- - Use \`npm run build\` to build the project
16565
- - Test with \`npm test\` for unit tests
16566
- - Use \`npm run test:binary\` for CLI testing
16567
-
16568
- ### Key Commands
16569
- - \`juno-code start\` - Begin task execution
16570
- - \`juno-code -s ${variables.EDITOR}\` - Quick execution with preferred subagent
16571
- - \`juno-code feedback\` - Provide feedback on the process
16572
-
16573
- ## Project Structure
16574
-
16575
- \`\`\`
16576
- .
16577
- \u251C\u2500\u2500 .juno_task/
16578
- \u2502 \u251C\u2500\u2500 prompt.md # Main task definition with AI instructions
16579
- \u2502 \u251C\u2500\u2500 init.md # Initial task breakdown and constraints
16580
- \u2502 \u251C\u2500\u2500 plan.md # Dynamic planning and priority tracking
16581
- \u2502 \u251C\u2500\u2500 implement.md # Implementation guide and current tasks
16582
- \u2502 \u251C\u2500\u2500 USER_FEEDBACK.md # User feedback and issue tracking
16583
- \u2502 \u251C\u2500\u2500 scripts/ # Utility scripts for project maintenance
16584
- \u2502 \u2502 \u2514\u2500\u2500 clean_logs_folder.sh # Archive old log files
16585
- \u2502 \u2514\u2500\u2500 specs/ # Project specifications
16586
- \u2502 \u251C\u2500\u2500 README.md # Specs overview
16587
- \u2502 \u251C\u2500\u2500 requirements.md # Functional requirements
16588
- \u2502 \u2514\u2500\u2500 architecture.md # System architecture
16589
- \u251C\u2500\u2500 CLAUDE.md # This file - session documentation
16590
- \u2514\u2500\u2500 README.md # Project overview
16591
- \`\`\`
16592
-
16593
- ## AI Workflow
16594
-
16595
- The project uses a sophisticated AI workflow with:
16596
-
16597
- 1. **Task Analysis**: Study existing codebase and requirements
16598
- 2. **Specification Creation**: Detailed specs for each component
16599
- 3. **Implementation**: AI-assisted development with parallel subagents
16600
- 4. **Testing**: Automated testing and validation
16601
- 5. **Documentation**: Continuous documentation updates
16602
- 6. **Version Control**: Automated Git workflow management
16603
-
16604
- ## Important Notes
16605
-
16606
- - Always check USER_FEEDBACK.md first for user input
16607
- - Keep plan.md up to date with current priorities
16608
- - Use up to 500 parallel subagents for analysis
16609
- - Use only 1 subagent for build/test operations
16610
- - Focus on full implementations, not placeholders
16611
- - Maintain comprehensive documentation
16612
-
16613
- ## Session Progress
16614
-
16615
- This file will be updated as development progresses to track:
16616
- - Key decisions and their rationale
16617
- - Important learnings and discoveries
16618
- - Build/test optimization techniques
16619
- - Solutions to complex problems
16620
- - Performance improvements and optimizations
16621
- `;
16622
- await fs3.writeFile(path3.join(targetDirectory, "CLAUDE.md"), claudeContent);
16623
- const agentsContent = `# AI Agent Selection and Performance
16624
-
16625
- ## Available Agents
16626
-
16627
- ### ${variables.EDITOR.toUpperCase()} \u2705 SELECTED
16628
- **Status**: Primary agent for this project
16629
- **Usage**: Main development and task execution
16630
- **Strengths**: ${this.getAgentStrengths(variables.EDITOR)}
16631
- **Best For**: ${this.getAgentBestFor(variables.EDITOR)}
16632
-
16633
- ### CLAUDE \u2B55 Available
16634
- **Status**: Available as secondary agent
16635
- **Usage**: Complex reasoning, analysis, documentation
16636
- **Strengths**: Analytical thinking, detailed explanations
16637
- **Best For**: Code analysis, architectural decisions, documentation
16638
-
16639
- ### CURSOR \u2B55 Available
16640
- **Status**: Available as secondary agent
16641
- **Usage**: Code generation, debugging, optimization
16642
- **Strengths**: Code-centric development, debugging
16643
- **Best For**: Feature implementation, bug fixes, code optimization
16644
-
16645
- ### CODEX \u2B55 Available
16646
- **Status**: Available as secondary agent
16647
- **Usage**: General development, problem solving
16648
- **Strengths**: Versatile development capabilities
16649
- **Best For**: General purpose development tasks
16650
-
16651
- ### GEMINI \u2B55 Available
16652
- **Status**: Available as secondary agent
16653
- **Usage**: Creative solutions, alternative approaches
16654
- **Strengths**: Creative problem solving, diverse perspectives
16655
- **Best For**: Brainstorming, alternative implementations, creative solutions
16656
-
16657
- ## Agent Selection Strategy
16658
-
16659
- ### Primary Agent Selection
16660
- - **${variables.EDITOR}** chosen as primary agent for this project
16661
- - Based on task requirements and project needs
16662
- - Can be changed by updating project configuration
16663
-
16664
- ### Secondary Agent Usage
16665
- - Use parallel agents for analysis and research
16666
- - Specialized agents for specific task types
16667
- - Load balancing for complex operations
16668
-
16669
- ## Performance Tracking
16670
-
16671
- Track agent performance for:
16672
- - Task completion time
16673
- - Code quality
16674
- - Accuracy of implementation
16675
- - Documentation quality
16676
- - Problem-solving effectiveness
16677
-
16678
- ## Optimization Tips
16679
-
16680
- 1. **Right Agent for Right Task**: Choose agents based on their strengths
16681
- 2. **Parallel Processing**: Use multiple agents for analysis phases
16682
- 3. **Quality Validation**: Review and validate agent output
16683
- 4. **Feedback Loop**: Provide feedback to improve agent performance
16684
- 5. **Performance Monitoring**: Track and optimize agent usage
16685
- `;
16686
- await fs3.writeFile(path3.join(targetDirectory, "AGENTS.md"), agentsContent);
16556
+ const claudeTemplate = templateEngine.getBuiltInTemplate("CLAUDE.md");
16557
+ if (claudeTemplate) {
16558
+ const claudeContent = await templateEngine.render(claudeTemplate, templateContext);
16559
+ await fs3.writeFile(path3.join(targetDirectory, "CLAUDE.md"), claudeContent);
16560
+ }
16561
+ const agentsTemplate = templateEngine.getBuiltInTemplate("AGENTS.md");
16562
+ if (agentsTemplate) {
16563
+ const agentsContent = await templateEngine.render(agentsTemplate, templateContext);
16564
+ await fs3.writeFile(path3.join(targetDirectory, "AGENTS.md"), agentsContent);
16565
+ }
16687
16566
  const readmeContent = `# ${variables.PROJECT_NAME}
16688
16567
 
16689
16568
  ${variables.DESCRIPTION}
@@ -16789,24 +16668,6 @@ ${variables.EDITOR ? `using ${variables.EDITOR} as primary AI subagent` : ""}
16789
16668
  console.log(chalk15.green.bold("\n\u2705 Project initialization complete!"));
16790
16669
  this.printNextSteps(targetDirectory, variables.EDITOR);
16791
16670
  }
16792
- getAgentStrengths(agent) {
16793
- const strengths = {
16794
- claude: "Analytical thinking, detailed explanations, architectural decisions",
16795
- cursor: "Code-centric development, debugging, optimization",
16796
- codex: "Versatile development capabilities, general purpose tasks",
16797
- gemini: "Creative problem solving, diverse perspectives"
16798
- };
16799
- return strengths[agent] || "General AI assistance";
16800
- }
16801
- getAgentBestFor(agent) {
16802
- const bestFor = {
16803
- claude: "Code analysis, architectural decisions, documentation",
16804
- cursor: "Feature implementation, bug fixes, code optimization",
16805
- codex: "General purpose development tasks",
16806
- gemini: "Brainstorming, alternative implementations, creative solutions"
16807
- };
16808
- return bestFor[agent] || "General development tasks";
16809
- }
16810
16671
  async createConfigFile(junoTaskDir, targetDirectory) {
16811
16672
  const configContent = {
16812
16673
  // Core settings