cfix 1.0.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 (52) hide show
  1. package/.env.example +69 -0
  2. package/README.md +1590 -0
  3. package/bin/cfix +14 -0
  4. package/bin/cfix.cmd +6 -0
  5. package/cli/commands/config.js +58 -0
  6. package/cli/commands/doctor.js +240 -0
  7. package/cli/commands/fix.js +211 -0
  8. package/cli/commands/help.js +62 -0
  9. package/cli/commands/init.js +226 -0
  10. package/cli/commands/logs.js +161 -0
  11. package/cli/commands/monitor.js +151 -0
  12. package/cli/commands/project.js +331 -0
  13. package/cli/commands/service.js +133 -0
  14. package/cli/commands/status.js +115 -0
  15. package/cli/commands/task.js +412 -0
  16. package/cli/commands/version.js +19 -0
  17. package/cli/index.js +269 -0
  18. package/cli/lib/config-manager.js +612 -0
  19. package/cli/lib/formatter.js +224 -0
  20. package/cli/lib/process-manager.js +233 -0
  21. package/cli/lib/service-client.js +271 -0
  22. package/cli/scripts/install-completion.js +133 -0
  23. package/package.json +85 -0
  24. package/public/monitor.html +1096 -0
  25. package/scripts/completion.bash +87 -0
  26. package/scripts/completion.zsh +102 -0
  27. package/src/assets/README.md +32 -0
  28. package/src/assets/error.png +0 -0
  29. package/src/assets/icon.png +0 -0
  30. package/src/assets/success.png +0 -0
  31. package/src/claude-cli-service.js +216 -0
  32. package/src/config/index.js +69 -0
  33. package/src/database/manager.js +391 -0
  34. package/src/database/migration.js +252 -0
  35. package/src/git-service.js +1278 -0
  36. package/src/index.js +1658 -0
  37. package/src/logger.js +139 -0
  38. package/src/metrics/collector.js +184 -0
  39. package/src/middleware/auth.js +86 -0
  40. package/src/middleware/rate-limit.js +85 -0
  41. package/src/queue/integration-example.js +283 -0
  42. package/src/queue/task-queue.js +333 -0
  43. package/src/services/notification-limiter.js +48 -0
  44. package/src/services/notification-service.js +115 -0
  45. package/src/services/system-notifier.js +130 -0
  46. package/src/task-manager.js +289 -0
  47. package/src/utils/exec.js +87 -0
  48. package/src/utils/project-lock.js +246 -0
  49. package/src/utils/retry.js +110 -0
  50. package/src/utils/sanitizer.js +174 -0
  51. package/src/websocket/notifier.js +363 -0
  52. package/src/wechat-notifier.js +97 -0
package/.env.example ADDED
@@ -0,0 +1,69 @@
1
+ # =============================================================================
2
+ # 统一配置系统 v2.0
3
+ # =============================================================================
4
+ # 优先级: 配置文件 (~/.cfix/config.json) > 环境变量 > 默认值
5
+ #
6
+ # 说明:
7
+ # - 配置文件的值会覆盖环境变量
8
+ # - 环境变量会覆盖默认值
9
+ # - 可以通过 CLI 命令修改配置文件: cfix config set <key> <value>
10
+ # =============================================================================
11
+
12
+ # ===== 服务配置 =====
13
+ # 服务端口
14
+ PORT=3008
15
+
16
+ # 工作目录(克隆的项目存放位置)
17
+ WORK_DIR=e:\demo\projects
18
+
19
+ # CORS 跨域配置(可选)
20
+ # * 表示允许所有来源,生产环境建议指定具体域名
21
+ CORS_ORIGIN=*
22
+
23
+ # ===== AI 引擎配置 =====
24
+ # AI 引擎选择(当前仅支持 claude-cli)
25
+ AI_ENGINE=claude-cli
26
+
27
+ # Claude CLI 配置
28
+ CLAUDE_CLI_PATH=claude
29
+ # 权限模式:acceptEdits(自动接受编辑)| ask(询问)| reject(拒绝)
30
+ CLAUDE_PERMISSION_MODE=acceptEdits
31
+ # 允许的工具(空格分隔,支持通配符)
32
+ CLAUDE_ALLOWED_TOOLS=Bash(*) Read(*) Edit(*) Write(*)
33
+ # 是否开启调试模式
34
+ CLAUDE_DEBUG=false
35
+ # 最大对话轮次(防止无限循环)
36
+ MAX_CONVERSATION_TURNS=20
37
+
38
+ # ===== 安全配置 =====
39
+ # API 密钥(可选,启用 API 认证)
40
+ # API_KEY=your-secret-key
41
+
42
+ # IP 白名单(可选,多个 IP 用逗号分隔)
43
+ # ALLOWED_IPS=127.0.0.1,192.168.1.0/24
44
+
45
+ # 请求频率限制(每小时最大请求数)
46
+ RATE_LIMIT_MAX=20
47
+
48
+ # ===== 通知配置 =====
49
+ # 企业微信机器人 Webhook(可选)
50
+ # WECOM_WEBHOOK=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx
51
+
52
+ # 系统通知配置(Windows Toast 通知)
53
+ # 是否启用系统通知(默认关闭)
54
+ SYSTEM_NOTIFICATION_ENABLED=false
55
+
56
+ # ===== 日志配置 =====
57
+ # 日志级别(error, warn, info, debug)
58
+ LOG_LEVEL=info
59
+
60
+ # ===== Redis 配置(可选,用于任务队列)=====
61
+ # REDIS_HOST=localhost
62
+ # REDIS_PORT=6379
63
+ # REDIS_PASSWORD=
64
+
65
+ # ===== 队列配置 =====
66
+ # 最大并发任务数
67
+ QUEUE_MAX_CONCURRENT=3
68
+ # 是否使用 Redis 队列(需要先配置 Redis)
69
+ USE_REDIS_QUEUE=false