@oalacea/daemon 0.6.3 → 0.7.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 (289) hide show
  1. package/README.md +268 -58
  2. package/bin/Dockerfile +158 -16
  3. package/dist/cli/cli.d.ts.map +1 -1
  4. package/dist/cli/cli.js +22 -2
  5. package/dist/cli/cli.js.map +1 -1
  6. package/dist/cli/commands/command.types.d.ts +216 -0
  7. package/dist/cli/commands/command.types.d.ts.map +1 -0
  8. package/dist/cli/commands/command.types.js +64 -0
  9. package/dist/cli/commands/command.types.js.map +1 -0
  10. package/dist/cli/commands/history.command.d.ts +91 -0
  11. package/dist/cli/commands/history.command.d.ts.map +1 -0
  12. package/dist/cli/commands/history.command.js +336 -0
  13. package/dist/cli/commands/history.command.js.map +1 -0
  14. package/dist/cli/commands/index.d.ts +14 -3
  15. package/dist/cli/commands/index.d.ts.map +1 -1
  16. package/dist/cli/commands/index.js +7 -0
  17. package/dist/cli/commands/index.js.map +1 -1
  18. package/dist/cli/commands/init.command.d.ts +12 -14
  19. package/dist/cli/commands/init.command.d.ts.map +1 -1
  20. package/dist/cli/commands/init.command.js +278 -144
  21. package/dist/cli/commands/init.command.js.map +1 -1
  22. package/dist/cli/commands/optimize.command.d.ts +110 -0
  23. package/dist/cli/commands/optimize.command.d.ts.map +1 -0
  24. package/dist/cli/commands/optimize.command.js +497 -0
  25. package/dist/cli/commands/optimize.command.js.map +1 -0
  26. package/dist/cli/commands/report.command.d.ts +110 -0
  27. package/dist/cli/commands/report.command.d.ts.map +1 -0
  28. package/dist/cli/commands/report.command.js +532 -0
  29. package/dist/cli/commands/report.command.js.map +1 -0
  30. package/dist/cli/commands/review.command.d.ts +110 -0
  31. package/dist/cli/commands/review.command.d.ts.map +1 -0
  32. package/dist/cli/commands/review.command.js +520 -0
  33. package/dist/cli/commands/review.command.js.map +1 -0
  34. package/dist/cli/commands/score.command.d.ts +47 -0
  35. package/dist/cli/commands/score.command.d.ts.map +1 -0
  36. package/dist/cli/commands/score.command.js +261 -0
  37. package/dist/cli/commands/score.command.js.map +1 -0
  38. package/dist/cli/utils/index.d.ts +10 -0
  39. package/dist/cli/utils/index.d.ts.map +1 -0
  40. package/dist/cli/utils/index.js +10 -0
  41. package/dist/cli/utils/index.js.map +1 -0
  42. package/dist/cli/utils/output.d.ts +192 -0
  43. package/dist/cli/utils/output.d.ts.map +1 -0
  44. package/dist/cli/utils/output.js +411 -0
  45. package/dist/cli/utils/output.js.map +1 -0
  46. package/dist/cli/utils/progress.d.ts +204 -0
  47. package/dist/cli/utils/progress.d.ts.map +1 -0
  48. package/dist/cli/utils/progress.js +396 -0
  49. package/dist/cli/utils/progress.js.map +1 -0
  50. package/dist/core/types/index.d.ts +1 -0
  51. package/dist/core/types/index.d.ts.map +1 -1
  52. package/dist/core/types/project.types.d.ts +3 -3
  53. package/dist/core/types/project.types.d.ts.map +1 -1
  54. package/dist/core/types/scoring.types.d.ts +301 -0
  55. package/dist/core/types/scoring.types.d.ts.map +1 -0
  56. package/dist/core/types/scoring.types.js +8 -0
  57. package/dist/core/types/scoring.types.js.map +1 -0
  58. package/dist/services/detection/framework-detector.d.ts.map +1 -1
  59. package/dist/services/detection/framework-detector.js +74 -5
  60. package/dist/services/detection/framework-detector.js.map +1 -1
  61. package/dist/services/index.d.ts +12 -0
  62. package/dist/services/index.d.ts.map +1 -1
  63. package/dist/services/index.js +14 -0
  64. package/dist/services/index.js.map +1 -1
  65. package/dist/services/optimization/detectors/bug-detector.d.ts +82 -0
  66. package/dist/services/optimization/detectors/bug-detector.d.ts.map +1 -0
  67. package/dist/services/optimization/detectors/bug-detector.js +443 -0
  68. package/dist/services/optimization/detectors/bug-detector.js.map +1 -0
  69. package/dist/services/optimization/detectors/code-smell-detector.d.ts +108 -0
  70. package/dist/services/optimization/detectors/code-smell-detector.d.ts.map +1 -0
  71. package/dist/services/optimization/detectors/code-smell-detector.js +569 -0
  72. package/dist/services/optimization/detectors/code-smell-detector.js.map +1 -0
  73. package/dist/services/optimization/detectors/index.d.ts +7 -0
  74. package/dist/services/optimization/detectors/index.d.ts.map +1 -0
  75. package/dist/services/optimization/detectors/index.js +7 -0
  76. package/dist/services/optimization/detectors/index.js.map +1 -0
  77. package/dist/services/optimization/detectors/perf-detector.d.ts +80 -0
  78. package/dist/services/optimization/detectors/perf-detector.d.ts.map +1 -0
  79. package/dist/services/optimization/detectors/perf-detector.js +451 -0
  80. package/dist/services/optimization/detectors/perf-detector.js.map +1 -0
  81. package/dist/services/optimization/index.d.ts +61 -0
  82. package/dist/services/optimization/index.d.ts.map +1 -0
  83. package/dist/services/optimization/index.js +69 -0
  84. package/dist/services/optimization/index.js.map +1 -0
  85. package/dist/services/optimization/optimization.service.d.ts +65 -0
  86. package/dist/services/optimization/optimization.service.d.ts.map +1 -0
  87. package/dist/services/optimization/optimization.service.js +511 -0
  88. package/dist/services/optimization/optimization.service.js.map +1 -0
  89. package/dist/services/optimization/optimization.types.d.ts +343 -0
  90. package/dist/services/optimization/optimization.types.d.ts.map +1 -0
  91. package/dist/services/optimization/optimization.types.js +8 -0
  92. package/dist/services/optimization/optimization.types.js.map +1 -0
  93. package/dist/services/optimization/optimizers/code-optimizer.d.ts +87 -0
  94. package/dist/services/optimization/optimizers/code-optimizer.d.ts.map +1 -0
  95. package/dist/services/optimization/optimizers/code-optimizer.js +436 -0
  96. package/dist/services/optimization/optimizers/code-optimizer.js.map +1 -0
  97. package/dist/services/optimization/optimizers/index.d.ts +7 -0
  98. package/dist/services/optimization/optimizers/index.d.ts.map +1 -0
  99. package/dist/services/optimization/optimizers/index.js +7 -0
  100. package/dist/services/optimization/optimizers/index.js.map +1 -0
  101. package/dist/services/optimization/optimizers/perf-optimizer.d.ts +64 -0
  102. package/dist/services/optimization/optimizers/perf-optimizer.d.ts.map +1 -0
  103. package/dist/services/optimization/optimizers/perf-optimizer.js +330 -0
  104. package/dist/services/optimization/optimizers/perf-optimizer.js.map +1 -0
  105. package/dist/services/optimization/optimizers/refact-optimizer.d.ts +82 -0
  106. package/dist/services/optimization/optimizers/refact-optimizer.d.ts.map +1 -0
  107. package/dist/services/optimization/optimizers/refact-optimizer.js +354 -0
  108. package/dist/services/optimization/optimizers/refact-optimizer.js.map +1 -0
  109. package/dist/services/optimization/patterns/anti-patterns.d.ts +31 -0
  110. package/dist/services/optimization/patterns/anti-patterns.d.ts.map +1 -0
  111. package/dist/services/optimization/patterns/anti-patterns.js +501 -0
  112. package/dist/services/optimization/patterns/anti-patterns.js.map +1 -0
  113. package/dist/services/optimization/patterns/index.d.ts +5 -0
  114. package/dist/services/optimization/patterns/index.d.ts.map +1 -0
  115. package/dist/services/optimization/patterns/index.js +5 -0
  116. package/dist/services/optimization/patterns/index.js.map +1 -0
  117. package/dist/services/reporting/export/chart.exporter.d.ts +59 -0
  118. package/dist/services/reporting/export/chart.exporter.d.ts.map +1 -0
  119. package/dist/services/reporting/export/chart.exporter.js +350 -0
  120. package/dist/services/reporting/export/chart.exporter.js.map +1 -0
  121. package/dist/services/reporting/export/index.d.ts +9 -0
  122. package/dist/services/reporting/export/index.d.ts.map +1 -0
  123. package/dist/services/reporting/export/index.js +10 -0
  124. package/dist/services/reporting/export/index.js.map +1 -0
  125. package/dist/services/reporting/export/pdf.exporter.d.ts +133 -0
  126. package/dist/services/reporting/export/pdf.exporter.d.ts.map +1 -0
  127. package/dist/services/reporting/export/pdf.exporter.js +270 -0
  128. package/dist/services/reporting/export/pdf.exporter.js.map +1 -0
  129. package/dist/services/reporting/history.service.d.ts +93 -0
  130. package/dist/services/reporting/history.service.d.ts.map +1 -0
  131. package/dist/services/reporting/history.service.js +285 -0
  132. package/dist/services/reporting/history.service.js.map +1 -0
  133. package/dist/services/reporting/index.d.ts +15 -0
  134. package/dist/services/reporting/index.d.ts.map +1 -0
  135. package/dist/services/reporting/index.js +16 -0
  136. package/dist/services/reporting/index.js.map +1 -0
  137. package/dist/services/reporting/report.service.d.ts +102 -0
  138. package/dist/services/reporting/report.service.d.ts.map +1 -0
  139. package/dist/services/reporting/report.service.js +240 -0
  140. package/dist/services/reporting/report.service.js.map +1 -0
  141. package/dist/services/reporting/reporting.types.d.ts +329 -0
  142. package/dist/services/reporting/reporting.types.d.ts.map +1 -0
  143. package/dist/services/reporting/reporting.types.js +8 -0
  144. package/dist/services/reporting/reporting.types.js.map +1 -0
  145. package/dist/services/reporting/templates/html.template.d.ts +81 -0
  146. package/dist/services/reporting/templates/html.template.d.ts.map +1 -0
  147. package/dist/services/reporting/templates/html.template.js +741 -0
  148. package/dist/services/reporting/templates/html.template.js.map +1 -0
  149. package/dist/services/reporting/templates/json.template.d.ts +85 -0
  150. package/dist/services/reporting/templates/json.template.d.ts.map +1 -0
  151. package/dist/services/reporting/templates/json.template.js +308 -0
  152. package/dist/services/reporting/templates/json.template.js.map +1 -0
  153. package/dist/services/reporting/templates/markdown.template.d.ts +69 -0
  154. package/dist/services/reporting/templates/markdown.template.d.ts.map +1 -0
  155. package/dist/services/reporting/templates/markdown.template.js +311 -0
  156. package/dist/services/reporting/templates/markdown.template.js.map +1 -0
  157. package/dist/services/reporting/trend-analyzer.d.ts +73 -0
  158. package/dist/services/reporting/trend-analyzer.d.ts.map +1 -0
  159. package/dist/services/reporting/trend-analyzer.js +291 -0
  160. package/dist/services/reporting/trend-analyzer.js.map +1 -0
  161. package/dist/services/review/analyzers/dependency-analyzer.d.ts +87 -0
  162. package/dist/services/review/analyzers/dependency-analyzer.d.ts.map +1 -0
  163. package/dist/services/review/analyzers/dependency-analyzer.js +458 -0
  164. package/dist/services/review/analyzers/dependency-analyzer.js.map +1 -0
  165. package/dist/services/review/analyzers/index.d.ts +13 -0
  166. package/dist/services/review/analyzers/index.d.ts.map +1 -0
  167. package/dist/services/review/analyzers/index.js +13 -0
  168. package/dist/services/review/analyzers/index.js.map +1 -0
  169. package/dist/services/review/analyzers/nestjs-analyzer.d.ts +210 -0
  170. package/dist/services/review/analyzers/nestjs-analyzer.d.ts.map +1 -0
  171. package/dist/services/review/analyzers/nestjs-analyzer.js +571 -0
  172. package/dist/services/review/analyzers/nestjs-analyzer.js.map +1 -0
  173. package/dist/services/review/analyzers/performance-analyzer.d.ts +91 -0
  174. package/dist/services/review/analyzers/performance-analyzer.d.ts.map +1 -0
  175. package/dist/services/review/analyzers/performance-analyzer.js +589 -0
  176. package/dist/services/review/analyzers/performance-analyzer.js.map +1 -0
  177. package/dist/services/review/analyzers/security-analyzer.d.ts +96 -0
  178. package/dist/services/review/analyzers/security-analyzer.d.ts.map +1 -0
  179. package/dist/services/review/analyzers/security-analyzer.js +512 -0
  180. package/dist/services/review/analyzers/security-analyzer.js.map +1 -0
  181. package/dist/services/review/analyzers/static-analyzer.d.ts +90 -0
  182. package/dist/services/review/analyzers/static-analyzer.d.ts.map +1 -0
  183. package/dist/services/review/analyzers/static-analyzer.js +423 -0
  184. package/dist/services/review/analyzers/static-analyzer.js.map +1 -0
  185. package/dist/services/review/fixers/auto-fixer.d.ts +94 -0
  186. package/dist/services/review/fixers/auto-fixer.d.ts.map +1 -0
  187. package/dist/services/review/fixers/auto-fixer.js +404 -0
  188. package/dist/services/review/fixers/auto-fixer.js.map +1 -0
  189. package/dist/services/review/fixers/index.d.ts +11 -0
  190. package/dist/services/review/fixers/index.d.ts.map +1 -0
  191. package/dist/services/review/fixers/index.js +11 -0
  192. package/dist/services/review/fixers/index.js.map +1 -0
  193. package/dist/services/review/fixers/refactor-suggester.d.ts +100 -0
  194. package/dist/services/review/fixers/refactor-suggester.d.ts.map +1 -0
  195. package/dist/services/review/fixers/refactor-suggester.js +555 -0
  196. package/dist/services/review/fixers/refactor-suggester.js.map +1 -0
  197. package/dist/services/review/fixers/test-generator.d.ts +99 -0
  198. package/dist/services/review/fixers/test-generator.d.ts.map +1 -0
  199. package/dist/services/review/fixers/test-generator.js +458 -0
  200. package/dist/services/review/fixers/test-generator.js.map +1 -0
  201. package/dist/services/review/index.d.ts +14 -0
  202. package/dist/services/review/index.d.ts.map +1 -0
  203. package/dist/services/review/index.js +14 -0
  204. package/dist/services/review/index.js.map +1 -0
  205. package/dist/services/review/reporters/fix-reporter.d.ts +67 -0
  206. package/dist/services/review/reporters/fix-reporter.d.ts.map +1 -0
  207. package/dist/services/review/reporters/fix-reporter.js +437 -0
  208. package/dist/services/review/reporters/fix-reporter.js.map +1 -0
  209. package/dist/services/review/reporters/index.d.ts +10 -0
  210. package/dist/services/review/reporters/index.d.ts.map +1 -0
  211. package/dist/services/review/reporters/index.js +10 -0
  212. package/dist/services/review/reporters/index.js.map +1 -0
  213. package/dist/services/review/reporters/score-reporter.d.ts +84 -0
  214. package/dist/services/review/reporters/score-reporter.d.ts.map +1 -0
  215. package/dist/services/review/reporters/score-reporter.js +560 -0
  216. package/dist/services/review/reporters/score-reporter.js.map +1 -0
  217. package/dist/services/review/review.service.d.ts +129 -0
  218. package/dist/services/review/review.service.d.ts.map +1 -0
  219. package/dist/services/review/review.service.js +396 -0
  220. package/dist/services/review/review.service.js.map +1 -0
  221. package/dist/services/review/review.types.d.ts +443 -0
  222. package/dist/services/review/review.types.d.ts.map +1 -0
  223. package/dist/services/review/review.types.js +11 -0
  224. package/dist/services/review/review.types.js.map +1 -0
  225. package/dist/services/scoring/dimensions/accessibility.analyzer.d.ts +53 -0
  226. package/dist/services/scoring/dimensions/accessibility.analyzer.d.ts.map +1 -0
  227. package/dist/services/scoring/dimensions/accessibility.analyzer.js +260 -0
  228. package/dist/services/scoring/dimensions/accessibility.analyzer.js.map +1 -0
  229. package/dist/services/scoring/dimensions/backend-logic.analyzer.d.ts +138 -0
  230. package/dist/services/scoring/dimensions/backend-logic.analyzer.d.ts.map +1 -0
  231. package/dist/services/scoring/dimensions/backend-logic.analyzer.js +713 -0
  232. package/dist/services/scoring/dimensions/backend-logic.analyzer.js.map +1 -0
  233. package/dist/services/scoring/dimensions/business-logic.analyzer.d.ts +142 -0
  234. package/dist/services/scoring/dimensions/business-logic.analyzer.d.ts.map +1 -0
  235. package/dist/services/scoring/dimensions/business-logic.analyzer.js +747 -0
  236. package/dist/services/scoring/dimensions/business-logic.analyzer.js.map +1 -0
  237. package/dist/services/scoring/dimensions/code-quality.analyzer.d.ts +142 -0
  238. package/dist/services/scoring/dimensions/code-quality.analyzer.d.ts.map +1 -0
  239. package/dist/services/scoring/dimensions/code-quality.analyzer.js +685 -0
  240. package/dist/services/scoring/dimensions/code-quality.analyzer.js.map +1 -0
  241. package/dist/services/scoring/dimensions/index.d.ts +18 -0
  242. package/dist/services/scoring/dimensions/index.d.ts.map +1 -0
  243. package/dist/services/scoring/dimensions/index.js +27 -0
  244. package/dist/services/scoring/dimensions/index.js.map +1 -0
  245. package/dist/services/scoring/dimensions/performance.analyzer.d.ts +125 -0
  246. package/dist/services/scoring/dimensions/performance.analyzer.d.ts.map +1 -0
  247. package/dist/services/scoring/dimensions/performance.analyzer.js +615 -0
  248. package/dist/services/scoring/dimensions/performance.analyzer.js.map +1 -0
  249. package/dist/services/scoring/dimensions/security.analyzer.d.ts +53 -0
  250. package/dist/services/scoring/dimensions/security.analyzer.d.ts.map +1 -0
  251. package/dist/services/scoring/dimensions/security.analyzer.js +327 -0
  252. package/dist/services/scoring/dimensions/security.analyzer.js.map +1 -0
  253. package/dist/services/scoring/dimensions/seo.analyzer.d.ts +77 -0
  254. package/dist/services/scoring/dimensions/seo.analyzer.d.ts.map +1 -0
  255. package/dist/services/scoring/dimensions/seo.analyzer.js +502 -0
  256. package/dist/services/scoring/dimensions/seo.analyzer.js.map +1 -0
  257. package/dist/services/scoring/dimensions/test-coverage.analyzer.d.ts +106 -0
  258. package/dist/services/scoring/dimensions/test-coverage.analyzer.d.ts.map +1 -0
  259. package/dist/services/scoring/dimensions/test-coverage.analyzer.js +496 -0
  260. package/dist/services/scoring/dimensions/test-coverage.analyzer.js.map +1 -0
  261. package/dist/services/scoring/dimensions/ui-ux.analyzer.d.ts +126 -0
  262. package/dist/services/scoring/dimensions/ui-ux.analyzer.d.ts.map +1 -0
  263. package/dist/services/scoring/dimensions/ui-ux.analyzer.js +665 -0
  264. package/dist/services/scoring/dimensions/ui-ux.analyzer.js.map +1 -0
  265. package/dist/services/scoring/index.d.ts +10 -0
  266. package/dist/services/scoring/index.d.ts.map +1 -0
  267. package/dist/services/scoring/index.js +10 -0
  268. package/dist/services/scoring/index.js.map +1 -0
  269. package/dist/services/scoring/scoring-service.d.ts +222 -0
  270. package/dist/services/scoring/scoring-service.d.ts.map +1 -0
  271. package/dist/services/scoring/scoring-service.js +636 -0
  272. package/dist/services/scoring/scoring-service.js.map +1 -0
  273. package/package.json +11 -3
  274. package/templates/README.md +183 -0
  275. package/templates/nestjs/controller.spec.ts +203 -0
  276. package/templates/nestjs/e2e/api.e2e-spec.ts +451 -0
  277. package/templates/nestjs/e2e/auth.e2e-spec.ts +533 -0
  278. package/templates/nestjs/fixtures/test-module.ts +311 -0
  279. package/templates/nestjs/guard.spec.ts +314 -0
  280. package/templates/nestjs/interceptor.spec.ts +458 -0
  281. package/templates/nestjs/module.spec.ts +173 -0
  282. package/templates/nestjs/pipe.spec.ts +474 -0
  283. package/templates/nestjs/service.spec.ts +296 -0
  284. package/templates/rust/Cargo.toml +72 -0
  285. package/templates/rust/actix-controller.test.rs +114 -0
  286. package/templates/rust/axum-handler.test.rs +117 -0
  287. package/templates/rust/integration.test.rs +63 -0
  288. package/templates/rust/rocket-route.test.rs +106 -0
  289. package/templates/rust/unit.test.rs +38 -0
