Files
the-collective-hub/.roo/rules-mode-writer/5_complete_mode_examples.xml
T

92 lines
3.7 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<complete_examples>
<overview>
Canonical examples for creating and editing Roo Code modes. Each example demonstrates structured workflows, least-privilege configuration, contradiction resolution, and completion formatting, without referencing runtime implementation details.
</overview>
<example name="mode_editing_enhancement">
<scenario>
Edit the Test mode to add benchmark testing and performance guidance using Vitest's bench API.
</scenario>
<user_request>
I want to edit the test mode to add benchmark testing support.
</user_request>
<workflow>
<step number="1">
<description>Clarify scope and features</description>
<guidance>
Ask the user a focused clarifying question to confirm which scope/features to include; provide 24 actionable options. Outcome: selected scope.
</guidance>
<expected_outcome>User selects: Add benchmark testing with Vitest bench API</expected_outcome>
</step>
<step number="2">
<description>Immerse in current mode config and instructions</description>
<guidance>
Review .roomodes, inventory .roo/rules-test recursively, and review .roo/rules-test/1_workflow.xml. Outcome: confirm roleDefinition, file restrictions, and existing workflows.
</guidance>
<analysis>Confirm roleDefinition, file restrictions, and existing workflows.</analysis>
</step>
<step number="3">
<description>Update roleDefinition in .roomodes</description>
<guidance>
Edit .roomodes to update the roleDefinition, adding benchmark testing and performance guidance topics. Outcome: roleDefinition updated to include performance/bench themes.
</guidance>
</step>
<step number="4">
<description>Extend file restrictions to include .bench files</description>
<guidance>
Edit .roomodes to extend the fileRegex to include .bench.(ts|tsx|js|jsx) and update the description accordingly. Outcome: file restrictions now cover benchmark files.
</guidance>
</step>
<step number="5">
<description>Create benchmark guidance file</description>
<guidance>
Create a new file at .roo/rules-test/5_benchmark_testing.xml with guidance and examples. Outcome: new guidance file available to the mode.
</guidance>
<artifact_sample>
<benchmark_testing_guide>
<overview>Guidelines for performance benchmarks using Vitest bench API</overview>
<benchmark_patterns>
<pattern name="basic_benchmark">
<description>Basic structure</description>
<example>
import { bench, describe } from 'vitest';
describe('Array operations', () => {
bench('Array.push', () => {
const arr: number[] = [];
for (let i = 0; i < 1000; i++) arr.push(i);
});
bench('Array spread', () => {
let arr: number[] = [];
for (let i = 0; i < 1000; i++) arr = [...arr, i];
});
});
</example>
</pattern>
</benchmark_patterns>
<best_practices>
<practice>Use meaningful names and isolate benchmarks</practice>
<practice>Document expectations and thresholds</practice>
</best_practices>
</benchmark_testing_guide>
</artifact_sample>
</step>
</workflow>
<completion>
Provide a concise summary of what was accomplished and how it addresses the user's request.
</completion>
<key_takeaways>
<takeaway>Important lesson from this example</takeaway>
<takeaway>Pattern that can be reused</takeaway>
</key_takeaways>
</example>
</complete_examples>