All notable changes to IdlerGear will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Opportunistic Background Indexing
- Automatic file annotation generation during idle time
- Knowledge graph population in small batches (5 items at a time)
- Smart priority: files → commits → symbols (most useful first)
- MCP tools:
idlergear_indexing_status,idlergear_index_batch,idlergear_pause_indexing,idlergear_resume_indexing - Progress tracking with percentage complete for each category
- State persistence across MCP server restarts (
.idlergear/indexing_state.json) - Auto-generates file annotations from docstrings, classes, functions
- Runs opportunistically after each MCP tool completes (non-blocking)
Knowledge Graph Lock Management Fix
- Fixed database lock contention preventing graph populate operations
- MCP populate commands now release lock before running, reacquire after
- Added lazy initialization for CLI usage (auto-populates on first query if empty)
- New module:
src/idlergear/graph/lazy_init.py - Fixes for handlers:
idlergear_graph_populate_git,idlergear_graph_populate_code,idlergear_graph_populate_all
- File annotation storage now uses structured directory-based format (
.idlergear/file_annotations/) - Background indexing module:
src/idlergear/indexing/background.py
- Background Indexing: ~500ms per batch (5 items), non-blocking
- File Annotations: ~50ms per file (parse + extract + save)
- Incremental Progress: Resumes from last index across sessions
- Zero Manual Work: Automatically fills knowledge base during normal usage
Multi-Language Code Parsing (#400)
- Tree-sitter integration for Python, JavaScript, TypeScript, Rust, Go, C/C++, Java
- Docstring extraction from Python functions, classes, and methods
- Fully qualified method names (e.g.,
Greeter.greet) in symbol extraction - Error-tolerant parsing (handles syntax errors gracefully)
- Language detection from file extensions
Vector Embeddings & Semantic Code Search (#401)
- ChromaDB integration for code symbol embeddings
- Semantic code search with natural language queries
- MCP tools:
idlergear_code_search,idlergear_find_similar_code - 93-98% token savings vs grep + file reading
- Sub-second query performance
- Duplicate code detection via similarity search
LlamaIndex RAG for Documentation (#402)
- Semantic search over references and notes using LlamaIndex
- Local embeddings (sentence-transformers) - zero-config operation
- Optional OpenAI embeddings for better quality
- MCP tools:
idlergear_rag_search,idlergear_rag_index_all,idlergear_rag_rebuild - CLI commands:
rag-search,rag-index,rag-rebuild - 90%+ token savings vs reading all documentation
- Metadata filtering (search only references or only notes)
Test Coverage
- Comprehensive tests for tree-sitter parsing
- Tests for vector code search
- Tests for LlamaIndex RAG plugin
- All tests gracefully handle optional dependencies
- BREAKING: Removed AST parsing fallback - tree-sitter is now the primary parser
- Updated plan display formatter for Plan Objects API (uses
description,statusfields) - Updated search module for Plan Objects compatibility
- Refactored code_populator.py - removed
_extract_symbols_and_importsmethod - Updated pyproject.toml with new optional dependencies (
ragextra)
- Fixed 39 test failures related to Plan Objects API changes
- Fixed KuzuDB schema error - created
PR_MODIFIESas separate relationship table - Fixed plan CLI tests to use new
--descriptionparameter requirement - Fixed search.py to use correct Plan Objects field names
- Fixed display.py plan formatter to show correct fields
- Fixed tmux integration bug (deprecated
Server.find_where()API) - Fixed file annotation persistence bug (one-file-per-annotation storage)
- Code Search: 93-98% token savings (vs grep + file reads)
- Documentation Search: 90%+ token savings (vs reading all docs)
- Knowledge Graph: 95-98% token savings (vs file reads)
- Query Speed: Sub-second response times for all semantic searches
- Indexing Speed: ~60 seconds for 10K LOC codebase
New Required Dependencies:
tree-sitter>=0.21.0,<0.22.0- Multi-language parsingtree-sitter-languages>=1.10.0- Language grammarschromadb>=0.4.22- Vector database for code searchsentence-transformers>=2.2.0- Local embeddings
New Optional Dependencies:
llama-index>=0.11.0- RAG for documentation (install with[rag])llama-index-embeddings-huggingface>=0.3.0- Local embeddings for RAGllama-index-embeddings-openai>=0.2.0- OpenAI embeddings option
- Updated CLAUDE.md with RAG usage guide
- Added semantic search architecture explanation
- Documented token savings comparisons
- Added configuration examples for RAG
- Session Branching - Git-like branching for experimental work (#273)
- Create branches from any session with purpose/reason tracking
- Switch between branches with
checkout - Compare branches with detailed diff (files, tasks, duration)
- Merge successful experiments back to main
- Abandon failed experiments with documentation
- Delete merged/abandoned branches
- Full session lineage tracking with parent pointers
- Branch metadata: status (active/merged/abandoned), created, forked_from
- Knowledge Harvesting - Extract insights from completed sessions (#274)
- Harvest single session: tasks completed, focus areas, tool usage
- Identify patterns across multiple sessions (days/weeks)
- Save harvested insights as notes with tags
- Insight types: achievement, focus_area, tool_pattern, success_pattern, learning
- Pattern analysis: success rates, common directories, tool preferences, avg duration
- Integration with session branching for experiment comparison
- Session Analytics - Deep session efficiency analysis (#275)
- Productivity metrics and efficiency scoring
- Tool usage analysis and recommendations
- Task completion rate tracking
- File change pattern identification
- Session duration statistics
- Container Support - Isolated process execution (#325)
- Podman and Docker support with unified API
- Resource limits: memory and CPU constraints
- Environment variable injection
- Volume mounting for workspace access
- Container lifecycle management (start, stop, remove, logs, stats)
- Integration with run system for task-aware containers
- Containerized testing infrastructure (Containerfiles for install/build)
- Test matrix script: Python 3.10, 3.11, 3.12
Session management commands:
idlergear session branch- Create experimental branchidlergear session checkout- Switch to branchidlergear session branches- List all branchesidlergear session diff- Compare two branchesidlergear session merge- Merge branch into targetidlergear session abandon- Mark branch as abandonedidlergear session delete-branch- Delete branchidlergear session harvest- Extract insights from session(s)idlergear session analyze- Deep efficiency analysis
Container run enhancements:
idlergear run start --container- Run in container--image,--memory,--cpus- Container resource options--env- Environment variable injection
- Tmux Integration - Terminal multiplexer support for persistent sessions (#327)
- Test Infrastructure - Containerized testing
containers/test-install.Containerfile- Clean environment install testingcontainers/test-build.Containerfile- Build process validationscripts/podman-test.sh- Test runner (install/build/matrix)
- Wiki pages for v0.8.0 features
- Session Branching guide with use cases and best practices
- Knowledge Harvesting guide with insight types and workflows
- Container Support guide with resource limits and examples
- Updated README.md, AGENTS.md, SKILL.md for v0.8.0
- Updated wiki Home.md with v0.8.0 release notes
- Session history snapshot loading edge cases
- Container runtime detection priority (Podman first, Docker fallback)
- Session metadata tracking with parent/child relationships
- ProcessManager abstraction for containers
- Run system integration with container lifecycle
- GitHub Projects v2 Sync - Bidirectional project board integration (#320, #257)
- Create and manage Kanban boards locally
- Sync to/from GitHub Projects v2
- Link existing GitHub Projects to IdlerGear projects
- Automatic task addition to default project (configurable)
- Token-efficient project queries
- Custom Field Sync - Rich GitHub Projects metadata (#283)
- Map IdlerGear task properties to GitHub custom fields
- Supported field types: single-select (priority), date (due), text (labels)
- Automatic sync on task create/update
- Field validation and graceful failure handling
- Configuration via
projects.field_mappingin config.toml
- Status Column Mapping - Automatic task movement (#282)
- Configure column mapping for task states (open → Backlog, in_progress → Doing, etc.)
- Auto-move tasks when state changes
- Configurable via
projects.column_mappingin config.toml
- Bidirectional Sync - GitHub as source of truth (#284)
- Pull changes from GitHub Projects to IdlerGear
- Sync priority, due dates, labels, and issue status
- Automatic task closure when GitHub issue closed
- Conflict resolution: GitHub wins by default
- Vision Sync - Copy vision to
VISION.mdin repo root (#319) - Reference Sync - Sync references to GitHub Wiki (#318)
- Plan Sync - Sync plans to GitHub (#317)
GitHub Projects commands:
idlergear project sync- Sync project to GitHub Projects v2idlergear project link- Link to existing GitHub Projectidlergear project pull- Pull changes from GitHub (bidirectional)
idlergear_project_sync- Sync project to GitHubidlergear_project_link- Link existing projectidlergear_project_pull- Pull GitHub changesidlergear_project_sync_fields- Sync custom fields
- GitHub Projects integration guide
- Custom field sync documentation
- Bidirectional sync workflow examples
- Project board automation guide
- GitHub Projects GraphQL query optimization
- Field type validation for custom fields
- Project board column detection
- Token efficiency for project queries
- GitHub API error handling
- Project configuration schema
- File Registry Core - Track file status (current/deprecated/archived/problematic) (#287)
- FileRegistry data model with JSON storage
- Status tracking with reason and successor information
- Pattern-based file matching (e.g.,
*.csv→ deprecated) - Status cache for performance optimization
- File Annotations - Token-efficient file discovery system (#304)
- Annotate files with descriptions, tags, and components
- Search annotations before using grep (93% token savings)
- Related files tracking for navigation
- Proactive annotation workflow for AI assistants
- MCP File Access Interception - Automatic file access control (#290)
- Block AI assistant access to deprecated files with helpful error messages
- Warn when writing to deprecated files (but allow updates)
- Access logging to
.idlergear/access_log.jsonlfor audit trail - Override mechanism with
_allow_deprecatedparameter - URL and command flag detection to avoid false positives
- Daemon Multi-Agent Coordination - Real-time file registry synchronization (#291)
- File registry changes broadcast to all connected agents within 1 second
- Event callbacks for file_registered and file_deprecated events
- MCP server automatic subscription to file.* events on startup
- Graceful degradation when daemon not running
- Wildcard subscription support for registry events
File registry management commands (#288):
idlergear file register- Register file with statusidlergear file deprecate- Mark file as deprecated with successoridlergear file status- Change file statusidlergear file list- List all registered filesidlergear file search- Search file annotationsidlergear file annotate- Add file annotationsidlergear file unregister- Remove file from registry
File registry tools for AI assistants (#289):
idlergear_file_register- Register file programmaticallyidlergear_file_deprecate- Mark file as deprecatedidlergear_file_update_status- Change file statusidlergear_file_list- Query registered filesidlergear_file_search- Search by annotationsidlergear_file_annotate- Add file annotationsidlergear_file_get_annotations- Retrieve file metadataidlergear_file_unregister- Remove file from registry
- Cursor AI - IDE rules generation with
.mdcfiles (#299) - Aider - Configuration file generation (
.aider.conf.yml) (#300) - GitHub Copilot - Enhanced
COPILOT.mdtemplate - Gemini - Comprehensive
GEMINI.mdtemplate - AGENTS.md - Multi-assistant coordination guide
- Comprehensive file registry user guide (#294)
- File annotations guide with examples
- MCP file interception documentation
- Quick start guide (
QUICKSTART.md) - Token efficiency best practices
- Mock server missing
storage_pathattribute in daemon tests - CLI initialization tests affected by stale
/tmp/.idlergear - Unused variables in test file detection
- Invalid
verboseparameter in context command - Unused variable in installation assistant detection
- pipx installation support (#285)
- End-to-end integration tests for file registry daemon (#296)
- 18 comprehensive tests for MCP file interception
- 9 tests for daemon multi-agent coordination
- Test isolation and cleanup
- Access logging for all file registry operations (
.idlergear/access_log.jsonl) - Audit trail for deprecated file access attempts
- Clear error messages prevent accidental use of outdated files
- File registry event system for daemon broadcasts
- MCP server daemon subscription capabilities
- Unused variables in test file detection
- Invalid verbose parameter in context command
- Unused variable in installation assistant detection
- Plugin system foundation
- LlamaIndex plugin for vector search
- Mem0 plugin for experiential memory
- Langfuse plugin for observability
- Documentation updates
- README with plugin features
- Cursor AI integration documentation
- README updates with current version
- ROADMAP with current progress (v0.5.19)
- Comprehensive AGENTS.md guidance
- Enhanced GEMINI.md template
- Enhanced COPILOT.md template
- Multi-assistant coordination workflows
- Plugin system (6 CLI tools, 6 MCP tools)
- Plugin discovery and management
- Semantic search capabilities
- Observability integration
- Plugin system foundation
- LlamaIndex integration
- Langfuse integration
- File registry initial implementation
- Data file detection
- Documentation updates
- Planning & Foundation milestone
- GraphQL API
- Documentation enforcement
- Priority tracking
- Core IdlerGear functionality
- Task management
- Note management
- Vision and plan support
New Features Available:
-
File Registry - Start tracking deprecated files:
idlergear file deprecate old_data.csv --successor new_data.csv
-
File Annotations - Annotate files for efficient discovery:
idlergear file annotate src/api/auth.py \ --description "REST API endpoints for authentication" \ --tags api,auth,jwt -
Multi-Agent Coordination - Enable daemon for coordination:
idlergear daemon start
Breaking Changes:
- None. v0.6.0 is fully backward compatible.
Deprecations:
- None.