All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Processing Modes System: Introduced modular architecture for different diffgraph generation strategies
- Created
BaseProcessorabstract class for implementing custom processing modes - Added processor registry and factory pattern for mode instantiation
- Implemented
@register_processordecorator for automatic mode registration
- Created
- OpenAI Agents Dependency Graph Mode: Refactored existing AI analysis into
openai-agents-dependency-graphmode- Maintains all existing functionality as the default processing mode
- Analyzes code at component level (classes, functions, methods)
- Generates dependency graphs showing component relationships
- CLI Enhancements:
- Added
--mode/-moption to select processing mode - Added
--list-modesflag to display available processing modes - Default mode:
openai-agents-dependency-graph(backward compatible)
- Added
- Documentation:
- Added comprehensive developer guide:
docs/ADDING_PROCESSING_MODES.md - Updated README.md with processing modes information
- Documented how to create custom processing modes
- Added comprehensive developer guide:
- Refactored
CodeAnalysisAgentinto modularOpenAIAgentsProcessor - Removed direct dependency on
ai_analysis.pyin CLI (now uses processor factory) - Improved extensibility for adding new analysis approaches (Tree-sitter, data flow, etc.)
diffgraph/ai_analysis.py- Functionality moved todiffgraph/processing_modes/openai_agents_dependency.py
- BREAKING CHANGE: Renamed CLI command from
diffgraph-aitowild- Updated all documentation to reflect the new command name
- Updated setup.py entry point to use
wildcommand - All usage examples now use
wildinstead ofdiffgraph-ai - This is a breaking change - users will need to update their scripts and documentation
- Fixed
--versioncommand not working after CLI rename by explicitly specifyingpackage_name='wild'in@click.version_option() - Improved path handling in environment loader by wrapping paths with
os.path.normpath()for better cross-platform compatibility - Removed redundant
hasattr(sys, 'executable')check assys.executableis always available in Python
- Initial release of DiffGraph CLI tool
- AI-powered code change analysis
- HTML report generation with Mermaid.js dependency graphs
- Support for both tracked and untracked files
- Dark mode support in HTML reports
- Syntax highlighting for code blocks
- Responsive design for all screen sizes