Skip to content

Conversation

@stea9499
Copy link
Contributor

@stea9499 stea9499 commented Nov 2, 2024

Roo Packaging and Installation

Packaging

  1. Bump the version in package.json
  2. Build the VSIX file:
    npm run vsix
  3. The new VSIX file will be created in the bin/ directory
  4. Commit the new VSIX file to git and remove the old one:
    git rm bin/roo-cline-*.vsix
    git add bin/roo-cline-<new_version>.vsix
    git commit -m "chore: update VSIX to version <new_version>"

Installation

Install the plugin using the Cursor CLI:

cursor --install-extension bin/roo-cline-<latest_version>.vsix

Note: The VSIX file is checked into the git repository's bin/ directory for easy distribution.

After installation, Roo Cline will appear in your Cursor's installed extensions list. You can verify this by opening Cursor's Extensions panel (Cmd/Ctrl+Shift+X) and checking under the "Installed" section.


Important

Add packaging and installation instructions for VSIX file, update package.json, and include new VSIX file.

  • Packaging Instructions:
    • Added steps in README.md to bump version in package.json, build VSIX file using npm run vsix, and commit the new VSIX file.
  • Installation Instructions:
    • Added steps in README.md to install the VSIX file using Cursor CLI.
  • File Changes:
    • Added roo-cline-1.0.1.vsix to bin/ directory.
  • package.json Updates:
    • Changed name to roo-cline and displayName to Roo Cline.
    • Updated version to 1.0.1 and repository URL to https://github.com/RooVetGit/Roo-Cline.
    • Added vsix script for packaging.

This description was created by Ellipsis for 8a240d8. It will automatically update as commits are pushed.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Looks good to me! Reviewed everything up to 8a240d8 in 36 seconds

More details
  • Looked at 102 lines of code in 3 files
  • Skipped 2 files when reviewing.
  • Skipped posting 2 drafted comments based on config settings.
1. README.md:3
2. package.json:116

Workflow ID: wflow_vVTbLheQHEqsDNBB


You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

@stea9499 stea9499 merged commit 1b4b2fb into main Nov 2, 2024
@cte cte deleted the feature/vsixInstall branch February 1, 2025 06:16
@jtgsystems jtgsystems mentioned this pull request Apr 4, 2025
roomote pushed a commit that referenced this pull request Jul 8, 2025
hannesrudolph added a commit that referenced this pull request Jul 23, 2025
- Updated SimpleInstaller.removeMode to use CustomModesManager.deleteCustomMode
- Added confirmation dialog with rules deletion warning for mode removal
- Implemented marketplaceRemoveResult message for proper UI refresh
- Added comprehensive tests for rules directory cleanup
- Updated all locale files with new confirmation dialog strings

This ensures complete cleanup when removing marketplace modes, preventing
orphaned rules directories in .roo/rules-{slug}/ folders.
@RooCodeInc RooCodeInc deleted a comment from hannesrudolph Jul 29, 2025
layola13 added a commit to layola13/Roo-Code that referenced this pull request Oct 19, 2025
核心实现:
- 修复 MessageIndexManager 返回类型,返回完整 HistoricalMessage[]
- 修复 content 字段类型处理,支持字符串类型
- 增强 getStats() 方法,添加 totalConversations, totalTokens, nextGlobalIndex
- 添加完整的单元测试覆盖 (17个测试用例全部通过)

测试覆盖:
✅ MessageIndexManager 单元测试
  - 消息存储和索引分配
  - Token估算
  - 对话隔离
  - 索引检索
  - 统计信息
  - 重置和边界情况

验收测试通过:
✅ pnpm lint
✅ pnpm check-types
✅ pnpm build
✅ pnpm vsix

