@kodus/cli 0.2.3 → 0.3.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 (261) hide show
  1. package/README.md +78 -27
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +20 -3
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/auth/index.d.ts.map +1 -1
  6. package/dist/commands/auth/index.js +1 -2
  7. package/dist/commands/auth/index.js.map +1 -1
  8. package/dist/commands/auth/login.d.ts.map +1 -1
  9. package/dist/commands/auth/login.js +44 -45
  10. package/dist/commands/auth/login.js.map +1 -1
  11. package/dist/commands/auth/logout.d.ts.map +1 -1
  12. package/dist/commands/auth/logout.js +5 -3
  13. package/dist/commands/auth/logout.js.map +1 -1
  14. package/dist/commands/auth/status.d.ts.map +1 -1
  15. package/dist/commands/auth/status.js +28 -25
  16. package/dist/commands/auth/status.js.map +1 -1
  17. package/dist/commands/auth/team-key.d.ts.map +1 -1
  18. package/dist/commands/auth/team-key.js +49 -29
  19. package/dist/commands/auth/team-key.js.map +1 -1
  20. package/dist/commands/auth/token.d.ts.map +1 -1
  21. package/dist/commands/auth/token.js +12 -10
  22. package/dist/commands/auth/token.js.map +1 -1
  23. package/dist/commands/hook/index.d.ts.map +1 -1
  24. package/dist/commands/hook/index.js +1 -2
  25. package/dist/commands/hook/index.js.map +1 -1
  26. package/dist/commands/hook/install.d.ts.map +1 -1
  27. package/dist/commands/hook/install.js +21 -22
  28. package/dist/commands/hook/install.js.map +1 -1
  29. package/dist/commands/hook/status.d.ts.map +1 -1
  30. package/dist/commands/hook/status.js +10 -8
  31. package/dist/commands/hook/status.js.map +1 -1
  32. package/dist/commands/hook/uninstall.d.ts.map +1 -1
  33. package/dist/commands/hook/uninstall.js +7 -5
  34. package/dist/commands/hook/uninstall.js.map +1 -1
  35. package/dist/commands/memory/capture.d.ts.map +1 -1
  36. package/dist/commands/memory/capture.js +28 -14
  37. package/dist/commands/memory/capture.js.map +1 -1
  38. package/dist/commands/memory/disable.d.ts.map +1 -1
  39. package/dist/commands/memory/disable.js +9 -7
  40. package/dist/commands/memory/disable.js.map +1 -1
  41. package/dist/commands/memory/enable.d.ts.map +1 -1
  42. package/dist/commands/memory/enable.js +18 -14
  43. package/dist/commands/memory/enable.js.map +1 -1
  44. package/dist/commands/memory/hooks.d.ts.map +1 -1
  45. package/dist/commands/memory/hooks.js +37 -17
  46. package/dist/commands/memory/hooks.js.map +1 -1
  47. package/dist/commands/memory/index.d.ts.map +1 -1
  48. package/dist/commands/memory/index.js +1 -2
  49. package/dist/commands/memory/index.js.map +1 -1
  50. package/dist/commands/memory/promote.d.ts.map +1 -1
  51. package/dist/commands/memory/promote.js +14 -10
  52. package/dist/commands/memory/promote.js.map +1 -1
  53. package/dist/commands/memory/show.d.ts.map +1 -1
  54. package/dist/commands/memory/show.js +11 -10
  55. package/dist/commands/memory/show.js.map +1 -1
  56. package/dist/commands/memory/status.d.ts.map +1 -1
  57. package/dist/commands/memory/status.js +22 -20
  58. package/dist/commands/memory/status.js.map +1 -1
  59. package/dist/commands/pr.d.ts.map +1 -1
  60. package/dist/commands/pr.js +131 -13
  61. package/dist/commands/pr.js.map +1 -1
  62. package/dist/commands/review.d.ts.map +1 -1
  63. package/dist/commands/review.js +57 -38
  64. package/dist/commands/review.js.map +1 -1
  65. package/dist/commands/status.d.ts +3 -0
  66. package/dist/commands/status.d.ts.map +1 -0
  67. package/dist/commands/status.js +119 -0
  68. package/dist/commands/status.js.map +1 -0
  69. package/dist/commands/subscribe.d.ts +4 -0
  70. package/dist/commands/subscribe.d.ts.map +1 -0
  71. package/dist/commands/subscribe.js +25 -0
  72. package/dist/commands/subscribe.js.map +1 -0
  73. package/dist/commands/update.d.ts +9 -0
  74. package/dist/commands/update.d.ts.map +1 -0
  75. package/dist/commands/update.js +74 -0
  76. package/dist/commands/update.js.map +1 -0
  77. package/dist/formatters/json.d.ts.map +1 -1
  78. package/dist/formatters/json.js.map +1 -1
  79. package/dist/formatters/markdown.d.ts.map +1 -1
  80. package/dist/formatters/markdown.js.map +1 -1
  81. package/dist/formatters/prompt.d.ts.map +1 -1
  82. package/dist/formatters/prompt.js +6 -6
  83. package/dist/formatters/prompt.js.map +1 -1
  84. package/dist/formatters/terminal.d.ts.map +1 -1
  85. package/dist/formatters/terminal.js +7 -4
  86. package/dist/formatters/terminal.js.map +1 -1
  87. package/dist/index.js +28 -5
  88. package/dist/index.js.map +1 -1
  89. package/dist/services/api/api.interface.d.ts +10 -1
  90. package/dist/services/api/api.interface.d.ts.map +1 -1
  91. package/dist/services/api/api.real.d.ts +14 -0
  92. package/dist/services/api/api.real.d.ts.map +1 -1
  93. package/dist/services/api/api.real.js +163 -58
  94. package/dist/services/api/api.real.js.map +1 -1
  95. package/dist/services/api/index.d.ts +2 -2
  96. package/dist/services/api/index.js +1 -1
  97. package/dist/services/auth.service.d.ts +1 -0
  98. package/dist/services/auth.service.d.ts.map +1 -1
  99. package/dist/services/auth.service.js +21 -2
  100. package/dist/services/auth.service.js.map +1 -1
  101. package/dist/services/context.service.d.ts +4 -1
  102. package/dist/services/context.service.d.ts.map +1 -1
  103. package/dist/services/context.service.js +30 -19
  104. package/dist/services/context.service.js.map +1 -1
  105. package/dist/services/fix.service.d.ts.map +1 -1
  106. package/dist/services/fix.service.js +3 -2
  107. package/dist/services/fix.service.js.map +1 -1
  108. package/dist/services/git.service.d.ts +1 -0
  109. package/dist/services/git.service.d.ts.map +1 -1
  110. package/dist/services/git.service.js +123 -48
  111. package/dist/services/git.service.js.map +1 -1
  112. package/dist/services/memory.service.d.ts.map +1 -1
  113. package/dist/services/memory.service.js +93 -35
  114. package/dist/services/memory.service.js.map +1 -1
  115. package/dist/services/review.service.d.ts +12 -1
  116. package/dist/services/review.service.d.ts.map +1 -1
  117. package/dist/services/review.service.js +88 -65
  118. package/dist/services/review.service.js.map +1 -1
  119. package/dist/services/transcript-parser.service.d.ts.map +1 -1
  120. package/dist/services/transcript-parser.service.js +46 -15
  121. package/dist/services/transcript-parser.service.js.map +1 -1
  122. package/dist/types/index.d.ts +12 -1
  123. package/dist/types/index.d.ts.map +1 -1
  124. package/dist/types/index.js.map +1 -1
  125. package/dist/types/memory.d.ts.map +1 -1
  126. package/dist/ui/interactive.d.ts.map +1 -1
  127. package/dist/ui/interactive.js +86 -92
  128. package/dist/ui/interactive.js.map +1 -1
  129. package/dist/utils/banner.d.ts +2 -0
  130. package/dist/utils/banner.d.ts.map +1 -0
  131. package/dist/utils/banner.js +190 -0
  132. package/dist/utils/banner.js.map +1 -0
  133. package/dist/utils/cli-exit.d.ts +13 -0
  134. package/dist/utils/cli-exit.d.ts.map +1 -0
  135. package/dist/utils/cli-exit.js +29 -0
  136. package/dist/utils/cli-exit.js.map +1 -0
  137. package/dist/utils/clipboard.d.ts +2 -0
  138. package/dist/utils/clipboard.d.ts.map +1 -0
  139. package/dist/utils/clipboard.js +11 -0
  140. package/dist/utils/clipboard.js.map +1 -0
  141. package/dist/utils/config.d.ts +3 -0
  142. package/dist/utils/config.d.ts.map +1 -1
  143. package/dist/utils/config.js.map +1 -1
  144. package/dist/utils/credentials.d.ts.map +1 -1
  145. package/dist/utils/credentials.js.map +1 -1
  146. package/dist/utils/device.d.ts.map +1 -1
  147. package/dist/utils/device.js +17 -6
  148. package/dist/utils/device.js.map +1 -1
  149. package/dist/utils/logger.d.ts +13 -0
  150. package/dist/utils/logger.d.ts.map +1 -0
  151. package/dist/utils/logger.js +48 -0
  152. package/dist/utils/logger.js.map +1 -0
  153. package/dist/utils/module-matcher.d.ts.map +1 -1
  154. package/dist/utils/module-matcher.js +12 -7
  155. package/dist/utils/module-matcher.js.map +1 -1
  156. package/dist/utils/rate-limit.d.ts.map +1 -1
  157. package/dist/utils/rate-limit.js +12 -3
  158. package/dist/utils/rate-limit.js.map +1 -1
  159. package/dist/utils/recent-activity.d.ts +9 -0
  160. package/dist/utils/recent-activity.d.ts.map +1 -0
  161. package/dist/utils/recent-activity.js +139 -0
  162. package/dist/utils/recent-activity.js.map +1 -0
  163. package/dist/utils/skills.d.ts +2 -0
  164. package/dist/utils/skills.d.ts.map +1 -0
  165. package/dist/utils/skills.js +40 -0
  166. package/dist/utils/skills.js.map +1 -0
  167. package/dist/utils/update-check.d.ts +1 -2
  168. package/dist/utils/update-check.d.ts.map +1 -1
  169. package/dist/utils/update-check.js +21 -97
  170. package/dist/utils/update-check.js.map +1 -1
  171. package/package.json +83 -59
  172. package/skills/README.md +49 -0
  173. package/skills/business-rules-validation/SKILL.md +43 -0
  174. package/skills/kodus-pr-suggestions-resolver/SKILL.md +61 -0
  175. package/skills/kodus-review/SKILL.md +40 -0
  176. package/skills/kodus-review-dev/SKILL.md +41 -0
  177. package/skills/kodus-review-dev/scripts/run-local-cli.sh +49 -0
  178. package/dist/commands/__tests__/auth.login-logout.test.d.ts +0 -2
  179. package/dist/commands/__tests__/auth.login-logout.test.d.ts.map +0 -1
  180. package/dist/commands/__tests__/auth.login-logout.test.js +0 -125
  181. package/dist/commands/__tests__/auth.login-logout.test.js.map +0 -1
  182. package/dist/commands/__tests__/auth.team-key.test.d.ts +0 -2
  183. package/dist/commands/__tests__/auth.team-key.test.d.ts.map +0 -1
  184. package/dist/commands/__tests__/auth.team-key.test.js +0 -145
  185. package/dist/commands/__tests__/auth.team-key.test.js.map +0 -1
  186. package/dist/commands/__tests__/capture-api.test.d.ts +0 -2
  187. package/dist/commands/__tests__/capture-api.test.d.ts.map +0 -1
  188. package/dist/commands/__tests__/capture-api.test.js +0 -88
  189. package/dist/commands/__tests__/capture-api.test.js.map +0 -1
  190. package/dist/commands/__tests__/disable.test.d.ts +0 -2
  191. package/dist/commands/__tests__/disable.test.d.ts.map +0 -1
  192. package/dist/commands/__tests__/disable.test.js +0 -103
  193. package/dist/commands/__tests__/disable.test.js.map +0 -1
  194. package/dist/commands/__tests__/enable.test.d.ts +0 -2
  195. package/dist/commands/__tests__/enable.test.d.ts.map +0 -1
  196. package/dist/commands/__tests__/enable.test.js +0 -103
  197. package/dist/commands/__tests__/enable.test.js.map +0 -1
  198. package/dist/commands/__tests__/hook.test.d.ts +0 -2
  199. package/dist/commands/__tests__/hook.test.d.ts.map +0 -1
  200. package/dist/commands/__tests__/hook.test.js +0 -105
  201. package/dist/commands/__tests__/hook.test.js.map +0 -1
  202. package/dist/commands/__tests__/install-merge-hook.test.d.ts +0 -2
  203. package/dist/commands/__tests__/install-merge-hook.test.d.ts.map +0 -1
  204. package/dist/commands/__tests__/install-merge-hook.test.js +0 -54
  205. package/dist/commands/__tests__/install-merge-hook.test.js.map +0 -1
  206. package/dist/commands/upgrade.d.ts +0 -3
  207. package/dist/commands/upgrade.d.ts.map +0 -1
  208. package/dist/commands/upgrade.js +0 -35
  209. package/dist/commands/upgrade.js.map +0 -1
  210. package/dist/services/__tests__/auth.service.test.d.ts +0 -2
  211. package/dist/services/__tests__/auth.service.test.d.ts.map +0 -1
  212. package/dist/services/__tests__/auth.service.test.js +0 -201
  213. package/dist/services/__tests__/auth.service.test.js.map +0 -1
  214. package/dist/services/__tests__/git.service.test.d.ts +0 -2
  215. package/dist/services/__tests__/git.service.test.d.ts.map +0 -1
  216. package/dist/services/__tests__/git.service.test.js +0 -61
  217. package/dist/services/__tests__/git.service.test.js.map +0 -1
  218. package/dist/services/__tests__/memory.service.test.d.ts +0 -2
  219. package/dist/services/__tests__/memory.service.test.d.ts.map +0 -1
  220. package/dist/services/__tests__/memory.service.test.js +0 -279
  221. package/dist/services/__tests__/memory.service.test.js.map +0 -1
  222. package/dist/services/__tests__/review.service.auth-fallback.test.d.ts +0 -2
  223. package/dist/services/__tests__/review.service.auth-fallback.test.d.ts.map +0 -1
  224. package/dist/services/__tests__/review.service.auth-fallback.test.js +0 -63
  225. package/dist/services/__tests__/review.service.auth-fallback.test.js.map +0 -1
  226. package/dist/services/__tests__/review.service.test.d.ts +0 -2
  227. package/dist/services/__tests__/review.service.test.d.ts.map +0 -1
  228. package/dist/services/__tests__/review.service.test.js +0 -132
  229. package/dist/services/__tests__/review.service.test.js.map +0 -1
  230. package/dist/services/__tests__/review.suggestions-auth.test.d.ts +0 -2
  231. package/dist/services/__tests__/review.suggestions-auth.test.d.ts.map +0 -1
  232. package/dist/services/__tests__/review.suggestions-auth.test.js +0 -81
  233. package/dist/services/__tests__/review.suggestions-auth.test.js.map +0 -1
  234. package/dist/services/__tests__/transcript-parser.service.test.d.ts +0 -2
  235. package/dist/services/__tests__/transcript-parser.service.test.d.ts.map +0 -1
  236. package/dist/services/__tests__/transcript-parser.service.test.js +0 -134
  237. package/dist/services/__tests__/transcript-parser.service.test.js.map +0 -1
  238. package/dist/services/api/__tests__/api.real.test.d.ts +0 -2
  239. package/dist/services/api/__tests__/api.real.test.d.ts.map +0 -1
  240. package/dist/services/api/__tests__/api.real.test.js +0 -182
  241. package/dist/services/api/__tests__/api.real.test.js.map +0 -1
  242. package/dist/utils/__tests__/config.test.d.ts +0 -2
  243. package/dist/utils/__tests__/config.test.d.ts.map +0 -1
  244. package/dist/utils/__tests__/config.test.js +0 -79
  245. package/dist/utils/__tests__/config.test.js.map +0 -1
  246. package/dist/utils/__tests__/credentials.test.d.ts +0 -2
  247. package/dist/utils/__tests__/credentials.test.d.ts.map +0 -1
  248. package/dist/utils/__tests__/credentials.test.js +0 -89
  249. package/dist/utils/__tests__/credentials.test.js.map +0 -1
  250. package/dist/utils/__tests__/device.test.d.ts +0 -2
  251. package/dist/utils/__tests__/device.test.d.ts.map +0 -1
  252. package/dist/utils/__tests__/device.test.js +0 -108
  253. package/dist/utils/__tests__/device.test.js.map +0 -1
  254. package/dist/utils/__tests__/module-matcher.test.d.ts +0 -2
  255. package/dist/utils/__tests__/module-matcher.test.d.ts.map +0 -1
  256. package/dist/utils/__tests__/module-matcher.test.js +0 -164
  257. package/dist/utils/__tests__/module-matcher.test.js.map +0 -1
  258. package/dist/utils/__tests__/update-check.test.d.ts +0 -2
  259. package/dist/utils/__tests__/update-check.test.d.ts.map +0 -1
  260. package/dist/utils/__tests__/update-check.test.js +0 -26
  261. package/dist/utils/__tests__/update-check.test.js.map +0 -1
