Skip to content

Commit 532a8c8

Browse files
authored
Merge branch 'main' into christiaan/excel
2 parents c34072a + 62c3914 commit 532a8c8

File tree

557 files changed

+21319
-18911
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

557 files changed

+21319
-18911
lines changed

.github/actions/setup-node-pnpm/action.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,21 @@ runs:
2727
uses: pnpm/action-setup@v4
2828
with:
2929
version: ${{ inputs.pnpm-version }}
30+
- name: Get pnpm store directory
31+
shell: bash
32+
run: |
33+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
34+
- name: Setup pnpm cache
35+
uses: actions/cache@v4
36+
with:
37+
path: ${{ env.STORE_PATH }}
38+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
39+
restore-keys: |
40+
${{ runner.os }}-pnpm-store-
3041
- name: Setup Node.js
3142
uses: actions/setup-node@v4
3243
with:
3344
node-version: ${{ inputs.node-version }}
34-
cache: "pnpm"
3545
- name: Install dependencies
3646
if: ${{ inputs.skip-install != 'true' }}
3747
shell: bash

.roo/rules-issue-fixer/1_Workflow.xml

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -91,47 +91,6 @@
9191
</step>
9292

9393
<step number="3">
94-
<name>Create Implementation Plan</name>
95-
<instructions>
96-
Based on the issue analysis, create a detailed implementation plan:
97-
98-
For Bug Fixes:
99-
1. Reproduce the bug locally (if possible)
100-
2. Identify root cause
101-
3. Plan the fix approach. The plan should be focused on resolving the issue with a high-quality, targeted fix, while avoiding unrelated changes.
102-
4. Identify files to modify.
103-
5. Plan test cases to prevent regression.
104-
105-
For Feature Implementation:
106-
1. Break down the feature into components
107-
2. Identify all files that need changes
108-
3. Plan the implementation approach
109-
4. Consider edge cases and error handling
110-
5. Plan test coverage
111-
112-
Present the plan to the user:
113-
114-
<ask_followup_question>
115-
<question>I've analyzed issue #[number]: "[title]"
116-
117-
Here's my implementation plan to resolve the issue:
118-
119-
[Detailed plan with steps and affected files]
120-
121-
This plan focuses on providing a quality fix for the reported problem without introducing unrelated changes.
122-
123-
Would you like me to proceed with this implementation?</question>
124-
<follow_up>
125-
<suggest>Yes, proceed with the implementation</suggest>
126-
<suggest>Let me review the issue first</suggest>
127-
<suggest>Modify the approach for: [specific aspect]</suggest>
128-
<suggest>Focus only on: [specific part]</suggest>
129-
</follow_up>
130-
</ask_followup_question>
131-
</instructions>
132-
</step>
133-
134-
<step number="4">
13594
<name>Explore Codebase and Related Files</name>
13695
<instructions>
13796
Use codebase_search FIRST to understand the codebase structure and find ALL related files:
@@ -188,6 +147,47 @@
188147
</instructions>
189148
</step>
190149

