UNPKG

roocommander

Version:

Bridge Claude Code skills to Roo Code with intelligent orchestration. CLI tool + Custom Mode + 60+ production-tested skills for Cloudflare, AI, Frontend development.

590 lines (435 loc) 20.2 kB
# Changelog All notable changes to Roo Commander will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- ## [9.2.0] - 2025-11-13 ### ✨ Features **Workflow Orchestration Awareness (MAJOR FEATURE)** Roo Commander now understands project lifecycle stages and proactively guides users through workflow best practices. **What's New:** - **Workflow Intelligence**: Recognizes 7 lifecycle stages (Exploration → Planning → Execution → Wrap → Resume → Feature → Release) - **Proactive Suggestions**: Automatically suggests workflow commands at appropriate times - **Context Monitoring**: Warns when context is filling up (70%, 85%) and suggests `/wrap-session` - **New `/workflow` Command**: Interactive guide showing current project state and available commands **New Rule File:** - `src/templates/rules-roo-commander/03-workflow-orchestration.md` (~450 lines) - Recognition patterns for each lifecycle stage - Proactive suggestion templates - Context monitoring rules - Decision trees for workflow vs skill delegation **Updated Files:** - `src/templates/rules-roo-commander/02-skill-routing.md` - Added "Workflow Commands vs Skills" distinction - All 6 workflow commands now have `workflow-stage` metadata **New Command:** - `src/templates/commands/workflow.md` - Interactive lifecycle guide with context-aware recommendations **How It Works:** Before delegating technical work, Roo Commander now checks: 1. **Is this lifecycle-related?** → Suggest workflow command first 2. **Is implementation needed?** → Search skills → Delegate to Code mode **Example Behaviors:** | User Says | Roo Commander Suggests | |-----------|------------------------| | "I want to build a chat app" | `/explore-idea` to validate first or `/plan-project` to structure | | "Add authentication" (existing project) | `/plan-feature` to integrate properly | | [Context reaches 70%] | "⚠️ Use `/wrap-session` to checkpoint progress" | | "Continue from yesterday" | `/continue-session` to load SESSION.md context | | "Ready to publish" | `/release` for safety checks | **Time Savings**: Workflow automation saves 35-55 minutes per project lifecycle by preventing: - Unvalidated ideas leading to wasted implementation - Context overflow losing work - Missing project structure causing rework - Release disasters (leaked secrets, broken builds) **Migration**: No breaking changes. Existing functionality unchanged. New workflow awareness enhances orchestration. --- ## [9.1.0] - 2025-11-13 ### ✨ Features **Global Installation Support (MAJOR FEATURE)** - **New Default**: `roocommander init` now installs globally by default - mode appears in ALL projects - **Project Mode**: Use `--project` flag for project-scoped installation (old behavior) - **Crown Emoji**: Changed from 🎯 to 👑 for Roo Commander mode **Installation Modes**: ```bash # Global (default) - Install once, use everywhere roocommander init → Writes to ~/.config/Code/.../custom_modes.yaml → Copies rules to ~/.roo/rules-roo-commander/ → Mode appears in ALL Roo Code projects # Project-scoped - Install per project roocommander init --project → Writes to ./.roomodes in current directory → Copies rules to ./.roo/ → Mode appears only in this project ``` **Why Global?** - Install once, available everywhere - No need to run `init` in every project - Cleaner project directories (no `.roomodes` file unless needed) - Can still override per-project with `--project` flag **Changes**: - `src/commands/init.ts`: Complete rewrite to support both global and project modes - `src/installer/global-installer.ts`: New module with cross-platform global installation - `src/cli.ts`: Added `--project` flag to init command - `src/templates/.roomodes-entry.yaml`: Changed emoji from 🎯 to 👑 **Migration**: ```bash # Upgrade CLI npm install -g roocommander@latest # Install globally (recommended) roocommander init # Reload VS Code # Cmd/Ctrl+Shift+P → Developer: Reload Window # Mode now appears in all projects! ``` **Breaking Changes**: None - `--project` flag preserves old behavior --- ## [9.0.4] - 2025-11-11 ### 🐛 Fixed **CRITICAL: Mode Still Not Appearing (Final Fix)** - **Issue**: Two remaining schema violations preventing mode from appearing in Roo Code extension - **Impact**: Mode would not load even after v9.0.3 emoji fix - **Root Causes**: 1. **Missing `whenToUse` field** - Required for Orchestrator mode to know when to suggest the mode 2. **Invalid `customInstructions` format** - Was array of file paths, should be inline string or omitted entirely **What Was Wrong**: ```yaml # ❌ INVALID (v9.0.0-9.0.3) customModes: - slug: roo-commander name: 🎯 Roo Commander # Missing: whenToUse field customInstructions: # ❌ File paths not supported - .roo/rules/01-skills-index.md - .roo/rules/02-cli-usage.md # ✅ VALID (v9.0.4) customModes: - slug: roo-commander name: 🎯 Roo Commander whenToUse: Use this mode when starting new features... # ✅ Added # customInstructions removed - using .roo/rules-roo-commander/ files instead ``` **Why This Matters**: - `whenToUse` tells Roo Code's Orchestrator mode when to suggest this mode - `customInstructions` expects inline content, NOT file paths - File-based instructions work via `.roo/rules-roo-commander/` directory (loaded automatically) **Changes**: - `src/templates/.roomodes-entry.yaml`: Added `whenToUse` field, removed invalid `customInstructions` array - All mode-specific instructions remain in `.roo/rules-roo-commander/` (correct approach) **Migration**: All users MUST upgrade and reinstall: ```bash npm install -g roocommander@latest cd your-project roocommander init --force # Reload VS Code: Cmd/Ctrl+Shift+P → Developer: Reload Window ``` **Verification**: Mode should now appear in `/mode` selector after VS Code reload. --- ## [9.0.3] - 2025-11-10 ### 🐛 Fixed **CRITICAL: Mode Not Appearing in Roo Code Extension** - **Issue**: `.roomodes` template had invalid `emoji` field causing Roo Code to reject the mode - **Impact**: Mode would not appear in mode selector even after correct installation and VS Code reload - **Root Cause**: Template used non-existent `emoji:` property instead of including emoji in `name` field - **Fix**: Removed `emoji: 🎯` line and changed `name: Roo Commander` to `name: 🎯 Roo Commander` **What Was Wrong**: ```yaml # ❌ INVALID (v9.0.0-9.0.2) - slug: roo-commander name: Roo Commander emoji: 🎯 # <-- Not a valid Roo Code property! # ✅ VALID (v9.0.3) - slug: roo-commander name: 🎯 Roo Commander # Emoji in name field ``` **Why This Matters**: - Roo Code extension parses `.roomodes` and rejects modes with invalid properties - Invalid `emoji` field caused silent failure - no error message, mode just didn't load - This affected ALL users in v9.0.0, v9.0.1, and v9.0.2 **Changes**: - `src/templates/.roomodes-entry.yaml`: Removed `emoji:` field (line 15), added emoji to `name` field (line 14) **Migration**: All users MUST upgrade and reinstall: ```bash npm install -g roocommander@latest cd your-project roocommander init --force # Reload VS Code: Cmd/Ctrl+Shift+P → Developer: Reload Window ``` **Manual Fix** (for users who can't wait for upgrade): 1. Edit `.roomodes` in your project root 2. Find: `name: Roo Commander` and `emoji: 🎯` 3. Change to: `name: 🎯 Roo Commander` (remove the emoji line) 4. Save and reload VS Code --- ## [9.0.2] - 2025-11-10 ### 🐛 Fixed **Critical Fix**: Invalid `groups` value in .roomodes template - **Issue**: Template used `groups: [workflow]` which is NOT a valid Roo Code tool group - **Impact**: Mode may not load correctly in Roo Code extension or fail silently - **Root Cause**: Used non-existent "workflow" group instead of official values - **Fix**: Changed to `groups: [read, mcp]` (allows reading skills index and MCP access) - **Valid Groups**: `read`, `edit`, `browser`, `command`, `mcp` (per official Roo Code docs) **Documentation Improvements**: - Fixed CLI command name in 3 locations (changed hyphenated `roo-commander` to `roocommander`) - `src/installer/github-cloner.ts:110` - Help text - `src/cli.ts:104` - Error message - `src/commands/init.ts:40` - Reinstall message - Added prominent VS Code reload warning to init output (yellow warning + first step) - Updated README version footer to 9.0.2 **Changes**: - `src/templates/.roomodes-entry.yaml`: Changed `groups: [workflow]``groups: [read, mcp]` - `src/commands/init.ts`: Added reload VS Code warning in output - `src/installer/github-cloner.ts`: Fixed command name - `src/cli.ts`: Fixed command name - `README.md`: Updated version footer **Why This Matters**: - Invalid groups value could cause mode to be rejected by Roo Code extension - Users won't see mode if they don't reload VS Code (root cause of v9.0.0/9.0.1 confusion) - Wrong CLI command names cause copy/paste errors **Migration**: Users should upgrade immediately: ```bash npm install -g roocommander@latest roocommander init --force # Reload VS Code ``` --- ## [9.0.1] - 2025-11-10 ### 🐛 Fixed **Critical Bug**: Roo Commander mode not appearing in VS Code Roo Code extension - **Issue**: `.roomodes` file created by `roocommander init` had invalid YAML structure (bare array instead of `customModes: [array]`) - **Impact**: Roo Code extension couldn't parse `.roomodes`, so custom mode never loaded in mode selector - **Root Cause**: Template file (`src/templates/.roomodes-entry.yaml`) was missing `customModes:` wrapper key - **Fix**: - Updated template to use proper `customModes: [array]` structure (line 12) - Updated installer parsing logic to handle `customModes` wrapper (line 210-217) - Updated merging logic to preserve `customModes` structure (line 223-266) - Added validation to ensure `customModes` key exists and is an array **Changes**: - `src/templates/.roomodes-entry.yaml`: Added `customModes:` wrapper, indented mode definition - `src/installer/template-installer.ts`: Fixed parsing/merging to handle wrapped structure - `README.md`: Added note about reloading VS Code after `roocommander init` **Migration**: Users who ran `roocommander init` with v9.0.0 should: 1. Upgrade: `npm install -g roocommander@latest` 2. Reinstall: `roocommander init --force` (overwrites broken `.roomodes`) 3. Reload VS Code: Command Palette → "Developer: Reload Window" --- ## [9.0.0] - 2025-11-09 **Complete rebuild** for Roo Code VS Code extension integration. ### ⚠️ Breaking Changes **Version 9.0.0 is a complete rewrite** and is **NOT compatible** with v0.1.x or v8.1 or earlier. - **Package name change**: Previously published as `roocommander` v0.1.x (incomplete prototype), now republished with complete rebuild - **New Target**: Built for Roo Code VS Code extension (not Claude Code CLI) - **Architecture Change**: Three-component system (CLI + Custom Instructions + Mode) - **No Backward Compatibility**: Skills, commands, and structure completely redesigned from v0.1.x **Migration from v0.1.x**: Not supported. v0.1.x was an incomplete prototype. v9.0.0 is a production-ready complete rebuild for a different platform (Roo Code). **Migration from v8.1**: Not supported. This is a new product for a different platform. --- ### ✨ Added #### CLI Tool (`@jezweb/roo-commander`) **Commands**: - `list` - Display all available skills (compact or verbose) - `read <skill-name>` - Output skill content with fuzzy matching - `search <keyword>` - Search skills by keyword with relevance scoring - `generate-index` - Create categorized skills index markdown - `sync-index` - Alias for generate-index - `init` - Initialize Roo Commander in project (complete setup) **Features**: - Fuzzy skill name matching ("cloudflare d1" → "Cloudflare D1 Database") - Keyword-based search with scoring (name > keyword > description) - Categorized index generation (7 categories: AI, Cloudflare, Frontend, Auth, Forms, Data, CMS, Planning, Other) - GitHub skills repository cloning (`git clone --depth 1` for speed) - Template installation (.roo/ directory structure) - .roomodes file merging (preserves existing modes) - Idempotent operations (safe to run multiple times) - Progress spinners for long operations (ora) - Colored output (chalk) #### Custom Instructions **Files Created by `roo-commander init`**: - `.roo/rules/01-skills-index.md` - Categorized skills index (auto-generated) - `.roo/rules/02-cli-usage.md` - CLI command reference (341 lines) - `.roo/rules/03-skill-patterns.md` - When and how to use skills (408 lines) **Content**: - Complete CLI usage guide for AI agents - Skill discovery workflow (when to check, how to load) - Decision trees (skills vs manual implementation) - Anti-patterns to avoid #### Slash Commands (9 Total) **Session Management**: - `/wrap-session` - Update SESSION.md and create git checkpoint (272 lines) - `/continue-session` - Resume from SESSION.md after context clear (312 lines) - `/list-skills` - Show available skills via CLI (200 lines) - `/load-skill <name>` - Load specific skill into context (286 lines) **Planning**: - `/explore-idea` - Research and validate project idea (361 lines) - `/plan-project` - Create IMPLEMENTATION_PHASES.md (497 lines) - `/plan-feature` - Plan feature addition to existing project (470 lines) **Release**: - `/github-release <version>` - Create GitHub release (437 lines) - `/release <version>` - Complete release checklist (527 lines) **Features**: - YAML frontmatter (description + argument-hint) - Step-by-step instructions for AI agents - Manual workflows (no automation, user approval required) - Comprehensive error handling - Markdown formatting with code blocks #### Roo Commander Mode **Mode Configuration** (`.roomodes` entry): - Slug: `roo-commander` - Tool groups: `workflow` only (no read/edit/command access) - Forces delegation pattern (orchestrator, not executor) **Custom Instructions** (`.roo/rules-roo-commander/`): - `00-core-identity.md` - Role definition and responsibilities (343 lines) - `01-orchestration.md` - Delegation patterns and message templates (598 lines) - `02-skill-routing.md` - Keyword-based skill discovery (504 lines) **Features**: - Automatic skill discovery before implementation - Keyword matching (40+ technologies mapped to skills) - Delegation to Code/Architect/Debug modes with complete context - Multi-skill coordination patterns (D1+Drizzle, Auth+DB, Chat+AI+DB) - Decision trees for new projects, features, and debugging #### Skill Parser **Features**: - YAML frontmatter parsing (name, description, keywords, technologies, category) - Template file discovery - Graceful error handling (skips malformed skills, logs warnings) - Broken symlink handling - Support for 60+ skills **Validation**: - Required fields check (name, description, keywords) - Type validation (strings, arrays) - Template file existence verification #### Index Generator **Features**: - Skill categorization by domain (AI, Cloudflare, Frontend, etc.) - Keyword matching for auto-categorization - Markdown generation with emoji icons - Usage instructions included in index - Category summary statistics **Categories** (7 total): - 🤖 AI & LLM Integration (29 skills) - ☁️ Cloudflare Platform (15 skills) - ⚛️ Frontend Stack (11 skills) - 🔐 Authentication (3 skills) - 📝 Forms & Validation (2 skills) - 📊 Data & Scraping (3 skills) - 📄 Content Management (3 skills) - 📋 Project Planning (1 skill) #### Template Installer **Features**: - Directory structure creation (.roo/rules, .roo/rules-roo-commander, .roo/commands) - Recursive file copying - .roomodes file merging (YAML parse/modify/write) - Idempotent operation (checks if already installed) - Force reinstall option **Files Installed** (15 total): - 2 custom instruction files (.roo/rules/) - 3 mode rule files (.roo/rules-roo-commander/) - 9 slash command files (.roo/commands/) - 1 .roomodes entry (merged) #### GitHub Cloner **Features**: - Skills repository cloning from GitHub - `--depth 1` for fast clone (only latest commit) - Skills directory validation (checks for SKILL.md files) - User permission prompt before cloning - Error handling (missing git, network issues, permissions) --- ### 🔧 Changed **Everything**. Version 9.0.0 is a complete rewrite for Roo Code integration. **Architecture**: - **Old (v8.1)**: Single CLI tool for Claude Code - **New (v9.0)**: Three-component system (CLI + Custom Instructions + Mode) for Roo Code **Target Platform**: - **Old**: Claude Code CLI (desktop application) - **New**: Roo Code VS Code Extension (web-based IDE) **Skills Source**: - **Old**: Bundled with CLI - **New**: Cloned from GitHub (jezweb/claude-skills) or custom directory **Command Structure**: - **Old**: Monolithic command handlers - **New**: Modular commands with shared utilities --- ### 📚 Documentation **Added**: - `README.md` - Complete project overview (450+ lines) - `CHANGELOG.md` - This file - `docs/ARCHITECTURE.md` - System design (planned) - `docs/CLI_REFERENCE.md` - Complete CLI documentation (planned) - `docs/MARKETPLACE.md` - Packaging and submission guide (planned) **Updated**: - `docs/IMPLEMENTATION_PHASES.md` - 12 phases for v9.0 development - `docs/PROJECT_BRIEF.md` - Complete project specification - `SESSION.md` - Session tracking for phased development --- ### 🐛 Fixed Not applicable (new project, no bugs from previous version). --- ### 🗑️ Removed **From v8.1**: - Claude Code-specific features (TodoWrite, Explore subagent) - Bundled skills (now cloned from GitHub) - Automation features (all workflows manual with user approval) - Old command structure --- ### 🔒 Security - Skills cloned from GitHub (not bundled, always latest) - No secrets embedded in code - User approval required for all file operations - Idempotent operations (safe to run multiple times) --- ### 📦 Dependencies **Production**: - `commander` (^13.0.0) - CLI framework - `chalk` (^5.3.0) - Terminal colors - `ora` (^8.1.1) - Progress spinners - `gray-matter` (^4.0.3) - YAML frontmatter parsing - `fs-extra` (^11.2.0) - File operations - `yaml` (^2.6.1) - YAML parsing for .roomodes **Development**: - `typescript` (^5.7.2) - `@types/node` (^22.10.2) - `@types/fs-extra` (^11.0.4) --- ## [8.1.0] - 2024-XX-XX (Legacy) Last version for Claude Code CLI. No longer maintained. See git history for v8.1 features. --- ## Version History - **9.0.0** (2025-11-09) - Complete rebuild for Roo Code integration - **0.1.17** (2025-05-05) - Last prototype version (deprecated, incomplete) - **8.1.0** (2024-XX-XX) - Last Claude Code version (deprecated) --- ## Migration Guides ### From v0.1.x to v9.0 **Not supported**. v0.1.x was an incomplete prototype. v9.0.0 is a production-ready complete rebuild. **Recommendation**: Upgrade to v9.0.0: 1. Uninstall old version: `npm uninstall -g roocommander` 2. Install new version: `npm install -g roocommander` 3. Run: `roocommander init` in your project 4. Install Roo Commander mode from marketplace (or use manual init) ### From v8.1 to v9.0 **Not supported**. Version 9.0.0 is a complete rewrite for a different platform (Roo Code instead of Claude Code). **Recommendation**: Start fresh with v9.0.0: 1. Uninstall v8.1: `npm uninstall -g roo-commander` 2. Install v9.0: `npm install -g roocommander` 3. Run: `roocommander init` in your project 4. Install Roo Commander mode from marketplace --- ## Upcoming ### [9.1.0] - Planned **Enhancements**: - Interactive prompts (readline) for init command - Skills update checker (compare local vs GitHub) - Custom skills directory management - Skill templates (create your own skills) **Documentation**: - Video tutorials - Skill authoring guide - Contributing guidelines **Marketplace**: - First marketplace release - Community feedback iteration --- ## Links - **GitHub**: https://github.com/jezweb/roo-commander - **npm**: https://www.npmjs.com/package/roocommander - **Skills Repo**: https://github.com/jezweb/claude-skills