eff-u-code 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +30 -4
  2. package/dist/analyzer/concurrent-analyzer.d.ts.map +1 -1
  3. package/dist/analyzer/concurrent-analyzer.js +4 -3
  4. package/dist/analyzer/concurrent-analyzer.js.map +1 -1
  5. package/dist/cli/commands/uninstall.d.ts +11 -0
  6. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  7. package/dist/cli/commands/uninstall.js +195 -0
  8. package/dist/cli/commands/uninstall.js.map +1 -0
  9. package/dist/cli/commands/update.d.ts +6 -0
  10. package/dist/cli/commands/update.d.ts.map +1 -0
  11. package/dist/cli/commands/update.js +53 -0
  12. package/dist/cli/commands/update.js.map +1 -0
  13. package/dist/cli/index.d.ts.map +1 -1
  14. package/dist/cli/index.js +7 -1
  15. package/dist/cli/index.js.map +1 -1
  16. package/dist/config/index.d.ts.map +1 -1
  17. package/dist/config/index.js +2 -0
  18. package/dist/config/index.js.map +1 -1
  19. package/dist/i18n/locales/en.json +30 -1
  20. package/dist/i18n/locales/ru.json +30 -1
  21. package/dist/i18n/locales/zh.json +32 -3
  22. package/dist/mcp/server.js +2 -1
  23. package/dist/mcp/server.js.map +1 -1
  24. package/dist/metrics/complexity/cognitive.d.ts +5 -7
  25. package/dist/metrics/complexity/cognitive.d.ts.map +1 -1
  26. package/dist/metrics/complexity/cognitive.js +19 -27
  27. package/dist/metrics/complexity/cognitive.js.map +1 -1
  28. package/dist/metrics/complexity/cyclomatic.d.ts +5 -7
  29. package/dist/metrics/complexity/cyclomatic.d.ts.map +1 -1
  30. package/dist/metrics/complexity/cyclomatic.js +19 -34
  31. package/dist/metrics/complexity/cyclomatic.js.map +1 -1
  32. package/dist/metrics/complexity/nesting-depth.d.ts +5 -7
  33. package/dist/metrics/complexity/nesting-depth.d.ts.map +1 -1
  34. package/dist/metrics/complexity/nesting-depth.js +19 -24
  35. package/dist/metrics/complexity/nesting-depth.js.map +1 -1
  36. package/dist/metrics/index.d.ts +3 -2
  37. package/dist/metrics/index.d.ts.map +1 -1
  38. package/dist/metrics/index.js +8 -8
  39. package/dist/metrics/index.js.map +1 -1
  40. package/dist/metrics/naming/convention.d.ts.map +1 -1
  41. package/dist/metrics/naming/convention.js +4 -0
  42. package/dist/metrics/naming/convention.js.map +1 -1
  43. package/dist/metrics/size/file-length.d.ts +5 -7
  44. package/dist/metrics/size/file-length.d.ts.map +1 -1
  45. package/dist/metrics/size/file-length.js +18 -23
  46. package/dist/metrics/size/file-length.js.map +1 -1
  47. package/dist/metrics/size/function-length.d.ts +5 -8
  48. package/dist/metrics/size/function-length.d.ts.map +1 -1
  49. package/dist/metrics/size/function-length.js +19 -25
  50. package/dist/metrics/size/function-length.js.map +1 -1
  51. package/dist/metrics/size/parameter-count.d.ts +5 -7
  52. package/dist/metrics/size/parameter-count.d.ts.map +1 -1
  53. package/dist/metrics/size/parameter-count.js +19 -24
  54. package/dist/metrics/size/parameter-count.js.map +1 -1
  55. package/dist/metrics/thresholds/language-thresholds.d.ts +30 -0
  56. package/dist/metrics/thresholds/language-thresholds.d.ts.map +1 -0
  57. package/dist/metrics/thresholds/language-thresholds.js +247 -0
  58. package/dist/metrics/thresholds/language-thresholds.js.map +1 -0
  59. package/dist/parser/tree-sitter-parser.d.ts.map +1 -1
  60. package/dist/parser/tree-sitter-parser.js +128 -0
  61. package/dist/parser/tree-sitter-parser.js.map +1 -1
  62. package/dist/parser/types.d.ts +1 -1
  63. package/dist/parser/types.d.ts.map +1 -1
  64. package/dist/parser/types.js +10 -0
  65. package/dist/parser/types.js.map +1 -1
  66. package/dist/version.d.ts +6 -0
  67. package/dist/version.d.ts.map +1 -0
  68. package/dist/version.js +6 -0
  69. package/dist/version.js.map +1 -0
  70. package/package.json +1 -1
package/README.md CHANGED
@@ -7,7 +7,7 @@ A tool designed to **expose shitty code quality** with sharp but humorous feedba
7
7
 
8
8
  ## Features
9
9
 
10
- * **Multi-language support**: Go, JavaScript, TypeScript, Python, Java, C, C++, Rust, C#, Lua
10
+ * **Multi-language support**: Go, JavaScript, TypeScript, Python, Java, C, C++, Rust, C#, Lua, PHP, Ruby, Swift, Shell (14 languages)
11
11
  * **Overall Score**: 0~100, higher = better code quality
12
12
  * **Shit-Gas Index**: Per-file score, higher = worse code
13
13
  * **Seven quality checks**: Complexity / Size / Comments / Error handling / Naming / Duplication / Structure
@@ -24,7 +24,7 @@ A tool designed to **expose shitty code quality** with sharp but humorous feedba
24
24
  ## Installation
25
25
 
26
26
  ```bash
27
- npm install -g fuck-u-code
27
+ npm install -g eff-u-code
28
28
  ```
29
29
 
30
30
  Or build from source:
@@ -97,6 +97,32 @@ fuck-u-code config set ai.model gpt-4o # Set AI model
97
97
  fuck-u-code config set ai.apiKey sk-xxx # Set API key
98
98
  ```
99
99
 
100
+ ### Update
101
+
102
+ Update eff-u-code to the latest version:
103
+
104
+ ```bash
105
+ fuck-u-code update # Update to latest version
106
+ ```
107
+
108
+ This will:
109
+ - Check current installed version
110
+ - Check latest version on npm
111
+ - Auto-install the latest version globally
112
+
113
+ ### Uninstall
114
+
115
+ Remove fuck-u-code and clean up all local files:
116
+
117
+ ```bash
118
+ fuck-u-code uninstall # Remove global config, MCP entries, and npm package
119
+ ```
120
+
121
+ This will remove:
122
+ - Global config file (`~/.fuckucoderc.json`)
123
+ - MCP server entries (Claude Code, Cursor)
124
+ - Global npm package (`eff-u-code`)
125
+
100
126
  ## Configuration File
101
127
 
102
128
  Auto-discovered from project directory upward, then falls back to global `~/.fuckucoderc.json`.
@@ -175,7 +201,7 @@ fuck-u-code provides an MCP (Model Context Protocol) Server, allowing AI tools l
175
201
 
176
202
  ```bash
177
203
  # Global install
178
- npm install -g fuck-u-code
204
+ npm install -g eff-u-code
179
205
 
180
206
  # Auto-configure (interactive)
181
207
  fuck-u-code mcp-install
@@ -216,7 +242,7 @@ fuck-u-code mcp-install cursor
216
242
  "mcpServers": {
217
243
  "fuck-u-code": {
218
244
  "command": "npx",
219
- "args": ["-y", "fuck-u-code-mcp"]
245
+ "args": ["-y", "eff-u-code-mcp"]
220
246
  }
221
247
  }
