Important
📢 記住這個命令:fuck-u-code - 讓程式不再爛到發指!
一款專門揭露屎山程式的品質分析工具,用犀利又搞笑的方式告訴你:你的程式到底有多爛。
- 多語言支援: Go, JavaScript, TypeScript, Python, Java, C, C++, Rust, C#, Lua, PHP, Ruby, Swift, Shell(14 種語言)
- 整體評分: 0~100 分,越高程式品質越好
- 糟糕指數: 單檔案評分,越高越爛
- 七維度檢測: 複雜度 / 程式量 / 註解率 / 錯誤處理 / 命名 / 重複度 / 結構
- AST 解析: 基於 tree-sitter 的精確語法分析
- AI 程式審查: 整合 OpenAI 相容 / Anthropic / DeepSeek / Gemini / Ollama
- 多格式輸出: 終端彩色 / Markdown / JSON / HTML
- i18n: 繁體中文 / 英文 / 俄文
- 靈活配置:
.fuckucoderc.json等多種格式,支援專案級和全域配置
Note
程式分析全程本地運行,不上傳程式,安全無憂。 AI 審查需要呼叫外部 API 或本地 Ollama。
npm install -g eff-u-code或原始碼建構:
git clone https://github.com/Done-0/fuck-u-code.git
cd fuck-u-code && npm install && npm run buildfuck-u-code analyze # 分析目前目錄
fuck-u-code analyze ./src # 分析指定目錄
fuck-u-code analyze . -v # 詳細模式(專案概覽、語言分布、函式級指標)
fuck-u-code analyze . -t 20 # 顯示最差的 20 個檔案
fuck-u-code analyze . -l zh-TW # 繁體中文輸出
fuck-u-code analyze . -f markdown # Markdown 終端渲染
fuck-u-code analyze . -f markdown -o report.md # 匯出 Markdown
fuck-u-code analyze . -f html -o report.html # 匯出 HTML
fuck-u-code analyze . -f json -o report.json # 匯出 JSON
fuck-u-code analyze . -e "**/*.test.ts" # 排除測試檔案| 選項 | 簡寫 | 說明 |
|---|---|---|
--verbose |
-v |
詳細輸出 |
--top <n> |
-t |
最差前 N 個檔案(預設 10) |
--format <fmt> |
-f |
格式: console/markdown/json/html |
--output <file> |
-o |
輸出到檔案 |
--exclude <glob> |
-e |
額外排除模式 |
--concurrency <n> |
-c |
並發數(預設 8) |
--locale <lang> |
-l |
語言: en/zh/zh-TW/ru |
需先設定 AI 服務商(見 AI 設定)。
fuck-u-code ai-review . -m gpt-4o # OpenAI 相容
fuck-u-code ai-review . -p anthropic -m claude-sonnet-4-5-20250929 # Anthropic
fuck-u-code ai-review . -p ollama -m codellama # 本地 Ollama
fuck-u-code ai-review . -m gpt-4o -t 3 # 審查最差 3 個檔案
fuck-u-code ai-review . -m gpt-4o -f markdown -o review.md # 匯出 Markdown
fuck-u-code ai-review . -b https://your-api.com/v1 -k sk-xxx -m model # 自訂端點| 選項 | 簡寫 | 說明 |
|---|---|---|
--model <model> |
-m |
模型名稱(必填) |
--provider <name> |
-p |
服務商: openai/anthropic/deepseek/gemini/ollama |
--base-url <url> |
-b |
自訂 API 端點 |
--api-key <key> |
-k |
API 金鑰 |
--top <n> |
-t |
審查最差前 N 個檔案(預設 5) |
--format <fmt> |
-f |
格式: console/markdown/html |
--output <file> |
-o |
輸出到檔案 |
--verbose |
-v |
詳細輸出 |
--locale <lang> |
-l |
語言: en/zh/zh-TW/ru |
fuck-u-code config init # 生成 .fuckucoderc.json
fuck-u-code config show # 檢視目前設定
fuck-u-code config set i18n.locale zh-TW # 設定預設語言
fuck-u-code config set ai.provider openai # 設定 AI 服務商
fuck-u-code config set ai.model gpt-4o # 設定 AI 模型
fuck-u-code config set ai.apiKey sk-xxx # 設定 API 金鑰更新 eff-u-code 至最新版本:
fuck-u-code update # 更新至最新版本將會執行:
- 檢查目前安裝的版本
- 檢查 npm 上的最新版本
- 自動安裝最新版本至全域
移除 fuck-u-code 並清理所有本機檔案:
fuck-u-code uninstall # 移除全域設定、MCP 設定和 npm 套件將會刪除以下內容:
- 全域設定檔(
~/.fuckucoderc.json) - MCP 伺服器設定(Claude Code、Cursor)
- 全域 npm 套件(
eff-u-code)
透過設定檔自動搜尋,優先級:專案目錄向上搜尋 > 全域設定 ~/.fuckucoderc.json。
支援格式:.fuckucoderc.json / .yaml / .js / fuckucode.config.js / package.json 中的 "fuckucode" 欄位。
全域設定路徑:macOS/Linux ~/.fuckucoderc.json,Windows C:\Users\<使用者名稱>\.fuckucoderc.json。
完整範例(.fuckucoderc.json):
{
"exclude": ["**/*.test.ts", "docs/**"],
"include": ["**/*"],
"concurrency": 8,
"verbose": false,
"output": {
"format": "console",
"top": 10,
"maxIssues": 5,
"showDetails": true
},
"metrics": {
"weights": {
"complexity": 0.32,
"duplication": 0.20,
"size": 0.18,
"structure": 0.12,
"error": 0.08,
"documentation": 0.05,
"naming": 0.05
}
},
"ai": {
"enabled": true,
"provider": "openai",
"model": "gpt-4o",
"baseUrl": "https://api.openai.com/v1",
"apiKey": "sk-your-api-key"
},
"i18n": {
"locale": "zh-TW"
}
}支援 5 種服務商,優先級:命令列引數 > 環境變數 > 設定檔。
| 服務商 | 環境變數 | 範例命令 |
|---|---|---|
| OpenAI 相容 | OPENAI_API_KEY OPENAI_MODEL OPENAI_BASE_URL |
ai-review . -m gpt-4o |
| Anthropic | ANTHROPIC_API_KEY |
ai-review . -p anthropic -m claude-sonnet-4-5-20250929 |
| DeepSeek | DEEPSEEK_API_KEY |
ai-review . -p deepseek -m deepseek-chat |
| Gemini | GEMINI_API_KEY |
ai-review . -p gemini -m gemini-pro |
| Ollama | OLLAMA_HOST(可選) |
ai-review . -p ollama -m codellama |
# OpenAI 相容
export OPENAI_API_KEY="sk-your-key"
export OPENAI_BASE_URL="https://api.openai.com/v1" # 可選
# 或透過設定檔
fuck-u-code config set ai.provider openai
fuck-u-code config set ai.model gpt-4o
fuck-u-code config set ai.apiKey sk-your-key
fuck-u-code config set ai.baseUrl https://api.openai.com/v1fuck-u-code 提供 MCP (Model Context Protocol) Server,讓 Claude Code、Cursor、Windsurf 等 AI 工具可以直接呼叫程式品質分析和 AI 程式審查功能。
# 全域安裝
npm install -g eff-u-code
# 自動設定(互動式)
fuck-u-code mcp-install
# 或直接指定目標
fuck-u-code mcp-install claude
fuck-u-code mcp-install cursorClaude Code(~/.claude.json 或專案 .mcp.json):
{
"mcpServers": {
"fuck-u-code": {
"command": "fuck-u-code-mcp"
}
}
}Cursor(.cursor/mcp.json):
{
"mcpServers": {
"fuck-u-code": {
"command": "fuck-u-code-mcp"
}
}
}免安裝方式(npx):
{
"mcpServers": {
"fuck-u-code": {
"command": "npx",
"args": ["-y", "eff-u-code-mcp"]
}
}
}- analyze — 分析程式品質並產生評分報告
- ai-review — 對評分最差的檔案執行 AI 程式審查
工具自動讀取 .gitignore(含子目錄),遵循標準 gitignore 規則。額外排除可用 --exclude 或設定檔的 exclude 欄位。
💬 歡迎參與開放討論 Discord: https://discord.gg/9ThNkAFGnT
歡迎提 PR,一起最佳化"fuck-u-code" 🚀
MIT
- fenderisfine@gmail.com
- WeChat: l927171598
- Value Realization — 產品價值發現分析 AI 技能(24小時內10萬+瀏覽,首日100+星)
- FateSpiral — AI 驅動的多人 RPG,無限世界,無限劇情
- 玄學工坊 — AI 賽博算命網站
- Jank — Go 語言開源部落格