Skip to content

Add speckit commands#11195

Open
emadezzai wants to merge 27 commits intoRooCodeInc:mainfrom
emadezzai:add-speckit-commands
Open

Add speckit commands#11195
emadezzai wants to merge 27 commits intoRooCodeInc:mainfrom
emadezzai:add-speckit-commands

Conversation

@emadezzai
Copy link

Related GitHub Issue

Closes: #

Roo Code Task Context (Optional)

Description

Test Procedure

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
  • Scope: My changes are focused on the linked issue (one major feature/fix per PR).
  • Self-Review: I have performed a thorough self-review of my code.
  • Testing: New and/or updated tests have been added to cover my changes (if applicable).
  • Documentation Impact: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
  • Contribution Guidelines: I have read and agree to the Contributor Guidelines.

Screenshots / Videos

Documentation Updates

Additional Notes

Get in Touch

omdaezz5050 and others added 26 commits January 31, 2026 21:33
- Add tree-sitter-xml parser for XML file parsing
- Add XML extension support to tree-sitter extensions array
- Add XML queries for Odoo view definitions (form, tree, kanban, etc.)
- Add QWeb template support
- Add Odoo-specific XML element parsing
- All tests pass (338 tests)
- Add Hybrid Search combining semantic and keyword search
- Implement Adaptive Chunking for multiple languages
- Enhance Tree-sitter queries for Generics, Decorators, Type Aliases
- Add Context Compression with 3 strategies
- Add comprehensive tests (5,465 tests passing)
- Fix TypeScript errors and build issues

BREAKING CHANGE: New feature flags for optional features
- Hybrid Search (semantic + keyword search) enabled
- Adaptive Chunking (intelligent code segmentation) enabled
- Enhanced Tree-sitter Queries enabled
- Context Compression enabled with balanced strategy

All features are now enabled by default for better code awareness and context understanding.
- Phase 1: Multi-Level Cache (L1 + L2) with TTL
- Phase 2: Search & Embedding Cache
- Phase 3: Context Memory Enhancement (Usage Tracking, Hot Files)
- Phase 4: Smart Incremental Indexing with Priority Processing
- Phase 5: Integration & Build Validation
- Add comprehensive tests for all features
- Create build validation script