222
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"concurrent-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzer/concurrent-analyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA0B/B"}
1
+ {"version":3,"file":"concurrent-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzer/concurrent-analyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyB/B"}
@@ -15,12 +15,11 @@ const MAX_FILE_SIZE_KB = 500;
15
15
  export async function analyzeFilesConcurrently(files, config, onProgress) {
16
16
  const concurrency = config.concurrency || 8;
17
17
  const limit = pLimit(concurrency);
18
- const metrics = createMetrics(config);
19
18
  let completed = 0;
20
19
  const total = files.length;
21
20
  const tasks = files.map((file) => limit(async () => {
22
21
  try {
23
- const result = await analyzeFile(file, metrics, config);
22
+ const result = await analyzeFile(file, config);
24
23
  completed++;
25
24
  onProgress?.(completed, total);
26
25
  return result;
@@ -38,7 +37,7 @@ export async function analyzeFilesConcurrently(files, config, onProgress) {
38
37
  /**
39
38
  * Analyze a single file
40
39
  */
41
- async function analyzeFile(file, metrics, config) {
40
+ async function analyzeFile(file, config) {
42
41
  // Check file size
43
42
  const fileSize = await getFileSize(file.absolutePath);
44
43
  const fileSizeKB = Math.round(fileSize / 1024);
@@ -53,6 +52,8 @@ async function analyzeFile(file, metrics, config) {
53
52
  const parseResult = await parser.parse(file.absolutePath, content);
54
53
  // Add content to parse result for metrics that need it
55
54
  parseResult.content = content;
55
+ // Create language-specific metrics
56
+ const metrics = createMetrics(config, parseResult.language);
56
57
  // Calculate metrics
57
58
  const metricResults = metrics.map((metric) => metric.calculate(parseResult));
58
59
  // Calculate overall score
@@ -1 +1 @@
1
- {"version":3,"file":"concurrent-analyzer.js","sourceRoot":"","sources":["../../src/analyzer/concurrent-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"concurrent-analyzer.js","sourceRoot":"","sources":["../../src/analyzer/concurrent-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Uninstall command
3
+ *
4
+ * Removes fuck-u-code related files from local system:
5
+ * - Global config file (~/.fuckucoderc.json)
6
+ * - MCP server entries from Claude Code and Cursor configs
7
+ * - Global npm package (eff-u-code)
8
+ */
9
+ import { Command } from 'commander';
10
+ export declare function createUninstallCommand(): Command;
11
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6IpC,wBAAgB,sBAAsB,IAAI,OAAO,CAkFhD"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Uninstall command
3
+ *
4
+ * Removes fuck-u-code related files from local system:
5
+ * - Global config file (~/.fuckucoderc.json)
6
+ * - MCP server entries from Claude Code and Cursor configs
7
+ * - Global npm package (eff-u-code)
8
+ */
9
+ import { Command } from 'commander';
10
+ import { join } from 'node:path';
11
+ import { homedir } from 'node:os';
12
+ import { readFile, writeFile, unlink } from 'node:fs/promises';
13
+ import { exists } from '../../utils/fs.js';
14
+ import { t } from '../../i18n/index.js';
15
+ import chalk from 'chalk';
16
+ import inquirer from 'inquirer';
17
+ import { exec } from 'node:child_process';
18
+ import { promisify } from 'node:util';
19
+ const execAsync = promisify(exec);
20
+ async function removeGlobalConfig() {
21
+ try {
22
+ const configPath = join(homedir(), '.fuckucoderc.json');
23
+ if (await exists(configPath)) {
24
+ await unlink(configPath);
25
+ return true;
26
+ }
27
+ return false;
28
+ }
29
+ catch (error) {
30
+ throw new Error(`Failed to remove config: ${error instanceof Error ? error.message : String(error)}`);
31
+ }
32
+ }
33
+ async function removeMcpFromConfig(configPath) {
34
+ try {
35
+ if (!(await exists(configPath))) {
36
+ return false;
37
+ }
38
+ const content = await readFile(configPath, 'utf-8');
39
+ let config;
40
+ try {
41
+ config = JSON.parse(content);
42
+ }
43
+ catch {
44
+ throw new Error(`Invalid JSON in ${configPath}`);
45
+ }
46
+ if (config.mcpServers?.['fuck-u-code']) {
47
+ delete config.mcpServers['fuck-u-code'];
48
+ await writeFile(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
49
+ return true;
50
+ }
51
+ return false;
52
+ }
53
+ catch (error) {
54
+ throw new Error(`Failed to update ${configPath}: ${error instanceof Error ? error.message : String(error)}`);
55
+ }
56
+ }
57
+ async function uninstallNpmPackage() {
58
+ try {
59
+ const { stderr } = await execAsync('npm uninstall -g eff-u-code');
60
+ if (stderr.includes('not installed')) {
61
+ return false;
62
+ }
63
+ return true;
64
+ }
65
+ catch (error) {
66
+ const errorMsg = error instanceof Error ? error.message : String(error);
67
+ if (errorMsg.includes('not installed') || errorMsg.includes('ERR! 404')) {
68
+ return false;
69
+ }
70
+ throw new Error(`Failed to uninstall npm package: ${errorMsg}`);
71
+ }
72
+ }
73
+ async function performCleanup() {
74
+ const result = {
75
+ globalConfig: false,
76
+ claudeCode: false,
77
+ cursor: false,
78
+ npmPackage: false,
79
+ errors: [],
80
+ };
81
+ // Remove global config
82
+ try {
83
+ result.globalConfig = await removeGlobalConfig();
84
+ }
85
+ catch (error) {
86
+ result.errors.push(error instanceof Error ? error.message : String(error));
87
+ }
88
+ // Remove MCP from Claude Code
89
+ try {
90
+ const claudePath = join(homedir(), '.claude.json');
91
+ result.claudeCode = await removeMcpFromConfig(claudePath);
92
+ }
93
+ catch (error) {
94
+ result.errors.push(error instanceof Error ? error.message : String(error));
95
+ }
96
+ // Remove MCP from Cursor (try multiple possible locations)
97
+ try {
98
+ const cursorPaths = [
99
+ join(process.cwd(), '.cursor', 'mcp.json'),
100
+ join(homedir(), '.cursor', 'mcp.json'),
101
+ ];
102
+ for (const cursorPath of cursorPaths) {
103
+ const removed = await removeMcpFromConfig(cursorPath);
104
+ if (removed) {
105
+ result.cursor = true;
106
+ break;
107
+ }
108
+ }
109
+ }
110
+ catch (error) {
111
+ result.errors.push(error instanceof Error ? error.message : String(error));
112
+ }
113
+ // Uninstall npm package
114
+ try {
115
+ result.npmPackage = await uninstallNpmPackage();
116
+ }
117
+ catch (error) {
118
+ result.errors.push(error instanceof Error ? error.message : String(error));
119
+ }
120
+ return result;
121
+ }
122
+ export function createUninstallCommand() {
123
+ const command = new Command('uninstall');
124
+ command
125
+ .description(t('cmd_uninstall_description'))
126
+ .addHelpText('after', `
127
+ ${t('cli_examples')}
128
+ $ fuck-u-code uninstall # ${t('uninstall_example')}
129
+ `)
130
+ .action(async () => {
131
+ try {
132
+ console.log(chalk.yellow(t('uninstall_warning')));
133
+ console.log(chalk.gray(t('uninstall_items')));
134
+ console.log(chalk.gray(' - ' + t('uninstall_item_config')));
135
+ console.log(chalk.gray(' - ' + t('uninstall_item_mcp')));
136
+ console.log(chalk.gray(' - ' + t('uninstall_item_npm')));
137
+ console.log();
138
+ const answer = await inquirer.prompt([
139
+ {
140
+ type: 'confirm',
141
+ name: 'confirm',
142
+ message: t('uninstall_confirm'),
143
+ default: false,
144
+ },
145
+ ]);
146
+ if (!answer.confirm) {
147
+ console.log(chalk.yellow(t('uninstall_cancelled')));
148
+ return;
149
+ }
150
+ console.log();
151
+ console.log(chalk.blue(t('uninstall_processing')));
152
+ const result = await performCleanup();
153
+ console.log();
154
+ if (result.globalConfig) {
155
+ console.log(chalk.green('✓ ' + t('uninstall_removed_config')));
156
+ }
157
+ else {
158
+ console.log(chalk.gray('- ' + t('uninstall_no_config')));
159
+ }
160
+ if (result.claudeCode) {
161
+ console.log(chalk.green('✓ ' + t('uninstall_removed_claude')));
162
+ }
163
+ else {
164
+ console.log(chalk.gray('- ' + t('uninstall_no_claude')));
165
+ }
166
+ if (result.cursor) {
167
+ console.log(chalk.green('✓ ' + t('uninstall_removed_cursor')));
168
+ }
169
+ else {
170
+ console.log(chalk.gray('- ' + t('uninstall_no_cursor')));
171
+ }
172
+ if (result.npmPackage) {
173
+ console.log(chalk.green('✓ ' + t('uninstall_removed_npm')));
174
+ }
175
+ else {
176
+ console.log(chalk.gray('- ' + t('uninstall_no_npm')));
177
+ }
178
+ if (result.errors.length > 0) {
179
+ console.log();
180
+ console.log(chalk.yellow('⚠️ Some operations failed:'));
181
+ for (const error of result.errors) {
182
+ console.log(chalk.yellow(' - ' + error));
183
+ }
184
+ }
185
+ console.log();
186
+ console.log(chalk.green(t('uninstall_complete')));
187
+ }
188
+ catch (error) {
189
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
190
+ process.exit(1);
191
+ }
192
+ });
193
+ return command;
194
+ }
195
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAelC,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACxD,IAAI,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,MAAiB,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAc,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAExC,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,oBAAoB,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAElE,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,MAAM,MAAM,GAAkB;QAC5B,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,uBAAuB;IACvB,IAAI,CAAC;QACH,MAAM,CAAC,YAAY,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC;QACH,MAAM,WAAW,GAAG;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC;YAC1C,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC;SACvC,CAAC;QAEF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC;QACH,MAAM,CAAC,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzC,OAAO;SACJ,WAAW,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;SAC3C,WAAW,CACV,OAAO,EACP;EACJ,CAAC,CAAC,cAAc,CAAC;iCACc,CAAC,CAAC,mBAAmB,CAAC;CACtD,CACI;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAuB;gBACzD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC,CAAC,mBAAmB,CAAC;oBAC/B,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;YAEtC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACzD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Update command - updates eff-u-code to the latest version
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare function createUpdateCommand(): Command;
6
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,mBAAmB,IAAI,OAAO,CAuD7C"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Update command - updates eff-u-code to the latest version
3
+ */
4
+ import { Command } from 'commander';
5
+ import { execSync } from 'node:child_process';
6
+ import { t } from '../../i18n/index.js';
7
+ import chalk from 'chalk';
8
+ export function createUpdateCommand() {
9
+ const command = new Command('update');
10
+ command
11
+ .description(t('cmd_update_description'))
12
+ .addHelpText('after', `
13
+ ${t('cli_examples')}
14
+ $ fuck-u-code update # ${t('cmd_update_example')}
15
+ `)
16
+ .action(() => {
17
+ try {
18
+ console.log(chalk.blue('🔄 ' + t('update_checking')));
19
+ // Get current version
20
+ const currentVersion = execSync('npm list -g eff-u-code --depth=0 --json', {
21
+ encoding: 'utf-8',
22
+ });
23
+ const current = JSON.parse(currentVersion);
24
+ const installedVersion = current.dependencies?.['eff-u-code']?.version ?? 'unknown';
25
+ // Get latest version from npm
26
+ const latestVersionOutput = execSync('npm view eff-u-code version', {
27
+ encoding: 'utf-8',
28
+ }).trim();
29
+ console.log(chalk.gray(`${t('update_current_version')}: ${installedVersion}`));
30
+ console.log(chalk.gray(`${t('update_latest_version')}: ${latestVersionOutput}`));
31
+ if (installedVersion === latestVersionOutput) {
32
+ console.log(chalk.green('✓ ' + t('update_already_latest')));
33
+ return;
34
+ }
35
+ console.log(chalk.yellow('⬆ ' + t('update_updating')));
36
+ // Update the package
37
+ execSync('npm install -g eff-u-code@latest', {
38
+ stdio: 'inherit',
39
+ });
40
+ console.log(chalk.green('✓ ' + t('update_success')));
41
+ console.log(chalk.gray(`${t('update_updated_to')}: ${latestVersionOutput}`));
42
+ }
43
+ catch (error) {
44
+ console.error(chalk.red('✗ ' + t('update_failed')));
45
+ if (error instanceof Error) {
46
+ console.error(chalk.red(error.message));
47
+ }
48
+ process.exit(1);
49
+ }
50
+ });
51
+ return command;
52
+ }
53
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO;SACJ,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;SACxC,WAAW,CACV,OAAO,EACP;EACJ,CAAC,CAAC,cAAc,CAAC;8BACW,CAAC,CAAC,oBAAoB,CAAC;CACpD,CACI;SACA,MAAM,CAAC,GAAG,EAAE;QACX,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAEtD,sBAAsB;YACtB,MAAM,cAAc,GAAG,QAAQ,CAAC,yCAAyC,EAAE;gBACzE,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAkB,CAAC;YAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC;YAEpF,8BAA8B;YAC9B,MAAM,mBAAmB,GAAG,QAAQ,CAAC,6BAA6B,EAAE;gBAClE,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,wBAAwB,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAC,KAAK,mBAAmB,EAAE,CAAC,CAAC,CAAC;YAEjF,IAAI,gBAAgB,KAAK,mBAAmB,EAAE,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAEvD,qBAAqB;YACrB,QAAQ,CAAC,kCAAkC,EAAE;gBAC3C,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,KAAK,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,SAAS,IAAI,OAAO,CA6BnC;AAED,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,SAAS,IAAI,OAAO,CAiCnC;AAED,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCzE"}
package/dist/cli/index.js CHANGED
@@ -6,10 +6,12 @@ import { createAnalyzeCommand } from './commands/analyze.js';
6
6
  import { createAIReviewCommand } from './commands/ai-review.js';
7
7
  import { createConfigCommand } from './commands/config.js';
8
8
  import { createMcpInstallCommand } from './commands/mcp-install.js';
9
+ import { createUninstallCommand } from './commands/uninstall.js';
10
+ import { createUpdateCommand } from './commands/update.js';
9
11
  import { t, setLocale } from '../i18n/index.js';
10
12
  import { loadLocaleFromConfig } from '../config/index.js';
11
13
  import { getSupportedLanguageNames } from '../parser/index.js';
12
- const VERSION = '2.0.0';
14
+ import { VERSION } from '../version.js';
13
15
  const VALID_LOCALES = ['en', 'zh', 'ru'];
14
16
  export function createCLI() {
15
17
  const program = new Command();
@@ -25,6 +27,8 @@ ${t('cli_examples')}
25
27
  $ fuck-u-code analyze . --locale zh # ${t('cli_example_analyze_locale')}
26
28
  $ fuck-u-code ai-review . --model gpt-4o # ${t('cli_example_ai_review')}
27
29
  $ fuck-u-code mcp-install claude # ${t('cli_example_mcp_install')}
30
+ $ fuck-u-code update # ${t('cmd_update_example')}
31
+ $ fuck-u-code uninstall # ${t('uninstall_example')}
28
32
 
29
33
  ${t('cli_supported_languages')}
30
34
  ${getSupportedLanguageNames()}
@@ -33,6 +37,8 @@ ${t('cli_supported_languages')}
33
37
  program.addCommand(createAIReviewCommand());
34
38
  program.addCommand(createConfigCommand());
35
39
  program.addCommand(createMcpInstallCommand());
40
+ program.addCommand(createUpdateCommand());
41
+ program.addCommand(createUninstallCommand());
36
42
  return program;
37
43
  }
38
44
  export async function runCLI(args = process.argv) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAiB/C;;;GAGG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BrE;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyBxE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAgLjF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,OAAO,CAAC,MAAM,CAAM,GAC/B,aAAa,CASf;AAoBD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAiB/C;;;GAGG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BrE;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyBxE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAgLjF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,OAAO,CAAC,MAAM,CAAM,GAC/B,aAAa,CASf;AAsBD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,CAAC"}
@@ -252,6 +252,8 @@ function mergeConfig(base, override) {
252
252
  return {
253
253
  ...base,
254
254
  ...override,
255
+ exclude: override.exclude ?? base.exclude,
256
+ include: override.include ?? base.include,
255
257
  output: { ...base.output, ...override.output },
256
258
  metrics: {
257
259
  ...base.metrics,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -316,5 +316,34 @@
316
316
  "mcp_config_updated": "MCP Server configuration updated in {path}",
317
317
  "mcp_unknown_target": "Unknown target: {target}. Supported: claude, cursor",
318
318
  "mcp_install_example_claude": "Configure for Claude Code",
319
- "mcp_install_example_cursor": "Configure for Cursor"
319
+ "mcp_install_example_cursor": "Configure for Cursor",
320
+ "cmd_uninstall_description": "Remove fuck-u-code from local system",
321
+ "uninstall_example": "Clean up all local files",
322
+ "uninstall_warning": "⚠️ This will remove fuck-u-code from your system",
323
+ "uninstall_items": "The following will be removed:",
324
+ "uninstall_item_config": "Global config file (~/.fuckucoderc.json)",
325
+ "uninstall_item_mcp": "MCP server entries (Claude Code, Cursor)",
326
+ "uninstall_item_npm": "Global npm package (eff-u-code)",
327
+ "uninstall_confirm": "Are you sure you want to proceed?",
328
+ "uninstall_cancelled": "Uninstall cancelled",
329
+ "uninstall_processing": "Removing fuck-u-code...",
330
+ "uninstall_removed_config": "Removed global config file",
331
+ "uninstall_no_config": "No global config file found",
332
+ "uninstall_removed_claude": "Removed MCP entry from Claude Code",
333
+ "uninstall_no_claude": "No MCP entry in Claude Code",
334
+ "uninstall_removed_cursor": "Removed MCP entry from Cursor",
335
+ "uninstall_no_cursor": "No MCP entry in Cursor",
336
+ "uninstall_removed_npm": "Uninstalled global npm package",
337
+ "uninstall_no_npm": "No global npm package found",
338
+ "uninstall_complete": "✓ Uninstall complete. Goodbye!",
339
+ "cmd_update_description": "Update eff-u-code to the latest version",
340
+ "cmd_update_example": "Update to latest version",
341
+ "update_checking": "Checking for updates...",
342
+ "update_current_version": "Current version",
343
+ "update_latest_version": "Latest version",
344
+ "update_already_latest": "Already on the latest version",
345
+ "update_updating": "Updating eff-u-code...",
346
+ "update_success": "Update successful!",
347
+ "update_updated_to": "Updated to version",
348
+ "update_failed": "Update failed"
320
349
  }
@@ -316,5 +316,34 @@
316
316
  "mcp_config_updated": "Конфигурация MCP Server обновлена в {path}",
317
317
  "mcp_unknown_target": "Неизвестная цель: {target}. Поддерживаются: claude, cursor",
318
318
  "mcp_install_example_claude": "Настроить для Claude Code",
319
- "mcp_install_example_cursor": "Настроить для Cursor"
319
+ "mcp_install_example_cursor": "Настроить для Cursor",
320
+ "cmd_uninstall_description": "Удалить fuck-u-code из локальной системы",
321
+ "uninstall_example": "Очистить все локальные файлы",
322
+ "uninstall_warning": "⚠️ Это удалит fuck-u-code из вашей системы",
323
+ "uninstall_items": "Будет удалено следующее:",
324
+ "uninstall_item_config": "Глобальный файл конфигурации (~/.fuckucoderc.json)",
325
+ "uninstall_item_mcp": "Записи MCP-сервера (Claude Code, Cursor)",
326
+ "uninstall_item_npm": "Глобальный npm-пакет (eff-u-code)",
327
+ "uninstall_confirm": "Вы уверены, что хотите продолжить?",
328
+ "uninstall_cancelled": "Удаление отменено",
329
+ "uninstall_processing": "Удаление fuck-u-code...",
330
+ "uninstall_removed_config": "Удален глобальный файл конфигурации",
331
+ "uninstall_no_config": "Глобальный файл конфигурации не найден",
332
+ "uninstall_removed_claude": "Удалена запись MCP из Claude Code",
333
+ "uninstall_no_claude": "Запись MCP в Claude Code не найдена",
334
+ "uninstall_removed_cursor": "Удалена запись MCP из Cursor",
335
+ "uninstall_no_cursor": "Запись MCP в Cursor не найдена",
336
+ "uninstall_removed_npm": "Удален глобальный npm-пакет",
337
+ "uninstall_no_npm": "Глобальный npm-пакет не найден",
338
+ "uninstall_complete": "✓ Удаление завершено. До свидания!",
339
+ "cmd_update_description": "Обновить eff-u-code до последней версии",
340
+ "cmd_update_example": "Обновить до последней версии",
341
+ "update_checking": "Проверка обновлений...",
342
+ "update_current_version": "Текущая версия",
343
+ "update_latest_version": "Последняя версия",
344
+ "update_already_latest": "Уже установлена последняя версия",
345
+ "update_updating": "Обновление eff-u-code...",
346
+ "update_success": "Обновление успешно!",
347
+ "update_updated_to": "Обновлено до версии",
348
+ "update_failed": "Обновление не удалось"
320
349
  }