150+
<step number="4">
151+
<name>Create Implementation Plan</name>
152+
<instructions>
153+
Based on the issue analysis, create a detailed implementation plan:
154+
155+
For Bug Fixes:
156+
1. Reproduce the bug locally (if possible)
157+
2. Identify root cause
158+
3. Plan the fix approach. The plan should be focused on resolving the issue with a high-quality, targeted fix, while avoiding unrelated changes.
159+
4. Identify files to modify.
160+
5. Plan test cases to prevent regression.
161+
162+
For Feature Implementation:
163+
1. Break down the feature into components
164+
2. Identify all files that need changes
165+
3. Plan the implementation approach
166+
4. Consider edge cases and error handling
167+
5. Plan test coverage
168+
169+
Present the plan to the user:
170+
171+
<ask_followup_question>
172+
<question>I've analyzed issue #[number]: "[title]"
173+
174+
Here's my implementation plan to resolve the issue:
175+
176+
[Detailed plan with steps and affected files]
177+
178+
This plan focuses on providing a quality fix for the reported problem without introducing unrelated changes.
179+
180+
Would you like me to proceed with this implementation?</question>
181+
<follow_up>
182+
<suggest>Yes, proceed with the implementation</suggest>
183+
<suggest>Let me review the issue first</suggest>
184+
<suggest>Modify the approach for: [specific aspect]</suggest>
185+
<suggest>Focus only on: [specific part]</suggest>
186+
</follow_up>
187+
</ask_followup_question>
188+
</instructions>
189+
</step>
190+
191191
<step number="5">
192192
<name>Implement the Solution</name>
193193
<instructions>
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
<mode_creation_workflow>
2+
<overview>
3+
This workflow guides you through creating a new custom mode to be used in the Roo Code Software,
4+
from initial requirements gathering to final implementation.
5+
</overview>
6+
7+
<detailed_steps>
8+
<step number="1">
9+
<title>Gather Requirements</title>
10+
<description>
11+
Understand what the user wants the mode to accomplish
12+
</description>
13+
<actions>
14+
<action>Ask about the mode's primary purpose and use cases</action>
15+
<action>Identify what types of tasks the mode should handle</action>
16+
<action>Determine what tools and file access the mode needs</action>
17+
<action>Clarify any special behaviors or restrictions</action>
18+
</actions>
19+
<example>
20+
<ask_followup_question>
21+
<question>What is the primary purpose of this new mode? What types of tasks should it handle?</question>
22+
<follow_up>
23+
<suggest>A mode for writing and maintaining documentation</suggest>
24+
<suggest>A mode for database schema design and migrations</suggest>
25+
<suggest>A mode for API endpoint development and testing</suggest>
26+
<suggest>A mode for performance optimization and profiling</suggest>
27+
</follow_up>
28+
</ask_followup_question>
29+
</example>
30+
</step>
31+
32+
<step number="2">
33+
<title>Design Mode Configuration</title>
34+
<description>
35+
Create the mode definition with all required fields
36+
</description>
37+
<required_fields>
38+
<field name="slug">
39+
<description>Unique identifier (lowercase, hyphens allowed)</description>
40+
<best_practice>Keep it short and descriptive (e.g., "api-dev", "docs-writer")</best_practice>
41+
</field>
42+
<field name="name">
43+
<description>Display name with optional emoji</description>
44+
<best_practice>Use an emoji that represents the mode's purpose</best_practice>
45+
</field>
46+
<field name="roleDefinition">
47+
<description>Detailed description of the mode's role and expertise</description>
48+
<best_practice>
49+
Start with "You are Roo Code, a [specialist type]..."
50+
List specific areas of expertise
51+
Mention key technologies or methodologies
52+
</best_practice>
53+
</field>
54+
<field name="groups">
55+
<description>Tool groups the mode can access</description>
56+
<options>
57+
<option name="read">File reading and searching tools</option>
58+
<option name="edit">File editing tools (can be restricted by regex)</option>
59+
<option name="command">Command execution tools</option>
60+
<option name="browser">Browser interaction tools</option>
61+
<option name="mcp">MCP server tools</option>
62+
</options>
63+
</field>
64+
</required_fields>
65+
<recommended_fields>
66+
<field name="whenToUse">
67+
<description>Clear description for the Orchestrator</description>
68+
<best_practice>Explain specific scenarios and task types</best_practice>
69+
</field>
70+
</recommended_fields>
71+
<important_note>
72+
Do not include customInstructions in the .roomodes configuration.
73+
All detailed instructions should be placed in XML files within
74+
the .roo/rules-[mode-slug]/ directory instead.
75+
</important_note>
76+
</step>
77+
78+
<step number="3">
79+
<title>Implement File Restrictions</title>
80+
<description>
81+
Configure appropriate file access permissions
82+
</description>
83+
<example>
84+
<comment>Restrict edit access to specific file types</comment>
85+
<code>
86+
groups:
87+
- read
88+
- - edit
89+
- fileRegex: \.(md|txt|rst)$
90+
description: Documentation files only
91+
- command
92+
</code>
93+
</example>
94+
<guidelines>
95+
<guideline>Use regex patterns to limit file editing scope</guideline>
96+
<guideline>Provide clear descriptions for restrictions</guideline>
97+
<guideline>Consider the principle of least privilege</guideline>
98+
</guidelines>
99+
</step>
100+
101+
<step number="4">
102+
<title>Create XML Instruction Files</title>
103+
<description>
104+
Design structured instruction files in .roo/rules-[mode-slug]/
105+
</description>
106+
<file_structure>
107+
<file name="1_workflow.xml">Main workflow and step-by-step processes</file>
108+
<file name="2_best_practices.xml">Guidelines and conventions</file>
109+
<file name="3_common_patterns.xml">Reusable code patterns and examples</file>
110+
<file name="4_tool_usage.xml">Specific tool usage instructions</file>
111+
<file name="5_examples.xml">Complete workflow examples</file>
112+
</file_structure>
113+
<xml_best_practices>
114+
<practice>Use semantic tag names that describe content</practice>
115+
<practice>Nest tags hierarchically for better organization</practice>
116+
<practice>Include code examples in CDATA sections when needed</practice>
117+
<practice>Add comments to explain complex sections</practice>
118+
</xml_best_practices>
119+
</step>
120+
121+
<step number="5">
122+
<title>Test and Refine</title>
123+
<description>
124+
Verify the mode works as intended
125+
</description>
126+
<checklist>
127+
<item>Mode appears in the mode list</item>
128+
<item>File restrictions work correctly</item>
129+
<item>Instructions are clear and actionable</item>
130+
<item>Mode integrates well with Orchestrator</item>
131+
<item>All examples are accurate and helpful</item>
132+
</checklist>
133+
</step>
134+
</detailed_steps>
135+
136+
<quick_reference>
137+
<command>Create mode in .roomodes for project-specific modes</command>
138+
<command>Create mode in global custom_modes.yaml for system-wide modes</command>
139+
<command>Use list_files to verify .roo folder structure</command>
140+
<command>Test file regex patterns with search_files</command>
141+
</quick_reference>
142+
</mode_creation_workflow>

0 commit comments

Comments
 (0)