实现状态:
✅ 1. 逻辑已完整接入主程序 (ClineProvider → Task → attemptApiRequest)
✅ 2. 严格按照6步流程实现 (用户输入→裁判→专家→汇总→大模型)
✅ 3. UI已可视化 (消息索引号显示 RooCodeInc#1, RooCodeInc#2, RooCodeInc#3...)
✅ 4. 有单元测试验收 (MessageIndexManager.test.ts)

基于需求文档: docs/user-requirement-intelligent-context-system.md
实现计划: docs/intelligent-context-implementation-plan.md
RepairYourTech added a commit to RepairYourTech/Roo-Code-Knowledge that referenced this pull request Nov 19, 2025
Sub-task 3.3.4: Implement Import Metadata Extraction
- Added extractFileImports() method to extract all import statements from a file
- Imported extractImportInfo() from metadata-extractor (Phase 2)
- Imported ImportInfo type from types/metadata
- Returns array of ImportInfo to be included in all chunks

Implementation:
- Queries tree for import_statement nodes
- Uses extractImportInfo() from Phase 2 to parse each import
- Returns ImportInfo[] with source, symbols, isDefault, isDynamic, alias
- Gracefully handles extraction errors (import extraction is optional)

Benefits:
- All chunks will have import context as metadata
- Addresses Issue RooCodeInc#3 from CHUNKING_ANALYSIS.md (lost import context)
- Enables understanding of dependencies and types
- Complements Phase 2's metadata extraction

This will be integrated in Sub-task 3.3.5 to populate the imports field in CodeBlock:
- Extract imports once per file
- Include in all chunks from that file
- Provides type and dependency context

File modified: src/services/code-index/processors/parser.ts (+29 lines)

Sub-task 3.3.4 complete! Next: Sub-task 3.3.5 - Implement Smart Chunking Logic
RepairYourTech added a commit to RepairYourTech/Roo-Code-Knowledge that referenced this pull request Nov 19, 2025
Sub-task 3.3.5: Implement Smart Chunking Logic
- Modified parseContent() to use semantic boundary detection
- Implemented smart chunking rules for functions and classes
- Integrated comment inclusion and import metadata extraction
- Applied new size limits (SEMANTIC_MAX_CHARS, ABSOLUTE_MAX_CHARS)

Implementation:

1. Extract File-Level Imports:
   - Call extractFileImports() once per file
   - Include in all chunks from that file (Rule 4)

2. Semantic Boundary Detection:
   - Check if node is semantic unit (function/class)
   - Apply different size rules based on node type

3. Smart Chunking Rules:
   - Semantic units ≤3000 chars: Keep entire unit (Rule 1 & 2)
   - Semantic units ≤5000 chars: Still keep together
   - Semantic units >5000 chars: Fall back to children (TODO: splitAtLogicalBoundaries)
   - Non-semantic units: Apply standard size limits (1500 chars with tolerance)

4. Comment Inclusion (Rule 3):
   - Call includeComments() for every chunk
   - Adjusts start line to include preceding comments
   - Uses content with comments for chunk

5. Import Metadata (Rule 4):
   - Include fileImports in every CodeBlock
   - Provides type and dependency context

Key Changes:
- Functions up to 3000 chars stay intact (vs 1150 chars before)
- Classes up to 3000 chars stay together
- All chunks include preceding comments (JSDoc, etc.)
- All chunks have import metadata
- Semantic completeness prioritized over strict size limits

Benefits:
- Addresses Issue RooCodeInc#1: Large functions no longer split mid-way
- Addresses Issue RooCodeInc#2: Comments always included with code
- Addresses Issue RooCodeInc#3: Import context preserved in metadata
- Addresses Issue #5: Decorators stay with targets (tree-sitter includes them)

Limitations:
- Very large functions (>5000 chars) still fall back to children
- TODO: Implement splitAtLogicalBoundaries() for intelligent splitting
- TODO: Implement chunkClass() for large classes (>3000 chars)

File modified: src/services/code-index/processors/parser.ts (+73 lines, -27 lines)

Sub-task 3.3.5 complete! Task 3.3 complete! Next: Task 3.4 - Validate Chunking Improvements
RepairYourTech added a commit to RepairYourTech/Roo-Code-Knowledge that referenced this pull request Nov 19, 2025
Issue RooCodeInc#1 - Error Logging:
- Created GraphIndexErrorLogger instance in ServiceFactory
- Pass errorLogger to GraphIndexer constructor with context
- Updated GraphIndexer to use persistent error logging in all catch blocks
- Errors now logged with full context (file path, operation, stack trace, block info)
- Console.error still used for immediate visibility alongside persistent logging

Issue RooCodeInc#2 - Delete Index Not Clearing Neo4j:
- Added graphIndexer and neo4jService parameters to CodeIndexOrchestrator
- Updated orchestrator.clearIndexData() to call neo4jService.clearAll()
- Added comprehensive error handling and logging for Neo4j clearing
- Removed misleading comment about manager layer handling Neo4j clearing
- Manager now passes graphIndexer and neo4jService to orchestrator

Issue RooCodeInc#3 - Disable Indexing Not Disconnecting from Neo4j:
- Track neo4jService in CodeIndexManager for lifecycle management
- Close Neo4j connection when codebaseIndexEnabled is set to false
- Close Neo4j connection in handleSettingsChange() when feature is disabled
- Close Neo4j connection in dispose() method for proper cleanup
- Added comprehensive logging for all Neo4j connection close operations

All three critical issues fixed with comprehensive logging for debugging.
RepairYourTech added a commit to RepairYourTech/Roo-Code-Knowledge that referenced this pull request Nov 20, 2025
**Issue RooCodeInc#3: Neo4j Settings UI Location** ✅ FIXED
- Neo4j settings were displayed OUTSIDE the main settings dropdown/form
- This made them appear disconnected from the rest of the configuration
- Solution: Moved Neo4j section INSIDE the main settings form (before the closing tags)
- Added visual separator (border-top) to distinguish Neo4j as an optional section
- Removed extra wrapper div and adjusted indentation to match form structure
- Result: Neo4j settings now appear as part of the unified settings form

**Changes:**
- Moved Neo4j section from lines 1431-1516 (outside form) to inside the form at line 1427
- Added 'mt-4 pt-4 border-t border-vscode-panel-border' to create visual separation
- Removed 'ml-6' indentation from Neo4j fields (no longer needed inside the form)
- Neo4j settings now appear in the same dropdown as Qdrant, embedder, and other settings
- Settings are still only visible when 'Enable Codebase Index' toggle is enabled
roomote bot pushed a commit that referenced this pull request Nov 21, 2025
RepairYourTech added a commit to RepairYourTech/Roo-Code-Knowledge that referenced this pull request Dec 5, 2025
Sub-task 3.3.4: Implement Import Metadata Extraction
- Added extractFileImports() method to extract all import statements from a file
- Imported extractImportInfo() from metadata-extractor (Phase 2)
- Imported ImportInfo type from types/metadata
- Returns array of ImportInfo to be included in all chunks

Implementation:
- Queries tree for import_statement nodes
- Uses extractImportInfo() from Phase 2 to parse each import
- Returns ImportInfo[] with source, symbols, isDefault, isDynamic, alias
- Gracefully handles extraction errors (import extraction is optional)

Benefits:
- All chunks will have import context as metadata
- Addresses Issue RooCodeInc#3 from CHUNKING_ANALYSIS.md (lost import context)
- Enables understanding of dependencies and types
- Complements Phase 2's metadata extraction

This will be integrated in Sub-task 3.3.5 to populate the imports field in CodeBlock:
- Extract imports once per file
- Include in all chunks from that file
- Provides type and dependency context

File modified: src/services/code-index/processors/parser.ts (+29 lines)

Sub-task 3.3.4 complete! Next: Sub-task 3.3.5 - Implement Smart Chunking Logic
RepairYourTech added a commit to RepairYourTech/Roo-Code-Knowledge that referenced this pull request Dec 5, 2025
Sub-task 3.3.5: Implement Smart Chunking Logic
- Modified parseContent() to use semantic boundary detection
- Implemented smart chunking rules for functions and classes
- Integrated comment inclusion and import metadata extraction
- Applied new size limits (SEMANTIC_MAX_CHARS, ABSOLUTE_MAX_CHARS)

Implementation:

1. Extract File-Level Imports:
   - Call extractFileImports() once per file
   - Include in all chunks from that file (Rule 4)

2. Semantic Boundary Detection:
   - Check if node is semantic unit (function/class)
   - Apply different size rules based on node type

3. Smart Chunking Rules:
   - Semantic units ≤3000 chars: Keep entire unit (Rule 1 & 2)
   - Semantic units ≤5000 chars: Still keep together
   - Semantic units >5000 chars: Fall back to children (TODO: splitAtLogicalBoundaries)
   - Non-semantic units: Apply standard size limits (1500 chars with tolerance)

4. Comment Inclusion (Rule 3):
   - Call includeComments() for every chunk
   - Adjusts start line to include preceding comments
   - Uses content with comments for chunk

5. Import Metadata (Rule 4):
   - Include fileImports in every CodeBlock
   - Provides type and dependency context

Key Changes:
- Functions up to 3000 chars stay intact (vs 1150 chars before)
- Classes up to 3000 chars stay together
- All chunks include preceding comments (JSDoc, etc.)
- All chunks have import metadata
- Semantic completeness prioritized over strict size limits

Benefits:
- Addresses Issue RooCodeInc#1: Large functions no longer split mid-way
- Addresses Issue RooCodeInc#2: Comments always included with code
- Addresses Issue RooCodeInc#3: Import context preserved in metadata
- Addresses Issue #5: Decorators stay with targets (tree-sitter includes them)

Limitations:
- Very large functions (>5000 chars) still fall back to children
- TODO: Implement splitAtLogicalBoundaries() for intelligent splitting
- TODO: Implement chunkClass() for large classes (>3000 chars)

File modified: src/services/code-index/processors/parser.ts (+73 lines, -27 lines)

Sub-task 3.3.5 complete! Task 3.3 complete! Next: Task 3.4 - Validate Chunking Improvements
RepairYourTech added a commit to RepairYourTech/Roo-Code-Knowledge that referenced this pull request Dec 5, 2025
Issue RooCodeInc#1 - Error Logging:
- Created GraphIndexErrorLogger instance in ServiceFactory
- Pass errorLogger to GraphIndexer constructor with context
- Updated GraphIndexer to use persistent error logging in all catch blocks
- Errors now logged with full context (file path, operation, stack trace, block info)
- Console.error still used for immediate visibility alongside persistent logging

Issue RooCodeInc#2 - Delete Index Not Clearing Neo4j:
- Added graphIndexer and neo4jService parameters to CodeIndexOrchestrator
- Updated orchestrator.clearIndexData() to call neo4jService.clearAll()
- Added comprehensive error handling and logging for Neo4j clearing
- Removed misleading comment about manager layer handling Neo4j clearing
- Manager now passes graphIndexer and neo4jService to orchestrator

Issue RooCodeInc#3 - Disable Indexing Not Disconnecting from Neo4j:
- Track neo4jService in CodeIndexManager for lifecycle management
- Close Neo4j connection when codebaseIndexEnabled is set to false
- Close Neo4j connection in handleSettingsChange() when feature is disabled
- Close Neo4j connection in dispose() method for proper cleanup
- Added comprehensive logging for all Neo4j connection close operations

All three critical issues fixed with comprehensive logging for debugging.
RepairYourTech added a commit to RepairYourTech/Roo-Code-Knowledge that referenced this pull request Dec 5, 2025
**Issue RooCodeInc#3: Neo4j Settings UI Location** ✅ FIXED
- Neo4j settings were displayed OUTSIDE the main settings dropdown/form
- This made them appear disconnected from the rest of the configuration
- Solution: Moved Neo4j section INSIDE the main settings form (before the closing tags)
- Added visual separator (border-top) to distinguish Neo4j as an optional section
- Removed extra wrapper div and adjusted indentation to match form structure
- Result: Neo4j settings now appear as part of the unified settings form

**Changes:**
- Moved Neo4j section from lines 1431-1516 (outside form) to inside the form at line 1427
- Added 'mt-4 pt-4 border-t border-vscode-panel-border' to create visual separation
- Removed 'ml-6' indentation from Neo4j fields (no longer needed inside the form)
- Neo4j settings now appear in the same dropdown as Qdrant, embedder, and other settings
- Settings are still only visible when 'Enable Codebase Index' toggle is enabled
RepairYourTech added a commit to RepairYourTech/Roo-Code-Knowledge that referenced this pull request Dec 5, 2025
…light checks

- Add parser-availability-checker.ts for pre-flight validation with caching
- Add wasm-loader-with-retry.ts for exponential backoff retry logic
- Enhance get-wasm-directory.ts with retry and better error recovery
- Update languageParser.ts with retry logic and pre-flight checks
- Update parser.ts to integrate new utilities and improve error handling
- Enhance wasm-diagnostics.ts with recovery suggestions and health monitoring
- Add comprehensive test suites for WASM loading and availability checking
- Add validation script and GitHub Actions workflow for WASM testing
- Update package.json with new WASM validation and test scripts

This addresses WASM-related fallback triggers RooCodeInc#2, RooCodeInc#3, RooCodeInc#4, and #5 with a
defense-in-depth strategy including pre-flight checks, retry logic, and diagnostics.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants