
Product
Socket for Asana Is Now Available
Create and manage Asana tasks directly from Socket alerts, with manual task creation, automated ticketing rules, and two-way sync.
[!Important] 📢 Remember this command:
fuck-u-code- let bad code have nowhere to hide!
A tool designed to expose shitty code quality with sharp but humorous feedback, showing you exactly how terrible your code is.
.fuckucoderc.json and more, project-level and global support[!Note] Code analysis runs fully offline — your code never leaves your machine. AI review requires an external API or local Ollama.
npm install -g eff-u-code
Or build from source:
git clone https://github.com/Done-0/fuck-u-code.git
cd fuck-u-code && npm install && npm run build
fuck-u-code analyze # Analyze current directory
fuck-u-code analyze ./src # Analyze specific directory
fuck-u-code analyze . -v # Verbose (project overview, language stats, function metrics)
fuck-u-code analyze . -t 20 # Show top 20 worst files
fuck-u-code analyze . -l zh # Chinese output
fuck-u-code analyze . -f markdown # Markdown terminal rendering
fuck-u-code analyze . -f markdown -o report.md # Export Markdown
fuck-u-code analyze . -f html -o report.html # Export HTML
fuck-u-code analyze . -f json -o report.json # Export JSON
fuck-u-code analyze . -e "**/*.test.ts" # Exclude test files
| Option | Short | Description |
|---|---|---|
--verbose | -v | Verbose output |
--top <n> | -t | Top N worst files (default 10) |
--format <fmt> | -f | Format: console/markdown/json/html |
--output <file> | -o | Write to file |
--exclude <glob> | -e | Additional exclude patterns |
--concurrency <n> | -c | Concurrent workers (default 8) |
--locale <lang> | -l | Language: en/zh/ru/zh-tw |
Requires AI provider setup (see AI Configuration).
fuck-u-code ai-review . -m gpt-4o # OpenAI-compatible
fuck-u-code ai-review . -p anthropic -m claude-sonnet-4-5-20250929 # Anthropic
fuck-u-code ai-review . -p ollama -m codellama # Local Ollama
fuck-u-code ai-review . -m gpt-4o -t 3 # Review top 3 worst
fuck-u-code ai-review . -m gpt-4o -f markdown -o review.md # Export Markdown
fuck-u-code ai-review . -b https://your-api.com/v1 -k sk-xxx -m model # Custom endpoint
| Option | Short | Description |
|---|---|---|
--model <model> | -m | Model name (required) |
--provider <name> | -p | Provider: openai/anthropic/deepseek/gemini/ollama |
--base-url <url> | -b | Custom API endpoint |
--api-key <key> | -k | API key |
--top <n> | -t | Review top N worst files (default 5) |
--format <fmt> | -f | Format: console/markdown/html |
--output <file> | -o | Write to file |
--verbose | -v | Verbose output |
--locale <lang> | -l | Language: en/zh/ru |
fuck-u-code config init # Generate .fuckucoderc.json
fuck-u-code config show # Show current config
fuck-u-code config set i18n.locale zh # Set default language
fuck-u-code config set ai.provider openai # Set AI provider
fuck-u-code config set ai.model gpt-4o # Set AI model
fuck-u-code config set ai.apiKey sk-xxx # Set API key
Update eff-u-code to the latest version:
fuck-u-code update # Update to latest version
This will:
Remove fuck-u-code and clean up all local files:
fuck-u-code uninstall # Remove global config, MCP entries, and npm package
This will remove:
~/.fuckucoderc.json)eff-u-code)Auto-discovered from project directory upward, then falls back to global ~/.fuckucoderc.json.
Supported formats: .fuckucoderc.json / .yaml / .js / fuckucode.config.js / "fuckucode" field in package.json.
Global config path: macOS/Linux ~/.fuckucoderc.json, Windows C:\Users\<username>\.fuckucoderc.json.
Full example (.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": "en"
}
}
Supports 5 providers. Priority: CLI flags > environment variables > config file.
| Provider | Environment Variables | Example |
|---|---|---|
| OpenAI-compatible | 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 (optional) | ai-review . -p ollama -m codellama |
# OpenAI-compatible
export OPENAI_API_KEY="sk-your-key"
export OPENAI_BASE_URL="https://api.openai.com/v1" # Optional
# Or via config file
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/v1
fuck-u-code provides an MCP (Model Context Protocol) Server, allowing AI tools like Claude Code, Cursor, Windsurf, etc. to directly invoke code quality analysis and AI code review.
# Global install
npm install -g eff-u-code
# Auto-configure (interactive)
fuck-u-code mcp-install
# Or specify target directly
fuck-u-code mcp-install claude
fuck-u-code mcp-install cursor
Claude Code (~/.claude.json or project .mcp.json):
{
"mcpServers": {
"fuck-u-code": {
"command": "fuck-u-code-mcp"
}
}
}
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"fuck-u-code": {
"command": "fuck-u-code-mcp"
}
}
}
Without global install (npx):
{
"mcpServers": {
"fuck-u-code": {
"command": "npx",
"args": ["-y", "eff-u-code-mcp"]
}
}
}
The tool reads .gitignore files (including nested ones) and follows standard gitignore rules. For additional exclusions, use --exclude or the exclude config field.
💬 Share your thoughts Discord: https://discord.gg/9ThNkAFGnT
PRs welcome — let's improve fuck-u-code together 🚀
MIT
FAQs
Production-grade code quality analyzer with AST parsing and AI integration
The npm package eff-u-code receives a total of 94 weekly downloads. As such, eff-u-code popularity was classified as not popular.
We found that eff-u-code demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Create and manage Asana tasks directly from Socket alerts, with manual task creation, automated ticketing rules, and two-way sync.

Security News
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.