Skip to content

v2.1.0

Choose a tag to compare

@Done-0 Done-0 released this 15 Feb 15:17
· 14 commits to main since this release

以下是修正缩进后的内容:

🎉 What's Changed in v2.1.0

✨ New Features

Update Command

  • Auto-update functionality: Run fuck-u-code update to
    automatically update to the latest version
  • Checks current installed version vs latest npm version
  • One-command update with progress feedback
  • Multi-language support (English, Chinese, Russian)

Language-Specific Thresholds

  • Implement official standard-based code quality thresholds for
    14 languages
  • Each language now uses thresholds from its official
    linter/style guide:
    • Go: gocyclo (complexity: 10)
    • JavaScript/TypeScript: ESLint (complexity: 20)
    • Python: Pylint (complexity: 10, params: 5, nesting: 5)
    • Java: SonarQube (complexity: 10)
    • C: Linux Kernel Style (nesting: 3)
    • C++: clang-tidy (complexity: 10)
    • Rust: Clippy (cognitive complexity: 25, params: 7)
    • C#: SonarQube (complexity: 10)
    • Lua: SonarQube defaults
    • PHP: PHPMD (complexity: 10, params: 10)
    • Ruby: RuboCop (complexity: 7, method length: 10)
    • Swift: SwiftLint (complexity: 10, function length: 40)
    • Shell: Google Shell Style Guide

Unified Version Management

  • Single source of truth for version number in src/version.ts
  • All components (CLI, MCP Server, tests) now import from one
    place
  • Easier maintenance and consistency across codebase

🐛 Bug Fixes

  • Remove Kotlin support: Removed due to tree-sitter-kotlin
    parser limitations (no named field support)
  • PHP parameter validation: Verified threshold matches PHPMD
    official standard (10 parameters)
  • ESLint configuration: Fixed to properly ignore test files

🎨 Improvements

  • Chinese translation update: Changed '屎气指数' to
    '糟糕指数' for better tone
  • CLI help text: Added update and uninstall commands to
    examples
  • Code formatting: All files now pass Prettier checks
  • Documentation: Updated all three README files (EN, ZH, RU)
    with update command

🌍 Supported Languages (14)

Go, JavaScript, TypeScript, Python, Java, C, C++, Rust, C#, Lua,
PHP, Ruby, Swift, Shell

📊 Quality Assurance

  • ✅ All 195 unit tests passing
  • ✅ ESLint checks passing (0 errors, 0 warnings)
  • ✅ Prettier formatting verified
  • ✅ TypeScript compilation successful
  • ✅ Production-ready code quality

🔧 Technical Details

Files Changed: 26 files

  • Added: src/version.ts, src/cli/commands/update.ts,
    src/metrics/thresholds/language-thresholds.ts
  • Modified: All metric classes, CLI index, i18n files, README
    files
  • Removed: All Kotlin-related configurations

Breaking Changes:

  • Kotlin language support removed (use v2.0.1 if you need
    Kotlin)

📦 Installation

# New installation
npm install -g eff-u-code

# Update from previous version
fuck-u-code update

🚀 Usage Examples

# Analyze code with language-specific thresholds
fuck-u-code analyze ./src

# Update to latest version
fuck-u-code update

# Check version
fuck-u-code --version

📚 Documentation

  • English README
  • 中文文档
  • Русская документация

🙏 Credits

Thanks to all contributors and users for feedback and support!

Full Changelog:
v2.0.1...v2.1.0