package/package.json CHANGED
@@ -1,61 +1,85 @@
1
1
  {
2
- "name": "@kodus/cli",
3
- "version": "0.2.3",
4
- "description": "Kodus CLI - AI-powered code review from your terminal",
5
- "type": "module",
6
- "bin": {
7
- "kodus": "./dist/index.js"
8
- },
9
- "main": "./dist/index.js",
10
- "repository": {
11
- "type": "git",
12
- "url": "https://github.com/kodustech/cli.git"
13
- },
14
- "homepage": "https://kodus.io",
15
- "bugs": {
16
- "url": "https://github.com/kodustech/cli/issues"
17
- },
18
- "scripts": {
19
- "build": "tsc",
20
- "dev": "tsc --watch",
21
- "start": "node dist/index.js",
22
- "start:local": "KODUS_API_URL=http://localhost:3001 node dist/index.js",
23
- "start:qa": "KODUS_API_URL=https://qa.api.kodus.io node dist/index.js",
24
- "test": "vitest run",
25
- "test:watch": "vitest",
26
- "test:integration": "npm run build && vitest run --config vitest.integration.config.ts",
27
- "lint": "eslint src --ext .ts",
28
- "clean": "rm -rf dist",
29
- "prepublishOnly": "npm run build"
30
- },
31
- "keywords": [
32
- "kodus",
33
- "code-review",
34
- "ai",
35
- "cli",
36
- "git"
37
- ],
38
- "author": "Kodus",
39
- "license": "MIT",
40
- "dependencies": {
41
- "chalk": "^5.3.0",
42
- "commander": "^12.1.0",
43
- "inquirer": "^9.2.23",
44
- "node-machine-id": "^1.1.12",
45
- "ora": "^8.0.1",
46
- "simple-git": "^3.25.0",
47
- "yaml": "^2.8.2"
48
- },
49
- "devDependencies": {
50
- "@types/inquirer": "^9.0.7",
51
- "@types/node": "^20.14.9",
52
- "typescript": "^5.5.3",
53
- "vitest": "^4.0.18"
54
- },
55
- "engines": {
56
- "node": ">=18.0.0"
57
- },
58
- "files": [
59
- "dist"
60
- ]
2
+ "name": "@kodus/cli",
3
+ "version": "0.3.0",
4
+ "description": "Kodus CLI - AI-powered code review from your terminal",
5
+ "type": "module",
6
+ "bin": {
7
+ "kodus": "./dist/index.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/kodustech/cli.git"
13
+ },
14
+ "homepage": "https://kodus.io",
15
+ "bugs": {
16
+ "url": "https://github.com/kodustech/cli/issues"
17
+ },
18
+ "scripts": {
19
+ "build": "yarn clean && tsc",
20
+ "dev": "tsc --watch",
21
+ "start": "node dist/index.js",
22
+ "start:local": "KODUS_API_URL=http://localhost:3001 node dist/index.js",
23
+ "start:qa": "KODUS_API_URL=https://qa.api.kodus.io node dist/index.js",
24
+ "test": "vitest run",
25
+ "test:watch": "vitest",
26
+ "test:integration": "yarn build && vitest run --config vitest.integration.config.ts",
27
+ "lint": "eslint src --ext .ts",
28
+ "lint:fix": "eslint src --ext .ts --fix",
29
+ "format": "prettier --write .",
30
+ "format:check": "prettier --check .",
31
+ "check": "yarn format:check && yarn lint",
32
+ "skills:validate": "node scripts/validate-skills.mjs",
33
+ "skills:prompt": "node scripts/skills-to-prompt.mjs --format=xml",
34
+ "skills:prompt:json": "node scripts/skills-to-prompt.mjs --format=json",
35
+ "clean": "rm -rf dist",
36
+ "prepublishOnly": "yarn build"
37
+ },
38
+ "keywords": [
39
+ "kodus",
40
+ "code-review",
41
+ "ai",
42
+ "cli",
43
+ "git"
44
+ ],
45
+ "author": "Kodus",
46
+ "license": "MIT",
47
+ "dependencies": {
48
+ "@inquirer/prompts": "^8.3.0",
49
+ "boxen": "^8.0.1",
50
+ "chalk": "^5.6.2",
51
+ "clipboardy": "^5.3.1",
52
+ "commander": "^14.0.3",
53
+ "execa": "^9.6.1",
54
+ "figlet": "^1.10.0",
55
+ "gradient-string": "^3.0.0",
56
+ "latest-version": "^9.0.0",
57
+ "node-machine-id": "^1.1.12",
58
+ "open": "^11.0.0",
59
+ "ora": "^9.3.0",
60
+ "simple-git": "^3.32.3",
61
+ "update-notifier": "^7.3.1",
62
+ "yaml": "^2.8.2"
63
+ },
64
+ "devDependencies": {
65
+ "@eslint/js": "^10.0.1",
66
+ "@types/figlet": "^1.7.0",
67
+ "@types/gradient-string": "^1.1.6",
68
+ "@types/node": "^25.3.3",
69
+ "@types/update-notifier": "^6.0.8",
70
+ "@typescript-eslint/eslint-plugin": "^8.56.1",
71
+ "@typescript-eslint/parser": "^8.56.1",
72
+ "eslint": "^10.0.2",
73
+ "prettier": "^3.6.2",
74
+ "typescript": "^5.9.3",
75
+ "vitest": "^4.0.18"
76
+ },
77
+ "engines": {
78
+ "node": ">=20.0.0"
79
+ },
80
+ "packageManager": "yarn@1.22.22",
81
+ "files": [
82
+ "dist",
83
+ "skills"
84
+ ]
61
85
  }