package/README.md CHANGED
@@ -5,8 +5,9 @@
5
5
  [![CI](https://github.com/Pamacea/daemon/actions/workflows/ci.yml/badge.svg)](https://github.com/Pamacea/daemon/actions)
6
6
 
7
7
 
8
+ > AI-powered automated test generation and code review for web applications.
8
9
 
9
- AI-powered automated test generation and remediation for web applications.
10
+ **v0.7.0** Rust support, NestJS analysis, Scoring system, and more!
10
11
 
11
12
  ## Quick Start
12
13
 
@@ -22,6 +23,16 @@ First run installs the testing toolkit (~500 MB Docker image, takes 2-3 minutes)
22
23
  - **Docker** - [Install](https://docs.docker.com/get-docker/)
23
24
  - **AI coding agent** - Claude Code, Cursor, Windsurf, Aider, Codex...
24
25
 
26
+ ## New in v0.7.0
27
+
28
+ | Feature | Description |
29
+ |---------|-------------|
30
+ | 🦀 **Rust Support** | Axum, Actix-web, Rocket frameworks with dedicated templates |
31
+ | 🎯 **NestJS Analysis** | Pattern validation, DI checks, decorator verification |
32
+ | 📊 **Scoring System** | 5-dimension code quality scoring (coverage, quality, performance, security, docs) |
33
+ | 🔍 **Code Review** | Static analysis, security scanning, dependency analysis |
34
+ | 🛠️ **Extended Toolkit** | Rust toolchain, Lighthouse, security tools, accessibility tools |
35
+
25
36
  ## Features
26
37
 
27
38
  | Category | Features |
@@ -31,73 +42,229 @@ First run installs the testing toolkit (~500 MB Docker image, takes 2-3 minutes)
31
42
  | **E2E Tests** | User flows, form interactions, navigation (Playwright) |
32
43
  | **Backend Performance** | API load testing (k6), DB query benchmarks |
33
44
  | **Frontend Performance** | Core Web Vitals, LCP, FID, CLS (Lighthouse) |
34
- | **Dependency Analysis** | TanStack Router, React Query, Prisma, Zustand, React Compiler |
45
+ | **Code Quality** | ESLint, TypeScript, complexity analysis |
46
+ | **Security** | Snyk, npm audit, dependency vulnerabilities |
47
+ | **Accessibility** | Pa11y, axe-core CI integration |
48
+ | **Rust Support** | Axum, Actix, Rocket templates and tests |
49
+ | **NestJS Support** | Controllers, services, guards, pipes, interceptors |
35
50
 
36
51
  ## How It Works
37
52
 
38
- 1. **Analyze** - Auto-detects your framework, database, and existing tests
39
- 2. **Generate** - Creates tests based on your code patterns
40
- 3. **Execute** - Runs tests inside Docker container
41
- 4. **Fix** - Analyzes failures and applies corrections
42
- 5. **Report** - Provides comprehensive coverage and performance report
53
+ ```
54
+ ┌─────────────────────────────────────────────────────────────┐
55
+ │ Daemon Workflow │
56
+ ├─────────────────────────────────────────────────────────────┤
57
+ │ │
58
+ │ 1. DETECT Auto-detect framework, database, language │
59
+ │ ↓ │
60
+ │ 2. ANALYZE Static analysis, security scan, dependencies │
61
+ │ ↓ │
62
+ │ 3. SCORE 5-dimension quality scoring │
63
+ │ ↓ │
64
+ │ 4. GENERATE Framework-specific test templates │
65
+ │ ↓ │
66
+ │ 5. EXECUTE Run tests in Docker container │
67
+ │ ↓ │
68
+ │ 6. FIX Auto-fix applicable issues │
69
+ │ ↓ │
70
+ │ 7. REPORT Comprehensive coverage and quality report │
71
+ │ │
72
+ └─────────────────────────────────────────────────────────────┘
73
+ ```
74
+
75
+ ## Available Commands
76
+
77
+ ```bash
78
+ # Full analysis with scoring and test generation
79
+ npx @oalacea/daemon
80
+
81
+ # Code review with detailed report
82
+ npx @oalacea/daemon review
43
83
 
44
- ## Included Tools
84
+ # Quality score only
85
+ npx @oalacea/daemon score
45
86
 
46
- The Docker toolkit includes:
87
+ # Generate tests only
88
+ npx @oalacea/daemon test
47
89
 
48
- | Category | Tools |
49
- |----------|-------|
50
- | Testing | Vitest, @testing-library/react, @testing-library/vue, @testing-library/svelte, @solidjs/testing-library, happy-dom |
51
- | E2E | Playwright (Chromium) |
52
- | Backend Performance | k6 (load testing) |
53
- | Frontend Performance | Lighthouse (Core Web Vitals) |
54
- | Utilities | supertest, MSW, @prisma/cli |
90
+ # Docker container commands
91
+ docker exec daemon-tools vitest run
92
+ docker exec daemon-tools playwright test
93
+ docker exec daemon-tools k6 run performance/test.js
94
+ ```
55
95
 
56
96
  ## Framework Support
57
97
 
58
- | Framework | Detection | Status |
59
- |-----------|-----------|--------|
60
- | Next.js | ✅ | Full support |
61
- | Remix | ✅ | Full support |
62
- | SvelteKit | ✅ | Full support |
63
- | Nuxt | ✅ | Full support |
64
- | Astro | ✅ | Full support |
65
- | Gatsby | ✅ | Full support |
66
- | Vite | ✅ | Full support |
67
- | Solid | ✅ | Full support |
68
- | Vue | ✅ | Full support |
69
- | Svelte | ✅ | Full support |
70
- | Angular | ✅ | Full support |
71
- | React Native | ✅ | Basic support |
72
- | Express | ✅ | Full support |
73
- | NestJS | ✅ | Full support |
98
+ | Framework | Detection | Unit | Integration | E2E | Score | Review |
99
+ |-----------|-----------|------|-------------|-----|-------|--------|
100
+ | **Next.js** | ✅ | | | ✅ | ✅ | ✅ |
101
+ | **Remix** | ✅ | | | ✅ | ✅ | ✅ |
102
+ | **SvelteKit** | ✅ | | | ✅ | ✅ | ✅ |
103
+ | **Nuxt** | ✅ | | | ✅ | ✅ | ✅ |
104
+ | **Astro** | ✅ | | | ✅ | ✅ | ✅ |
105
+ | **Vite + React** | ✅ | | | ✅ | ✅ | ✅ |
106
+ | **Vite + Vue** | ✅ | | | ✅ | ✅ | ✅ |
107
+ | **Vite + Svelte** | ✅ | | | ✅ | ✅ | ✅ |
108
+ | **Angular** | ✅ | | | ✅ | ✅ | ✅ |
109
+ | **Solid** | ✅ | | | ✅ | ✅ | ✅ |
110
+ | **Express** | ✅ | | | ✅ | ✅ | ✅ |
111
+ | **Fastify** | | ✅ | | | ✅ | ✅ |
112
+ | **NestJS** | ✅ | | | ✅ | ✅ | ✅ |
113
+ | **Axum** | ✅ | | | ✅ | ✅ | ✅ |
114
+ | **Actix-web** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
115
+ | **Rocket** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
116
+
117
+ ## Toolkit Tools
118
+
119
+ The Docker container includes 50+ tools:
120
+
121
+ ### Testing
122
+ - **Vitest** - Fast unit test runner
123
+ - **Playwright** - E2E testing (Chromium, Firefox)
124
+ - **@testing-library/*** - Component testing
125
+ - **k6** - Load testing
126
+ - **supertest** - HTTP assertions
127
+ - **MSW** - API mocking
128
+
129
+ ### Code Quality
130
+ - **ESLint** - JavaScript/TypeScript linting
131
+ - **Prettier** - Code formatting
132
+ - **TypeScript** - Type checking
133
+
134
+ ### Performance
135
+ - **Lighthouse** - Web vitals
136
+ - **Clinic** - Node.js profiling
137
+ - **k6** - Load testing
138
+
139
+ ### Security
140
+ - **Snyk** - Dependency scanning
141
+ - **npm audit** - Security audit
142
+
143
+ ### Accessibility
144
+ - **Pa11y** - Accessibility testing
145
+ - **axe-core** - A11y validation
146
+
147
+ ### Rust Toolchain
148
+ - **rustc, cargo** - Compiler and package manager
149
+ - **rustfmt** - Code formatter
150
+ - **clippy** - Linter
151
+ - **cargo-nextest** - Parallel test runner
152
+ - **cargo-audit** - Security audit
74
153
 
75
154
  ## Output Example
76
155
 
77
156
  ```
78
- ✓ Unit Tests: 45 created, 42 passing, 3 fixed
79
- Integration: 12 created, 12 passing
80
- ✓ E2E: 8 created, 7 passing, 1 requires manual review
81
- ✓ Backend Performance: API p95 = 145ms (PASS)
82
- ✓ Frontend Performance: Lighthouse 85/100 (PASS)
83
- - LCP: 2.1s ✓ (target: <2.5s)
84
- - FID: 56ms ✓ (target: <100ms)
85
- - CLS: 0.05 ✓ (target: <0.1)
86
- ✓ Dependencies: 3 improvements suggested
87
-
88
- ## Summary
89
- Total Tests: 245
90
- Passing: 238
91
- Failing: 2 (requires manual review)
92
- Coverage: 84%
157
+ ╔═══════════════════════════════════════════════════════════╗
158
+ ║ DAEMON REPORT v0.7.0 ║
159
+ ╠═══════════════════════════════════════════════════════════╣
160
+ ║ ║
161
+ ║ Framework: Next.js 14 ║
162
+ Language: TypeScript ║
163
+ Test Runner: Vitest ║
164
+ ║ ║
165
+ ║ ┌─────────────────────────────────────────────────────┐ ║
166
+ ║ │ QUALITY SCORE │ ║
167
+ ║ │ Overall: 82/100 (B) │ ║
168
+ ║ │ │ ║
169
+ ║ │ Coverage ████████████████░░ 85/100 │ ║
170
+ ║ │ Quality ██████████████░░░░ 78/100 │ ║
171
+ ║ │ Performance ████████████████░░ 88/100 │ ║
172
+ ║ │ Security ████████████░░░░░░ 75/100 │ ║
173
+ ║ │ Docs ██████████░░░░░░░░ 70/100 │ ║
174
+ ║ └─────────────────────────────────────────────────────┘ ║
175
+ ║ ║
176
+ ║ ┌─────────────────────────────────────────────────────┐ ║
177
+ ║ │ TESTS GENERATED │ ║
178
+ ║ │ ✓ Unit: 45 created, 42 passing, 3 fixed │ ║
179
+ ║ │ ✓ Integration: 12 created, 12 passing │ ║
180
+ ║ │ ✓ E2E: 8 created, 7 passing, 1 manual review │ ║
181
+ ║ └─────────────────────────────────────────────────────┘ ║
182
+ ║ ║
183
+ ║ ┌─────────────────────────────────────────────────────┐ ║
184
+ ║ │ PERFORMANCE │ ║
185
+ ║ │ ✓ Backend: p95 = 145ms (PASS < 500ms) │ ║
186
+ ║ │ ✓ Frontend: Lighthouse 85/100 │ ║
187
+ ║ │ - LCP: 2.1s ✓ (target: <2.5s) │ ║
188
+ ║ │ - FID: 56ms ✓ (target: <100ms) │ ║
189
+ ║ │ - CLS: 0.05 ✓ (target: <0.1) │ ║
190
+ ║ └─────────────────────────────────────────────────────┘ ║
191
+ ║ ║
192
+ ║ ┌─────────────────────────────────────────────────────┐ ║
193
+ ║ │ CODE REVIEW ISSUES │ ║
194
+ ║ │ 🔴 Critical: 3 | 🟠 High: 8 │ ║
195
+ ║ │ 🟡 Medium: 15 | 🟢 Low: 16 │ ║
196
+ ║ │ Fixable: 28 | Auto-fix available: --fix flag │ ║
197
+ ║ └─────────────────────────────────────────────────────┘ ║
198
+ ║ ║
199
+ ║ Total Tests: 245 ║
200
+ ║ Passing: 238 ║
201
+ ║ Failing: 2 (requires manual review) ║
202
+ ║ Coverage: 84% ║
203
+ ╚═══════════════════════════════════════════════════════════╝
204
+ ```
205
+
206
+ ## Configuration
207
+
208
+ Create `daemon.config.js` in your project root:
209
+
210
+ ```javascript
211
+ // daemon.config.js
212
+ export default {
213
+ scoring: {
214
+ weights: {
215
+ coverage: 0.30,
216
+ quality: 0.25,
217
+ performance: 0.20,
218
+ security: 0.15,
219
+ documentation: 0.10,
220
+ },
221
+ thresholds: {
222
+ coverage: { excellent: 80, good: 60 },
223
+ performance: { lighthouse: 85 },
224
+ },
225
+ },
226
+
227
+ review: {
228
+ analyzers: ['static', 'security', 'dependencies', 'nestjs', 'rust'],
229
+ exclude: ['node_modules/**', 'dist/**'],
230
+ autoFix: { enabled: false },
231
+ },
232
+
233
+ nestjs: {
234
+ analyzeModules: true,
235
+ checkCircularDeps: true,
236
+ checkSingleResponsibility: true,
237
+ maxDependencies: 5,
238
+ },
239
+
240
+ rust: {
241
+ framework: 'axum', // or 'actix', 'rocket'
242
+ testRunner: 'cargo-nextest',
243
+ },
244
+
245
+ docker: {
246
+ image: 'daemon-tools:0.7.0',
247
+ keepRunning: false,
248
+ },
249
+ };
93
250
  ```
94
251
 
252
+ ## Documentation
253
+
254
+ - [**Scoring System**](docs/scoring.md) - How code quality is measured
255
+ - [**Code Review**](docs/review.md) - Review workflow and options
256
+ - [**Rust Support**](docs/rust-support.md) - Rust frameworks and templates
257
+ - [**NestJS Support**](docs/nestjs-support.md) - NestJS patterns and best practices
258
+ - [**Templates**](templates/README.md) - Available test templates
259
+ - [**Docker**](bin/README.md) - Container tools and usage
260
+
95
261
  ## Safety
96
262
 
97
- - Always use transaction rollback for database tests
98
- - Never modify production data
99
- - Git integration for safe rollbacks
100
- - Non-destructive testing modes available
263
+ - Transaction rollback for database tests
264
+ - Never modifies production data
265
+ - Git integration for safe rollbacks
266
+ - Non-destructive testing modes
267
+ - ✅ Dry-run for all fixes
101
268
 
102
269
  ## Troubleshooting
103
270
 
@@ -125,23 +292,66 @@ docker exec daemon-tools npm test -- Button.test.ts --reporter=verbose
125
292
 
126
293
  ```bash
127
294
  # Quick performance check
128
- docker exec daemon-tools npx lighthouse http://host.docker.internal:3000 --output=json --output=html
295
+ docker exec daemon-tools lighthouse http://host.docker.internal:3000
129
296
 
130
297
  # Mobile audit
131
- docker exec daemon-tools npx lighthouse http://host.docker.internal:3000 --form-factor=mobile
298
+ docker exec daemon-tools lighthouse http://host.docker.internal:3000 --form-factor=mobile
132
299
 
133
300
  # All categories
134
- docker exec daemon-tools npx lighthouse http://host.docker.internal:3000 --only-categories=performance,accessibility,best-practices,seo
301
+ docker exec daemon-tools lighthouse http://host.docker.internal:3000 --only-categories=performance,accessibility,best-practices,seo
302
+ ```
303
+
304
+ ### Rust tools
305
+
306
+ ```bash
307
+ # Run Rust tests
308
+ docker exec daemon-tools cargo test
309
+
310
+ # Run clippy
311
+ docker exec daemon-tools cargo clippy
312
+
313
+ # Format code
314
+ docker exec daemon-tools cargo fmt
315
+ ```
316
+
317
+ ## CI/CD Integration
318
+
319
+ ### GitHub Actions
320
+
321
+ ```yaml
322
+ name: Daemon CI
323
+
324
+ on: [pull_request]
325
+
326
+ jobs:
327
+ daemon:
328
+ runs-on: ubuntu-latest
329
+ steps:
330
+ - uses: actions/checkout@v3
331
+ - name: Run Daemon
332
+ run: npx @oalacea/daemon score --min=80
333
+ ```
334
+
335
+ ### GitLab CI
336
+
337
+ ```yaml
338
+ daemon:
339
+ stage: test
340
+ script:
341
+ - npx @oalacea/daemon review --json > report.json
342
+ artifacts:
343
+ reports:
344
+ codequality: report.json
135
345
  ```
136
346
 
137
- ## Related
347
+ ## Related Projects
138
348
 
139
- - **Guardian** - Security testing package: `npx @oalacea/guardian`
349
+ - **Guardian** - Security testing: `npx @oalacea/guardian`
140
350
 
141
351
  ## License
142
352
 
143
- MIT - Use at your own risk.
353
+ MIT Use at your own risk.
144
354
 
145
355
  ## Credits
146
356
 
147
- Inspired by the need for comprehensive automated testing in modern web development.
357
+ Built for modern web development teams who care about code quality.
package/bin/Dockerfile CHANGED
@@ -1,12 +1,32 @@
1
- # Daemon - Testing Tools Container
1
+ # Daemon - Testing Tools Container v0.7.0
2
2
  FROM node:20-slim
3
3
 
4
4
  LABEL maintainer="Yanis"
5
- LABEL description="Daemon - Automated testing tools for web applications"
5
+ LABEL description="Daemon v0.7.0 - Automated testing and quality tools for web applications"
6
+ LABEL version="0.7.0"
6
7
 
7
- # Install system dependencies for Playwright and wget with SSL
8
+ # ============================================================================
9
+ # ENVIRONMENT VARIABLES
10
+ # ============================================================================
11
+ ENV DEBIAN_FRONTEND=noninteractive \
12
+ NODE_ENV=development \
13
+ TZ=Europe/Paris
14
+
15
+ # Rust environment variables
16
+ ENV RUSTUP_HOME=/usr/local/rustup \
17
+ CARGO_HOME=/usr/local/cargo \
18
+ PATH="/usr/local/cargo/bin:${PATH}"
19
+
20
+ # ============================================================================
21
+ # SYSTEM DEPENDENCIES
22
+ # ============================================================================
23
+ # Install system dependencies for Playwright, Rust, and general utilities
8
24
  RUN apt-get update && apt-get install -y --no-install-recommends \
9
25
  ca-certificates \
26
+ curl \
27
+ gcc \
28
+ g++ \
29
+ make \
10
30
  libnss3 \
11
31
  libnspr4 \
12
32
  libatk1.0-0 \
@@ -25,17 +45,42 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
25
45
  libatspi2.0-0 \
26
46
  libxshmfence1 \
27
47
  wget \
28
- && rm -rf /var/lib/apt/lists/*
48
+ build-essential \
49
+ pkg-config \
50
+ libssl-dev \
51
+ && rm -rf /var/lib/apt/lists/* \
52
+ && apt-get clean
29
53
 
30
- # Install Playwright browsers
31
- RUN npx playwright install --with-deps chromium
54
+ # ============================================================================
55
+ # RUST TOOLCHAIN
56
+ # ============================================================================
57
+ # Install Rust with rustup for Rust project testing and compilation
58
+ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
59
+ rustup component add rustfmt clippy rust-analyzer && \
60
+ cargo install cargo-nextest && \
61
+ cargo install cargo-audit && \
62
+ cargo install cargo-watch && \
63
+ chmod -R a+w $RUSTUP_HOME $CARGO_HOME
32
64
 
33
- # Install testing tools globally
65
+ # ============================================================================
66
+ # PLAYWRIGHT BROWSERS
67
+ # ============================================================================
68
+ # Install Playwright browsers for E2E testing
69
+ RUN npx playwright install --with-deps chromium && \
70
+ npx playwright install --with-deps firefox
71
+
72
+ # ============================================================================
73
+ # TESTING FRAMEWORKS
74
+ # ============================================================================
75
+ # Core testing frameworks for JavaScript/TypeScript
34
76
  RUN npm install -g \
35
77
  vitest \
36
78
  @vitest/ui \
37
79
  @playwright/test \
38
- @vitejs/plugin-react \
80
+ @vitejs/plugin-react
81
+
82
+ # Testing libraries for multiple frameworks
83
+ RUN npm install -g \
39
84
  @testing-library/react \
40
85
  @testing-library/jest-dom \
41
86
  @testing-library/user-event \
@@ -45,7 +90,35 @@ RUN npm install -g \
45
90
  @vue/test-utils \
46
91
  happy-dom
47
92
 
48
- # Install k6 for performance testing
93
+ # ============================================================================
94
+ # CODE QUALITY TOOLS
95
+ # ============================================================================
96
+ # ESLint for code linting
97
+ RUN npm install -g \
98
+ eslint \
99
+ @typescript-eslint/parser \
100
+ @typescript-eslint/eslint-plugin \
101
+ eslint-config-prettier \
102
+ eslint-plugin-react \
103
+ eslint-plugin-react-hooks \
104
+ eslint-plugin-vue
105
+
106
+ # Prettier for code formatting
107
+ RUN npm install -g prettier prettier-plugin-tailwindcss
108
+
109
+ # ============================================================================
110
+ # SECURITY TOOLS
111
+ # ============================================================================
112
+ # Security scanning for Node.js dependencies
113
+ RUN npm install -g \
114
+ snyk \
115
+ npm audit \
116
+ @npmcli/arborist
117
+
118
+ # ============================================================================
119
+ # PERFORMANCE TESTING TOOLS
120
+ # ============================================================================
121
+ # Install k6 for load and performance testing
49
122
  ARG TARGETARCH=amd64
50
123
  RUN ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64" || echo "amd64") && \
51
124
  wget -q "https://github.com/grafana/k6/releases/download/v1.5.0/k6-v1.5.0-linux-${ARCH}.tar.gz" -O /tmp/k6.tar.gz && \
@@ -53,23 +126,92 @@ RUN ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64" || echo "amd64") && \
53
126
  mv /tmp/k6-v1.5.0-linux-${ARCH}/k6 /usr/local/bin/ && \
54
127
  rm -rf /tmp/k6.tar.gz /tmp/k6-v1.5.0-linux-${ARCH}
55
128
 
56
- # Install additional tools
129
+ # Performance analysis tools
130
+ RUN npm install -g clinic lighthouse
131
+
132
+ # ============================================================================
133
+ # ACCESSIBILITY TESTING TOOLS
134
+ # ============================================================================
135
+ # Accessibility testing and validation
136
+ RUN npm install -g \
137
+ pa11y \
138
+ pa11y-ci \
139
+ @axe-core/cli
140
+
141
+ # ============================================================================
142
+ # API TESTING AND MOCKING
143
+ # ============================================================================
144
+ # API testing utilities
57
145
  RUN npm install -g \
58
146
  supertest \
59
147
  msw \
148
+ axios \
149
+ got
150
+
151
+ # ============================================================================
152
+ # DATABASE TOOLS
153
+ # ============================================================================
154
+ # Database ORM and CLI tools
155
+ RUN npm install -g \
60
156
  prisma \
61
- lighthouse
157
+ @prisma/client
158
+
159
+ # ============================================================================
160
+ # REPORTING AND OUTPUT TOOLS
161
+ # ============================================================================
162
+ # Report generation utilities
163
+ RUN npm install -g \
164
+ cli-table3 \
165
+ chalk \
166
+ ora \
167
+ listr2 \
168
+ boxen
62
169
 
170
+ # ============================================================================
171
+ # ADDITIONAL UTILITIES
172
+ # ============================================================================
173
+ # Various development utilities
174
+ RUN npm install -g \
175
+ rimraf \
176
+ cross-env \
177
+ nodemon \
178
+ tsx \
179
+ ts-node \
180
+ typescript
181
+
182
+ # Clean up npm cache to reduce image size
183
+ RUN npm cache clean --force
184
+
185
+ # ============================================================================
186
+ # USER SETUP
187
+ # ============================================================================
63
188
  # Create non-root user for security
64
189
  # Use UID 1001 to avoid conflict with existing node user (UID 1000)
65
- # Check if 'daemon' user exists first (node:20-slim already has it)
66
190
  RUN id -u daemon >/dev/null 2>&1 || useradd -m -u 1001 -s /bin/bash daemon && \
67
- mkdir -p /app && \
68
- chown -R daemon:daemon /app
191
+ mkdir -p /app /home/daemon/.local/bin && \
192
+ chown -R daemon:daemon /app /home/daemon
193
+
194
+ # ============================================================================
195
+ # WORKING DIRECTORY
196
+ # ============================================================================
197
+ WORKDIR /app
198
+
199
+ # Copy entrypoint script
200
+ COPY docker-entrypoint.sh /usr/local/bin/
201
+ RUN chmod +x /usr/local/bin/docker-entrypoint.sh
69
202
 
70
203
  # Switch to non-root user
71
204
  USER daemon
72
- WORKDIR /app
73
205
 
74
- # Keep container alive for docker exec
206
+ # Expose common ports
207
+ EXPOSE 9323 3000 5173 8080
208
+
209
+ # Health check
210
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
211
+ CMD node -e "console.log('healthy')" || exit 1
212
+
213
+ # Use entrypoint script
214
+ ENTRYPOINT ["docker-entrypoint.sh"]
215
+
216
+ # Default command - keep container alive
75
217
  CMD ["sleep", "infinity"]
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":";AACA;;;;GAIG;AASH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8D;;IASvF;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0DxC;;OAEG;IACH,OAAO,CAAC,QAAQ;IA+BhB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,UAAU;CAQf"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAcH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8D;;IAcvF;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0DxC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAyChB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,UAAU;CAQf"}
package/dist/cli/cli.js CHANGED
@@ -8,6 +8,11 @@ import { createLogger } from '../shared/utils/logger.js';
8
8
  import { InitCommand } from './commands/init.command.js';
9
9
  import { DetectCommand } from './commands/detect.command.js';
10
10
  import { TestCommand } from './commands/test.command.js';
11
+ import { ScoreCommand } from './commands/score.command.js';
12
+ import { ReviewCommand } from './commands/review.command.js';
13
+ import { OptimizeCommand } from './commands/optimize.command.js';
14
+ import { ReportCommand } from './commands/report.command.js';
15
+ import { HistoryCommand } from './commands/history.command.js';
11
16
  const logger = createLogger('DaemonCli');
12
17
  /**
13
18
  * Main CLI class for Daemon
@@ -21,6 +26,11 @@ export class DaemonCli {
21
26
  this.commands.set('init', new InitCommand());
22
27
  this.commands.set('detect', new DetectCommand());
23
28
  this.commands.set('test', new TestCommand());
29
+ this.commands.set('score', new ScoreCommand());
30
+ this.commands.set('review', new ReviewCommand());
31
+ this.commands.set('optimize', new OptimizeCommand());
32
+ this.commands.set('report', new ReportCommand());
33
+ this.commands.set('history', new HistoryCommand());
24
34
  }
25
35
  /**
26
36
  * Run the CLI with provided arguments
@@ -58,7 +68,7 @@ export class DaemonCli {
58
68
  return;
59
69
  }
60
70
  if (args[0] === '--version') {
61
- console.log('v0.6.3');
71
+ console.log('v0.7.0');
62
72
  return;
63
73
  }
64
74
  const commandName = args[0] ?? '';
@@ -82,7 +92,7 @@ export class DaemonCli {
82
92
  */
83
93
  showHelp() {
84
94
  console.log(`
85
- Daemon v0.6.3 - AI-powered automated testing toolkit
95
+ Daemon v0.7.0 - AI-powered code quality toolkit
86
96
 
87
97
  USAGE:
88
98
  daemon <command> [options]
@@ -91,6 +101,11 @@ COMMANDS:
91
101
  init Initialize project with Daemon (creates EXECUTE.md + Dockerfile.daemon)
92
102
  detect Detect project framework and tools
93
103
  test Generate and run tests
104
+ score Show quality scores across dimensions (test, security, performance, etc.)
105
+ review Perform comprehensive code review
106
+ optimize Analyze and apply code optimizations
107
+ report Generate quality reports (HTML, Markdown, JSON, JUnit)
108
+ history View score history and trends
94
109
 
95
110
  OPTIONS:
96
111
  --help, -h Show this help message
@@ -100,6 +115,11 @@ EXAMPLES:
100
115
  daemon init
101
116
  daemon detect
102
117
  daemon test --coverage
118
+ daemon score --dim all
119
+ daemon review --fix --auto
120
+ daemon optimize --perf --apply
121
+ daemon report --format=html --output=report.html
122
+ daemon history --limit=20 --compare
103
123
 
104
124
  GETTING STARTED:
105
125
  1. Run "daemon init" to initialize your project