- git clone now uses execFile (no shell) and rejects URLs with shell metacharacters; removed dead parseRepoName.
- config show masks apiKey; config file chmod 0600 after writing keys.
- CLI launcher reports signal kills as failures and supports FUCK_U_CODE_MAX_MEMORY (default 4096MB).
- File discovery: well-known non-code dirs are defaults, not hard overrides; user-included dirs are analyzed.
- Nested .gitignore loading uses forward slashes so it works on Windows.
- Deduplicated analysis output rendering; fixed fetch timeout cleanup; aligned concurrency default to 8; enabled zh_TW locale end to end.
- Fixed pre-existing lint errors and Windows-flaky MCP tests; added git-utils, secrets, file-discovery tests; release workflow now runs tests.
Translate Chinese comments and JSDoc strings into English in the git utility functions and the clone-and-analyze CLI command to improve code accessibility for international contributors.
Introduce a new command that allows users to clone a remote git
repository to a temporary directory and perform code quality analysis
directly.
- Implement `clone-and-analyze` command logic and CLI registration.
- Add git utility functions for cloning, validation, and cleanup.
- Support automatic temporary directory management.
- Add comprehensive i18n support for English, Chinese, and Russian.
- Fix tree-sitter parser to correctly identify nested arrow functions
- Modified collectNodesByTypes to recursively traverse function nodes
- Arrow functions inside React components now correctly identified with accurate line counts and nesting depths
- Update version to 2.2.1
- Add auto-release workflow for GitHub Release automation (with overwrite support)
- Remove old manual release workflow
- Add value-realization project to README (all language versions)
- Add comprehensive JSON schema field descriptions with i18n support (en, zh, ru)
- Fix shell script parsing by adding graceful fallback to regex parser when tree-sitter fails
- Change MCP server default output format from markdown to JSON for better AI integration
- Improve parser error handling with automatic fallback mechanism
- Add detailed field explanations in $schema for better AI comprehension
- Bump version to 2.2.0
Breaking changes:
- MCP server now returns JSON format by default instead of markdown
- Add 'fuck-u-code update' command to update to latest version
- Check current and latest versions from npm
- Auto-install latest version globally
- Add translations for en/zh/ru
- Add update command to CLI help examples
- Refactored metrics to utilize language-specific thresholds from a new module.
- Updated NestingDepthMetric, FileLengthMetric, FunctionLengthMetric, and ParameterCountMetric to accept language as a parameter and retrieve thresholds accordingly.
- Added support for PHP, Ruby, Swift, and Shell languages in the parser and metrics.
- Created a new thresholds module with detailed configurations for various languages based on official linter defaults.
- Updated tests to validate new thresholds and ensure metrics function correctly with different languages.
- Introduced a versioning system for the application.