Total: ~1,700 lines added, 79 new tests
- Add ParallelToolExecutor for executing multiple tools concurrently
- Add ToolDependencyGraphBuilder and ToolDependencyResolver for dependency management
- Update experiments.ts to include parallel execution configuration
- Update assistant message handling for parallel execution
- Update ClineProvider to support parallel tool execution
- Add comprehensive tests for dependency graph and parallel executor
- Update settings localization files
- Add Knowledge Graph module with GraphStore and GraphBuilder
- Enable graph context in search service for enhanced results
- Add cycle detection and impact analysis for change management
- Implement fail-safe architecture (graph failures don't affect indexing)
- Add Odoo ERP specific analyzers (Python, XML, views, models)
- Fix ReDoS vulnerability in TypeScriptAnalyzer regex patterns
- Fix getLineNumber bounds checking
- Fix atomic write temp file cleanup
- Fix cachedHash validation check

Enterprise-grade features:
- Persistent graph storage with atomic writes
- Transitive dependency queries
- Dependency cycle detection with severity levels
- File impact analysis for change management
- Comprehensive metrics and tracing
…ment

- Add periodic graph save every 5 minutes
- Add graph save on extension shutdown
- Add populateGraphFromCache for initial graph population
- Fix ReDoS vulnerability with regex limits
- Fix getLineNumber bounds checking
- Fix atomic write temp file cleanup
- Fix cachedHash validation check

Enterprise-grade features:
- Reliable graph persistence with periodic saves
- Graceful shutdown with graph save
- Graph population from cached files after initial scan
feat: Add Context, Memory, and Indexing improvements

- Phase 1: Multi-Level Cache (L1 + L2) with TTL
- Phase 2: Search & Embedding Cache
- Phase 3: Context Memory Enhancement (Usage Tracking, Hot Files)
- Phase 4: Smart Incremental Indexing with Priority Processing

Total: ~4,200 lines added, 80 new tests
- Created ContextDashboard component that displays files and folders from context
- Added collapsible header with stats badge
- Shows opened tabs and workspace files
- Integrated into ChatView above ChatTextArea
- Added English translations
- Added unit tests (9 tests passing)
- Add comprehensive bmad agent workflow commands (bmm, bmb, bmad, tea)
- Update ContextDashboard with new features
- Enhance chat components (ChatView, ChatTextArea)
- Update vscode-extension-host types
- Add i18n translations for chat
- Add PROJECT_UNDERSTANDING.md with complete project overview
- Include system architecture, components, and workflows
- Document Checkpoints system (new feature)
- Explain Modes, API Providers, and MCP integration
- Add coding standards and development guidelines
- 387 lines of detailed documentation in Arabic
- Add Context Engine service with:
  - context-builder: Build and manage conversation context
  - intent-detector: Detect user intent from messages
  - behavioral-analyzer: Analyze conversation behavior patterns
  - relevance-ranker: Rank and prioritize context relevance
  - context-compressor-v2: Compress context for token optimization

- Add Memory services with:
  - conversation-memory: Store and retrieve conversation history
  - project-memory: Track project-specific information
  - pattern-memory: Store and recognize code patterns
  - memory-manager: Unified memory management
  - sqlite-adapter: SQLite storage backend

- Add Semantic Analysis:
  - semantic-analyzer: Analyze code semantics
  - symbol-cache: Cache symbol information
  - symbol-resolver: Resolve code symbols and references
  - architecture-detector: Detect code architecture patterns

- Add Pattern Tracker for code-index graph

- Update system prompts and extension configurations
Remove all bmad method related files and folders
- Add Speckit commands for analyze, plan, specify, implement, tasks, taskstoissues, checklist, and constitution
- Add Speckit workflows for Windsurf
- Add .specify directory with scripts and templates for agent workflows
@dosubot dosubot bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Feb 4, 2026
@ellipsis-dev
Copy link
Contributor

ellipsis-dev bot commented Feb 4, 2026

⚠️ This PR is too big for Ellipsis, but support for larger PRs is coming soon. If you want us to prioritize this feature, let us know at [email protected]


Generated with ❤️ by ellipsis.dev

@roomote
Copy link
Contributor

roomote bot commented Feb 4, 2026

Rooviewer Clock   See task on Roo Cloud

Reviewed merge from main. No new issues found. 1 previously flagged issue remains unresolved:

Previous reviews

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

Comment on lines +300 to +308
async run<T>(sql: string, params: any[] = []): Promise<{ changes: number }> {
if (!this.db) throw new Error("Database not initialized")
const changes = this.db.getRowsModified()
this.db.run(sql, params)
if (!this.isMemory) {
await this.save() // Auto-save for persistence
}
return { changes }
}
Copy link
Contributor

Choose a reason for hiding this comment

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

The changes count is retrieved via getRowsModified() BEFORE the SQL statement is executed. This means the returned value reflects rows modified by a previous operation, not the current one. The call to getRowsModified() should be moved after this.db.run(sql, params).

Suggested change
async run<T>(sql: string, params: any[] = []): Promise<{ changes: number }> {
if (!this.db) throw new Error("Database not initialized")
const changes = this.db.getRowsModified()
this.db.run(sql, params)
if (!this.isMemory) {
await this.save() // Auto-save for persistence
}
return { changes }
}
async run<T>(sql: string, params: any[] = []): Promise<{ changes: number }> {
if (!this.db) throw new Error("Database not initialized")
this.db.run(sql, params)
const changes = this.db.getRowsModified()
if (!this.isMemory) {
await this.save() // Auto-save for persistence
}
return { changes }
}

Fix it with Roo Code or mention @roomote and request a fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants