Releases: fstepho/insightcode-cli
v0.8.0 - Four-Dimensional Scoring & Quick Wins Analysis
Major Release: Revolutionary upgrade to 4-dimensional code quality analysis with strategic improvement recommendations.
🚨 Breaking Changes
Project scores will change due to the new scoring methodology:
| Before (v0.7.1) | Now (v0.8.0) |
|---|---|
| 3 dimensions | 4 dimensions |
| Complexity: 45% | Complexity: 35% |
| Maintainability: 30% | Maintainability: 25% |
| Duplication: 25% | Duplication: 20% |
| — | Reliability: 20% ⭐ |
Migration: Re-run analysis to see updated scores reflecting the enhanced methodology.
✨ Major New Features
🛡️ Reliability Score (New 4th Dimension)
- Measures code robustness based on detected quality issues and anti-patterns
- Progressive penalty system for critical/high/medium/low severity issues
- Function-level aggregation combining all detected problems
- 20% weight in overall project scoring
🎯 Quick Wins Analysis
- Strategic improvement recommendations with high ROI (impact vs effort)
- Effort estimation in hours based on complexity and criticality
- Priority categorization by strategic value and immediate impact
- Actionable insights to guide refactoring decisions
📊 Quality Patterns Detection
- Anti-pattern identification in both quality and architecture categories
- Enhanced Markdown reports with detailed pattern analysis
- Problem categorization with implications and recommendations
🚀 Performance Improvements
⚡ Function Analysis Optimization
- Batching: Process functions in batches of 50 for memory efficiency
- Smart caching: WeakMap caching to avoid redundant analysis
- Timeout guards: 30s per file with graceful partial completion
- Memory management: Periodic cache clearing during analysis
🔧 AST Performance Enhancements
- Pre-compiled regex patterns for 3x faster pattern matching
- Optimized lookups with Set data structures for O(1) operations
- Reduced redundancy with intelligent getText() caching
- Performance monitoring with detailed timing utilities
🎨 User Experience Enhancements
📱 Enhanced CLI Output
- Reliability score display in terminal overview
- Improved file sorting by architectural importance
- Better formatting with enhanced legends and visual hierarchy
📝 Improved Reports
- Quick Wins section with comprehensive ROI analysis
- Strategic narratives with problem pattern identification
- Enhanced insights for more actionable recommendations
🔧 Algorithm Improvements
🎯 Enhanced Detection
- "God Function" detection using multiple metrics (operations, complexity, lines)
- Improved responsibility analysis (IO, validation, transformation patterns)
- Enhanced purity detection for functional programming analysis
📈 Smarter Prioritization
- Criticism score-based sorting puts architecturally important files first
- Enhanced maintainability scoring with cohesion and coupling metrics
📦 Installation & Upgrade
# Install latest
npm install -g insightcode-cli
# Upgrade existing installation
npm update -g insightcode-cli
# Verify installation
insightcode --version # Should show 0.8.0
---
🔗 Resources
- 📚 https://github.com/fstepho/insightcode-cli/blob/main/CHANGELOG.md - Complete technical details
- 📖 https://github.com/fstepho/insightcode-cli#readme - Usage guide and examples
- 🐛 https://github.com/fstepho/insightcode-cli/issues - Bug reports and feature requests
- 📦 https://www.npmjs.com/package/insightcode-cli - Package page
---
🎉 What's Next?
Try the new Quick Wins analysis to identify your highest-ROI code improvements:
insightcode ./your-project --format markdown
# Look for the new "🚀 Quick Wins Analysis" section!v0.7.0 - Enhanced Analysis & Scoring System Refinements
✨ What's New
📊 Enhanced Report Generator
- Function-level critical issue tracking with centralized config
📝 Improved Markdown Generation
- Better insights and findings presentation
⚙️ Centralized Grading Config
- Introduced
GRADE_CONFIGfor consistency across components
🏷️ Unified Grade Type
- Added type-safe Grade type definition
🔍 Function-Level Analysis
- Enhanced complexity metrics with distinct operation counting and
severity-based sorting
🛠️ Enhanced Scoring Utilities
- New centralized scoring functions and utilities with deprecated comment
removal
📚 CriticismScore Documentation
- New comprehensive guide for project scoring methodology
📊 Updated Benchmarks
- Fresh benchmark data for 2025-07-21 across all test projects
🔧 Improvements & Changes
- Refactored Reporter and Scoring Modules for better maintainability
- Updated scoring and analysis terminology for clarity
- Simplified codebase with legacy config removal
- Grading system aligned with industry standards
- Enhanced type definitions separating file-level vs. function-level issues
- Mathematical precision improvements in scoring constants
🐛 Bug Fixes
- Improved commit message handling and processing
- Enhanced session logging with updated terminology
📦 Installation & Usage
# Install globally
npm install -g insightcode-cli@0.7.0
# Standard analysis
insightcode
# Production analysis with strict duplication
insightcode --production --strict-duplicationv0.6.0 - Major CLI Improvements & Dual-Mode Duplication Analysis
⚠️ BREAKING CHANGES
This release introduces significant improvements to the CLI interface and architecture. Please review the migration guide below.
🔧 CLI Interface Changes
- Analysis is now the default action - No more
analyzesubcommand required- Before:
insightcode analyze - After:
insightcode
- Before:
- Flag renamed for clarity
- Before:
--exclude-utility - After:
--production
- Before:
✨ What's New
🎯 Dual-Mode Duplication Analysis
Choose between industry-standard strict thresholds or legacy-compatible thresholds:
# Strict mode (recommended for new projects)
insightcode --strict-duplication
# Thresholds: 3% (good) / 8% (moderate) / 15% (high)
# Legacy mode (default, compatible with existing codebases)
insightcode
# Thresholds: 15% (good) / 30% (moderate) / 50% (high)📚 Comprehensive Documentation Validation
- 79+ validated examples across 11 documentation files
- Automated validation system preventing documentation drift
- Mathematical validation ensuring 100% accuracy of formulas and constants
- Enhanced development workflow with
npm run validate-docs
🏗️ Modular Architecture Refactoring
Major internal improvements for better maintainability:
- ~500 lines reduction through component extraction
DependencyResolverandDependencyGraphas standalone modules- New
FileDetailBuilderclass for encapsulated file detail construction - Specialized
src/analyzer/directory with 3 focused modules
🔄 Migration Guide
For Existing Users
# Old command
insightcode analyze --exclude-utility
# New equivalent
insightcode --productionFor CI/CD Pipelines
# Update your scripts from:
npx insightcode-cli analyze
# To:
npx insightcode-cli📦 Installation & Quick Start
# Install globally
npm install -g insightcode-cli@0.6.0
# Or use directly with npx
npx insightcode-cli@0.6.0
# Quick analysis with strict thresholds
insightcode --strict-duplication
# Production analysis (exclude test files)
insightcode --production🎨 Enhanced Features
Improved Analysis
- Enhanced 8-line sliding window duplication analysis
- Scoring weights adjusted for better complexity/duplication balance
- Enhanced error handling throughout dependency analyzer
- Color-coded severity indicators in CLI output
Better Developer Experience
- Configuration file exclusion in duplication analysis
- License header filtering
- Improved TypeScript coverage and type safety
- Enhanced development workflow commands
🗂️ What Was Removed
analyzesubcommand (now the default action)--with-contextflag (functionality integrated into core analysis)- Monolithic
parser.tsfile (replaced by modular architecture) - Unused variables and obsolete methods
🐛 Bug Fixes
- Fixed silent error returns in dependency analyzer
- Resolved documentation inconsistencies between examples and implementation
- Improved JSON output formatting with absolutePath filtering
📊 Technical Improvements
- Modular Architecture: Better separation of concerns with specialized components
- Enhanced Type Safety: Improved TypeScript coverage throughout codebase
- Better Error Handling: More robust error reporting and logging
- Code Reduction: ~500 lines removed through intelligent refactoring
🔗 Resources
Full Changelog: v0.5.0...v0.6.0
v0.5.0 - Rich Context Extraction for Enhanced Code Analysis
🎯 What's New
InsightCode CLI v0.5.0 introduces Rich Context Extraction (--with-context), a new feature that provides deep
architectural insights for external tools and AI systems to better understand your codebase.
✨ Key Features
🔍 Rich Context Extraction
- Deep AST-based analysis that extracts semantic insights beyond traditional metrics
- Function-level complexity breakdown with detailed metrics for each function
- Pattern detection including async/await usage, error handling, TypeScript features, JSX, decorators
- Architectural mapping of imports, exports, classes, functions, interfaces, and dependencies
- Intelligent code sampling that extracts complex function snippets for external analysis
📊 Enhanced Analysis Output
When using --with-context, the JSON output now includes:
- Detailed function metrics: Complexity, line count, parameters, nesting depth
- Code patterns: Usage of async/await, error handling, TypeScript features
- Architectural structure: Complete mapping of imports, exports, types, and dependencies
- Code samples: Automatic extraction of complex functions (complexity > 10)
- Aggregated insights: Project-wide patterns and architectural metrics
🚀 Performance
- Maintains InsightCode's performance - processes 40,000+ lines per second
- Zero new dependencies - stays true to the minimal dependency philosophy
- Opt-in feature via
--with-contextflag - fully backwards compatible
💡 Use Cases
The rich context extraction enables:
- AI-powered code reviews: Provide LLMs with deep architectural context
- Advanced CI/CD analysis: Richer data for automated quality gates
- Architecture documentation: Generate comprehensive code structure reports
- Technical debt assessment: Better understand complexity distribution
📚 Documentation
- Updated README with context extraction details
- Enhanced architectural principles documentation
- Improved development guidelines and philosophy
InsightCode CLI v0.5.0 enhances its core mission of privacy-first, local code analysis by providing richer context
for external tools while maintaining its commitment to speed, simplicity, and zero cloud dependencies.
Try it now:
npm install -g insightcode-cli
insightcode analyze --with-context
**Full Changelog**: https://github.com/fstepho/insightcode-cli/compare/v0.4.0...v0.5.0v0.4.0 - Architectural Impact Analysis
🎯 BREAKING CHANGES
- Complete Scoring System Overhaul: New criticality-weighted model replaces the old fixed-weight system
- Final project score is now a weighted average based on each file's Criticality Score (complexity + architectural impact)
✨ Major New Features
🏗️ Architectural Impact Analysis
- Dependency Graph Analysis: InsightCode now builds a complete dependency graph to calculate the architectural impact of each file
- Silent Killers Detection: Identifies high-impact, low-complexity files that are critical but often overlooked
- Advanced Architectural Metrics: New complexityStdDev calculation for deeper insights
📊 Enhanced Reporting
- Criticism Score Display: New metric combining complexity and architectural impact
- Impact Metrics: Shows each file's architectural influence on the project
- Architectural Risks Section: Dedicated section highlighting structural vulnerabilities
- Quick Wins Suggestions: Actionable recommendations with potential score improvements
- Ratio Context: Issues now show ratio displays (e.g., "2.5x limit") for better understanding
🎨 Improved User Experience
- Thousand Separators: Better number formatting for large codebases
- Top 5 Ranking: Files now correctly ranked by criticismScore
- Richer Issue Details: Enhanced context and actionable insights
🔧 Technical Improvements
🏛️ Unified Architecture
- Centralized Logic: All analysis orchestration, scoring, and ranking unified in analyzer.ts
- Scoring Purity: scoring.ts now contains pure, research-based functions
- Configuration Focus: config.ts handles only user-configurable thresholds
🧹 Code Cleanup
- Removed fileScoring.ts: Eliminated redundant module
- Deleted obsolete types: Cleaned up unused ConfigThresholds interface
- Architectural Consistency: Single, coherent scoring system
🐛 Bug Fixes
- Empty Project Handling: Empty projects now correctly return perfect score of 100 instead of 0
- Eliminated Competing Systems: Fixed critical flaw of multiple scoring systems
- Test Suite Overhaul: All tests rewritten for new unified architecture
📈 Performance & Reliability
- Consistent Logic: Single source of truth for all quality evaluations
- Improved Test Coverage: Comprehensive validation of core algorithms
- Better Error Handling: Enhanced robustness for edge cases
🚀 Installation
npm install -g insightcode-cli@0.4.0
📝 Usage
insightcode analyze
insightcode analyze ./src
insightcode analyze --json > report.json
This release represents a fundamental evolution in how InsightCode evaluates code quality, introducing architectural awareness and criticality-based scoring for more accurate and actionable insights.
v0.3.0 - Enhanced Scoring System
📊 Major Improvements
✨ Enhanced Scoring System
- Graduated thresholds for all metrics with industry-aligned standards
- Advanced maintainability scoring considering both file size and function count
- Smarter duplication analysis with research-based thresholds (3%=excellent, 8%=good, 15%=acceptable)
- Penalties for extremely large files (>1000 lines) to encourage better code organization
🔧 Technical Enhancements
- New scoring.ts module for consistent calculations across analyzer and reporter
- Improved complexity scoring with graduated thresholds (10/15/20/30/50+) replacing linear scoring
- Average function count tracking for better maintainability insights
- Perfect consistency between terminal and JSON output modes
🐛 Bug Fixes
- Fixed reporter complexity calculation to match analyzer perfectly
- Eliminated 0% complexity display bug for high-complexity projects
- Consistent scoring between all output modes
📈 Self-Analysis Results
- Full codebase: B (82/100)
- Production-only: C (72/100)
🏗️ Architecture
- Added comprehensive 90-line scoring.ts module with full test coverage
- Enhanced analyzer.ts and reporter.ts with shared scoring functions
- Improved test coverage for new scoring algorithms
🚀 Installation
npm install -g insightcode-cli@0.3.0
📝 Usage
insightcode analyze
insightcode analyze ./src
insightcode analyze --json > report.json
This release focuses on making InsightCode's scoring system more accurate,
consistent, and aligned with industry standards for code quality assessment.
v0.2.0 - Enhanced Analysis Features
🎯 Production Code Analysis
- New
--exclude-utilityflag to focus on production code quality - Smart file type classification (production, test, example, utility, config)
- Configurable thresholds per file type to prevent false positives
⚙️ Improvements
- Enhanced code analysis with customizable thresholds
- Better exclusion patterns for more accurate results
- Improved detection accuracy for production codebases
📊 Real-World Validation
- Benchmarked against 19 popular open-source projects
- Production-only analysis reveals true code complexity
- Higher precision metrics with utility file exclusion
🔧 What's New
- File type classification system
- Smart threshold adjustment based on file context
- Production-focused analysis option
- Enhanced benchmark suite
📈 Performance
- Maintains 35k+ lines/second analysis speed
- Zero-config experience with intelligent defaults
- 100% local analysis - no cloud dependencies
v0.1.0 - Initial Release
🎉 Initial Release
First public release of InsightCode CLI!
Features
- 📊 Analyze TypeScript/JavaScript code quality
- 🔍 Cyclomatic complexity calculation
- 📝 Code duplication detection
- 🎯 Maintainability score (A-F grades)
- 🎨 Beautiful terminal output
- ⚡ 100% local - no data leaves your machine
Installation
npm install -g insightcode-cliUsage
insightcode analyze