@@ -0,0 +1,49 @@
1
+ # Kodus Skills
2
+
3
+ This directory contains the agent skills shipped with the Kodus CLI repository.
4
+
5
+ ## Included Skills
6
+
7
+ - `kodus-review`
8
+ - Run local Kodus code review for workspace changes with the installed CLI.
9
+ - `kodus-review-dev`
10
+ - Run the local Kodus CLI build against a dev/localhost API using `scripts/run-local-cli.sh` (explicit dev request only).
11
+ - `business-rules-validation`
12
+ - Run business rules validation from local diff scope with `kodus pr business-validation`.
13
+ - `kodus-pr-suggestions-resolver`
14
+ - Fetch PR suggestions and apply fixes with judgment.
15
+
16
+ ## Trigger Map (recommended)
17
+
18
+ - User mentions `review`, `commit`, `push`, `open PR`, `merge`, `quality gate`
19
+ - Prefer `kodus-review` (or `kodus-review-dev` for local dev CLI flow).
20
+ - If the request is delivery action (commit/push/merge) and no fresh review ran, ask to run Kodus review first.
21
+ - User explicitly mentions local/dev CLI execution (`node dist/index.js`, `localhost:3001`, `KODUS_API_URL`, dev API/QA API)
22
+ - Use `kodus-review-dev` instead of `kodus-review`.
23
+ - User mentions `business validation`, `acceptance criteria`, `local diff vs task`, `kodus pr business-validation`
24
+ - Use `business-rules-validation`.
25
+ - User asks to apply Kodus PR suggestions
26
+ - Use `kodus-pr-suggestions-resolver`.
27
+
28
+ ## Notes
29
+
30
+ - Skill source lives in `skills/<skill-name>/SKILL.md`.
31
+ - Some skills include helper scripts in `skills/<skill-name>/scripts/`.
32
+ - Packaging these files in the npm artifact makes them available to external installers and local integration tooling.
33
+ - Shipping the files here does not, by itself, install them into Claude Code, Cursor, Codex, or other agents. That installation step still depends on the integration tooling you use.
34
+ - `kodus update` upgrades the CLI package only. Skill sync/deployment should be done via the installer tooling (for example `curl -fsSL https://review-skill.com/install | bash`).
35
+
36
+ ## For Integrators
37
+
38
+ - Validate skill structure and metadata:
39
+ - `npm run skills:validate`
40
+ - Generate prompt metadata as XML (`<available_skills>`):
41
+ - `npm run skills:prompt`
42
+ - Generate prompt metadata as JSON:
43
+ - `npm run skills:prompt:json`
44
+
45
+ Recommended injection pattern:
46
+
47
+ 1. Run `npm run skills:prompt` during session bootstrap or before each agent request.
48
+ 2. Inject the XML payload into your system/developer prompt under a section such as `Available skills`.
49
+ 3. Map user intent to the listed skill `name` and load the corresponding `SKILL.md` only when needed.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: business-rules-validation
3
+ description: Use when asked for business validation, acceptance-criteria validation, PR-vs-task checks, or merge readiness with task compliance. Run `kodus pr business-validation` against local diff scope and optional task context.
4
+ ---
5
+
6
+ # Business Rules Validation
7
+
8
+ ## Goal
9
+
10
+ Run Kodus business-rules validation from local repository diff scope and optional task reference.
11
+
12
+ ## Workflow
13
+
14
+ 1) Ensure Kodus CLI is available.
15
+ - Run `kodus --help` to confirm.
16
+ - If missing, ask the user to install the CLI and stop.
17
+
18
+ 2) Ensure authentication if required.
19
+ - If command fails with auth, run `kodus auth login` (interactive) and retry.
20
+ - For team keys, use `kodus auth team-key --key <key>` when provided by the user.
21
+
22
+ 3) Choose local diff scope.
23
+ - Default (no scope flags): working tree diff.
24
+ - Optional explicit scope: `--staged`, `--branch <name>`, `--commit <sha>`, or `[files...]`.
25
+ - Use only one scope per command.
26
+
27
+ 4) Run business validation.
28
+ - Examples:
29
+ ```bash
30
+ kodus pr business-validation --staged --task-id KC-1441
31
+ kodus pr business-validation --branch main --task-id KC-1441
32
+ kodus pr business-validation src/service.ts src/use-case.ts --task-id KC-1441
33
+ ```
34
+
35
+ 5) Interpret and apply.
36
+ - Parse output and identify mismatches against requirements.
37
+ - Apply focused changes.
38
+ - Re-run the same command until output is acceptable.
39
+
40
+ ## Notes
41
+
42
+ - Use `--task-id` or `--task-url` when available.
43
+ - `kodus review` and business validation are different flows.
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: kodus-pr-suggestions-resolver
3
+ description: Use when asked to fetch `kodus pr suggestions` for a PR URL/number/repo-id, analyze each suggestion against PR intent, implement reasonable fixes, run build/tests when available, and report what was done or skipped. Not for generic local `kodus review`.
4
+ ---
5
+
6
+ # Kodus PR Suggestions Resolver
7
+
8
+ ## Overview
9
+
10
+ Fetch PR suggestions via Kodus CLI, triage each suggestion against the PR goal, apply safe fixes, then validate with build/tests and report results.
11
+
12
+ ## Workflow
13
+
14
+ ### 1) Collect the PR target
15
+
16
+ - If the user did not provide a target, ask for one of:
17
+ - `--pr-url <url>`
18
+ - `--pr-number <number>` with `--repo-id <id>`
19
+ - If multiple are provided, prefer `--pr-url`.
20
+
21
+ ### 2) Run Kodus suggestions
22
+
23
+ Use:
24
+
25
+ ```
26
+ kodus pr suggestions --pr-url <url>
27
+ ```
28
+
29
+ Or when the URL is not available:
30
+
31
+ ```
32
+ kodus pr suggestions --pr-number <number> --repo-id <id>
33
+ ```
34
+
35
+ ### 3) Analyze suggestions with PR intent in mind
36
+
37
+ - Extract or confirm the PR goal from the user or PR context.
38
+ - For each suggestion:
39
+ - Verify it does not conflict with the PR objective.
40
+ - Prefer small, low-risk changes that improve the PR without changing scope.
41
+ - Skip suggestions that are irrelevant, risky, or scope-expanding; note why.
42
+
43
+ ### 4) Apply fixes one by one
44
+
45
+ - Make changes per accepted suggestion.
46
+ - Keep edits minimal and focused.
47
+ - If a suggestion is unclear, ask a clarifying question before changing code.
48
+
49
+ ### 5) Validate with build/tests (when available)
50
+
51
+ - Run the most relevant build or tests for the edited area.
52
+ - If no tests are available or running them is not possible, state that explicitly.
53
+
54
+ ### 6) Report results
55
+
56
+ Provide a concise report covering:
57
+
58
+ - Suggestions applied (with brief rationale).
59
+ - Suggestions skipped (with reasons).
60
+ - Tests/builds run and outcomes.
61
+ - Remaining uncertainties or follow-ups needed.
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: kodus-review
3
+ description: Use when asked to review code with Kodus, run `kodus review`, use `--prompt-only`, or act on Kodus review results. Run the Kodus CLI review flow and apply fixes based on CLI output. Not for local dev CLI flow, PR suggestions, or business validation.
4
+ ---
5
+
6
+ # Kodus Review
7
+
8
+ ## Goal
9
+
10
+ Use the Kodus CLI to review changes and resolve issues. Prefer machine-friendly output via `--prompt-only`, then apply fixes in code.
11
+
12
+ ## Workflow
13
+
14
+ 1) Ensure Kodus CLI is available.
15
+ - Run `kodus --help` to confirm.
16
+ - If missing, ask the user to install the CLI and stop.
17
+
18
+ 2) Ensure authentication if required.
19
+ - If `kodus review` fails with auth, run `kodus auth login` (interactive) and retry.
20
+ - For team keys, use `kodus auth team-key --key <key>` when provided by the user.
21
+
22
+ 3) Run review using prompt-only output.
23
+ - Default: `kodus review --prompt-only`.
24
+ - If user specifies files: `kodus review --prompt-only <files...>`.
25
+ - If user asks for staged/commit/branch: add `--staged`, `--commit <sha>`, or `--branch <name>`.
26
+ - If user wants fast: add `--fast`.
27
+
28
+ 4) Parse results and apply fixes.
29
+ - Use the output to locate files and lines.
30
+ - Make minimal, targeted changes to address each issue.
31
+ - If an issue is not actionable or is a false positive, explain why and skip.
32
+
33
+ 5) Re-run review if needed.
34
+ - After fixes, rerun `kodus review --prompt-only` to confirm issues are resolved.
35
+
36
+ ## Notes
37
+
38
+ - Prefer `--prompt-only` for predictable parsing.
39
+ - Avoid `--interactive` unless the user explicitly asks.
40
+ - Use `review --help` to undertstand review possibilities
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: kodus-review-dev
3
+ description: Use when the user explicitly asks for local/dev API CLI flow (localhost, QA API, or local `node dist/index.js`) while reviewing code. Run the dev review flow and apply fixes based on CLI output. Not the default review skill.
4
+ ---
5
+
6
+ # Kodus Review (Dev)
7
+
8
+ ## Goal
9
+
10
+ Use the local Kodus CLI dev flow to review changes and resolve issues. Prefer machine-friendly output via `--prompt-only`, then apply fixes in code.
11
+
12
+ ## Workflow
13
+
14
+ 1) Ensure local dev command is available.
15
+ - Prefer the helper script (do not rely on aliases).
16
+ - Use: `skills/kodus-review-dev/scripts/run-local-cli.sh --help`.
17
+ - If missing or failing, ask the user to confirm the local path and env values, then stop.
18
+
19
+ 2) Ensure authentication if required.
20
+ - If the review fails with auth, run the same command with `auth login` (interactive) and retry.
21
+ - For team keys, use `auth team-key --key <key>` with the same helper script when provided by the user.
22
+
23
+ 3) Run review using prompt-only output.
24
+ - Default: `skills/kodus-review-dev/scripts/run-local-cli.sh review --prompt-only`.
25
+ - If user specifies files: append `<files...>`.
26
+ - If user asks for staged/commit/branch: add `--staged`, `--commit <sha>`, or `--branch <name>`.
27
+ - If user wants fast: add `--fast`.
28
+
29
+ 4) Parse results and apply fixes.
30
+ - Use the output to locate files and lines.
31
+ - Make minimal, targeted changes to address each issue.
32
+ - If an issue is not actionable or is a false positive, explain why and skip.
33
+
34
+ 5) Re-run review if needed.
35
+ - After fixes, rerun `skills/kodus-review-dev/scripts/run-local-cli.sh review --prompt-only` to confirm issues are resolved.
36
+
37
+ ## Notes
38
+
39
+ - Prefer `--prompt-only` for predictable parsing.
40
+ - Avoid `--interactive` unless the user explicitly asks.
41
+ - Do not use `--fix` unless the user explicitly asks.
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
5
+ repo_root="$(cd -- "${script_dir}/../../.." && pwd)"
6
+
7
+ entrypoint="${KODUS_CLI_ENTRYPOINT:-${repo_root}/dist/index.js}"
8
+ api_url="${KODUS_API_URL:-http://localhost:3001}"
9
+ verbose="${KODUS_VERBOSE:-1}"
10
+
11
+ print_help() {
12
+ cat <<EOF
13
+ Run the local Kodus CLI build from this repository.
14
+
15
+ Usage:
16
+ $(basename "$0") <command> [args...]
17
+
18
+ Environment:
19
+ KODUS_API_URL Defaults to http://localhost:3001
20
+ KODUS_VERBOSE Defaults to 1
21
+ KODUS_CLI_ENTRYPOINT Defaults to <repo>/dist/index.js
22
+
23
+ Examples:
24
+ $(basename "$0") --help
25
+ $(basename "$0") auth status
26
+ $(basename "$0") review --prompt-only
27
+ EOF
28
+ }
29
+
30
+ if [[ "${1:-}" == "--help" || "${1:-}" == "-h" ]]; then
31
+ print_help
32
+ exit 0
33
+ fi
34
+
35
+ if [[ $# -eq 0 ]]; then
36
+ print_help
37
+ exit 1
38
+ fi
39
+
40
+ if [[ ! -f "$entrypoint" ]]; then
41
+ echo "Local Kodus CLI entrypoint not found: $entrypoint" >&2
42
+ echo "Run 'npm run build' in ${repo_root} or set KODUS_CLI_ENTRYPOINT." >&2
43
+ exit 1
44
+ fi
45
+
46
+ exec env \
47
+ KODUS_API_URL="$api_url" \
48
+ KODUS_VERBOSE="$verbose" \
49
+ node "$entrypoint" "$@"
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=auth.login-logout.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.login-logout.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/auth.login-logout.test.ts"],"names":[],"mappings":""}
@@ -1,125 +0,0 @@
1
- import { beforeEach, afterEach, describe, expect, it, vi } from 'vitest';
2
- const spinnerInstances = [];
3
- vi.mock('ora', () => ({
4
- default: vi.fn(() => {
5
- const spinner = {
6
- start: vi.fn(),
7
- succeed: vi.fn(),
8
- fail: vi.fn(),
9
- text: '',
10
- };
11
- spinnerInstances.push(spinner);
12
- return spinner;
13
- }),
14
- }));
15
- vi.mock('inquirer', () => ({
16
- default: {
17
- prompt: vi.fn(),
18
- },
19
- }));
20
- vi.mock('../../services/auth.service.js', () => ({
21
- authService: {
22
- isAuthenticated: vi.fn(),
23
- getCredentials: vi.fn(),
24
- login: vi.fn(),
25
- logout: vi.fn(),
26
- },
27
- }));
28
- import inquirer from 'inquirer';
29
- import { authService } from '../../services/auth.service.js';
30
- import { loginAction } from '../auth/login.js';
31
- import { logoutAction } from '../auth/logout.js';
32
- const mockPrompt = vi.mocked(inquirer.prompt);
33
- const mockAuthService = vi.mocked(authService);
34
- function mockProcessExit() {
35
- return vi.spyOn(process, 'exit').mockImplementation((code) => {
36
- throw new Error(`process.exit:${code ?? 0}`);
37
- });
38
- }
39
- describe('auth login command', () => {
40
- beforeEach(() => {
41
- vi.clearAllMocks();
42
- spinnerInstances.length = 0;
43
- });
44
- afterEach(() => {
45
- vi.restoreAllMocks();
46
- });
47
- it('logs in with provided email/password without prompts', async () => {
48
- mockAuthService.isAuthenticated.mockResolvedValue(false);
49
- mockAuthService.login.mockResolvedValue(undefined);
50
- await loginAction({ email: 'test@example.com', password: 'secret123' });
51
- expect(mockPrompt).not.toHaveBeenCalled();
52
- expect(mockAuthService.login).toHaveBeenCalledWith('test@example.com', 'secret123');
53
- expect(spinnerInstances[0]?.start).toHaveBeenCalled();
54
- expect(spinnerInstances[0]?.succeed).toHaveBeenCalled();
55
- });
56
- it('does not re-login when user cancels account switch', async () => {
57
- mockAuthService.isAuthenticated.mockResolvedValue(true);
58
- mockAuthService.getCredentials.mockResolvedValue({
59
- accessToken: 'token',
60
- refreshToken: 'refresh',
61
- expiresAt: Date.now() + 1000 * 60 * 60,
62
- user: { id: 'u1', email: 'old@example.com', orgs: [] },
63
- });
64
- mockPrompt.mockResolvedValue({ confirm: false });
65
- await loginAction({});
66
- expect(mockAuthService.login).not.toHaveBeenCalled();
67
- expect(mockPrompt).toHaveBeenCalledTimes(1);
68
- });
69
- it('shows team-key switch prompt message and logs in when confirmed', async () => {
70
- mockAuthService.isAuthenticated.mockResolvedValue(true);
71
- mockAuthService.getCredentials.mockResolvedValue(null);
72
- mockAuthService.login.mockResolvedValue(undefined);
73
- mockPrompt
74
- .mockResolvedValueOnce({ confirm: true })
75
- .mockResolvedValueOnce({ email: 'new@example.com', password: 'secret123' });
76
- await loginAction({});
77
- expect(mockPrompt).toHaveBeenCalledTimes(2);
78
- const firstPrompt = mockPrompt.mock.calls[0][0];
79
- expect(firstPrompt[0]?.message).toBe('Do you want to login with an account instead?');
80
- expect(mockAuthService.login).toHaveBeenCalledWith('new@example.com', 'secret123');
81
- });
82
- it('exits with code 1 when login fails', async () => {
83
- const exitSpy = mockProcessExit();
84
- const errorSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
85
- mockAuthService.isAuthenticated.mockResolvedValue(false);
86
- mockAuthService.login.mockRejectedValue(new Error('bad credentials'));
87
- await expect(loginAction({ email: 'test@example.com', password: 'wrong' })).rejects.toThrow('process.exit:1');
88
- expect(exitSpy).toHaveBeenCalledWith(1);
89
- expect(errorSpy).toHaveBeenCalled();
90
- });
91
- });
92
- describe('auth logout command', () => {
93
- beforeEach(() => {
94
- vi.clearAllMocks();
95
- spinnerInstances.length = 0;
96
- });
97
- afterEach(() => {
98
- vi.restoreAllMocks();
99
- });
100
- it('prints not authenticated when there is no session', async () => {
101
- const logSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
102
- mockAuthService.isAuthenticated.mockResolvedValue(false);
103
- await logoutAction();
104
- expect(mockAuthService.logout).not.toHaveBeenCalled();
105
- expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Not authenticated.'));
106
- });
107
- it('logs out when authenticated', async () => {
108
- mockAuthService.isAuthenticated.mockResolvedValue(true);
109
- mockAuthService.logout.mockResolvedValue(undefined);
110
- await logoutAction();
111
- expect(mockAuthService.logout).toHaveBeenCalledTimes(1);
112
- expect(spinnerInstances[0]?.start).toHaveBeenCalled();
113
- expect(spinnerInstances[0]?.succeed).toHaveBeenCalled();
114
- });
115
- it('exits with code 1 when logout fails', async () => {
116
- const exitSpy = mockProcessExit();
117
- const errorSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
118
- mockAuthService.isAuthenticated.mockResolvedValue(true);
119
- mockAuthService.logout.mockRejectedValue(new Error('network'));
120
- await expect(logoutAction()).rejects.toThrow('process.exit:1');
121
- expect(exitSpy).toHaveBeenCalledWith(1);
122
- expect(errorSpy).toHaveBeenCalled();
123
- });
124
- });
125
- //# sourceMappingURL=auth.login-logout.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.login-logout.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/auth.login-logout.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=auth.team-key.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.team-key.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/auth.team-key.test.ts"],"names":[],"mappings":""}