@diff-review-system/drs 1.0.0 → 2.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 (287) hide show
  1. package/.opencode/agent/describe/pr-describer.md +221 -0
  2. package/.opencode/agent/review/documentation.md +56 -0
  3. package/.opencode/agent/review/performance.md +32 -130
  4. package/.opencode/agent/review/quality.md +36 -104
  5. package/.opencode/agent/review/security.md +32 -94
  6. package/.opencode/agent/review/style.md +26 -10
  7. package/.opencode/agent/review/unified-reviewer.md +74 -0
  8. package/.opencode/opencode.jsonc +4 -41
  9. package/.opencode/tool/write_json_output.ts +24 -0
  10. package/README.md +215 -82
  11. package/dist/ci/runner.d.ts.map +1 -1
  12. package/dist/ci/runner.js +4 -4
  13. package/dist/ci/runner.js.map +1 -1
  14. package/dist/cli/describe-mr.d.ts +11 -0
  15. package/dist/cli/describe-mr.d.ts.map +1 -0
  16. package/dist/cli/describe-mr.js +104 -0
  17. package/dist/cli/describe-mr.js.map +1 -0
  18. package/dist/cli/describe-pr.d.ts +12 -0
  19. package/dist/cli/describe-pr.d.ts.map +1 -0
  20. package/dist/cli/describe-pr.js +105 -0
  21. package/dist/cli/describe-pr.js.map +1 -0
  22. package/dist/cli/index.js +234 -20
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/cli/init.d.ts +1 -1
  25. package/dist/cli/init.d.ts.map +1 -1
  26. package/dist/cli/init.js +337 -120
  27. package/dist/cli/init.js.map +1 -1
  28. package/dist/cli/post-comments.d.ts +15 -0
  29. package/dist/cli/post-comments.d.ts.map +1 -0
  30. package/dist/cli/post-comments.js +216 -0
  31. package/dist/cli/post-comments.js.map +1 -0
  32. package/dist/cli/review-local.d.ts +3 -0
  33. package/dist/cli/review-local.d.ts.map +1 -1
  34. package/dist/cli/review-local.js +46 -63
  35. package/dist/cli/review-local.js.map +1 -1
  36. package/dist/cli/review-mr.d.ts +7 -0
  37. package/dist/cli/review-mr.d.ts.map +1 -1
  38. package/dist/cli/review-mr.js +88 -117
  39. package/dist/cli/review-mr.js.map +1 -1
  40. package/dist/cli/review-pr.d.ts +6 -0
  41. package/dist/cli/review-pr.d.ts.map +1 -1
  42. package/dist/cli/review-pr.js +81 -114
  43. package/dist/cli/review-pr.js.map +1 -1
  44. package/dist/cli/show-changes.d.ts +15 -0
  45. package/dist/cli/show-changes.d.ts.map +1 -0
  46. package/dist/cli/show-changes.js +184 -0
  47. package/dist/cli/show-changes.js.map +1 -0
  48. package/dist/github/client.d.ts +199 -4
  49. package/dist/github/client.d.ts.map +1 -1
  50. package/dist/github/client.js +37 -2
  51. package/dist/github/client.js.map +1 -1
  52. package/dist/github/client.test.d.ts +2 -0
  53. package/dist/github/client.test.d.ts.map +1 -0
  54. package/dist/github/client.test.js +206 -0
  55. package/dist/github/client.test.js.map +1 -0
  56. package/dist/github/platform-adapter.d.ts +31 -0
  57. package/dist/github/platform-adapter.d.ts.map +1 -0
  58. package/dist/github/platform-adapter.js +129 -0
  59. package/dist/github/platform-adapter.js.map +1 -0
  60. package/dist/github/platform-adapter.test.d.ts +2 -0
  61. package/dist/github/platform-adapter.test.d.ts.map +1 -0
  62. package/dist/github/platform-adapter.test.js +40 -0
  63. package/dist/github/platform-adapter.test.js.map +1 -0
  64. package/dist/gitlab/client.d.ts +12 -0
  65. package/dist/gitlab/client.d.ts.map +1 -1
  66. package/dist/gitlab/client.js +19 -1
  67. package/dist/gitlab/client.js.map +1 -1
  68. package/dist/gitlab/diff-parser.test.d.ts +2 -0
  69. package/dist/gitlab/diff-parser.test.d.ts.map +1 -0
  70. package/dist/gitlab/diff-parser.test.js +315 -0
  71. package/dist/gitlab/diff-parser.test.js.map +1 -0
  72. package/dist/gitlab/platform-adapter.d.ts +27 -0
  73. package/dist/gitlab/platform-adapter.d.ts.map +1 -0
  74. package/dist/gitlab/platform-adapter.js +121 -0
  75. package/dist/gitlab/platform-adapter.js.map +1 -0
  76. package/dist/gitlab/platform-adapter.test.d.ts +2 -0
  77. package/dist/gitlab/platform-adapter.test.d.ts.map +1 -0
  78. package/dist/gitlab/platform-adapter.test.js +21 -0
  79. package/dist/gitlab/platform-adapter.test.js.map +1 -0
  80. package/dist/index.test.d.ts +2 -0
  81. package/dist/index.test.d.ts.map +1 -0
  82. package/dist/index.test.js +7 -0
  83. package/dist/index.test.js.map +1 -0
  84. package/dist/lib/change-summary.d.ts +8 -0
  85. package/dist/lib/change-summary.d.ts.map +1 -0
  86. package/dist/lib/change-summary.js +2 -0
  87. package/dist/lib/change-summary.js.map +1 -0
  88. package/dist/lib/code-quality-report.d.ts +44 -0
  89. package/dist/lib/code-quality-report.d.ts.map +1 -0
  90. package/dist/lib/code-quality-report.js +62 -0
  91. package/dist/lib/code-quality-report.js.map +1 -0
  92. package/dist/lib/code-quality-report.test.d.ts +2 -0
  93. package/dist/lib/code-quality-report.test.d.ts.map +1 -0
  94. package/dist/lib/code-quality-report.test.js +327 -0
  95. package/dist/lib/code-quality-report.test.js.map +1 -0
  96. package/dist/{gitlab → lib}/comment-formatter.d.ts +6 -3
  97. package/dist/lib/comment-formatter.d.ts.map +1 -0
  98. package/dist/{gitlab → lib}/comment-formatter.js +63 -16
  99. package/dist/lib/comment-formatter.js.map +1 -0
  100. package/dist/lib/comment-formatter.test.d.ts +2 -0
  101. package/dist/lib/comment-formatter.test.d.ts.map +1 -0
  102. package/dist/lib/comment-formatter.test.js +607 -0
  103. package/dist/lib/comment-formatter.test.js.map +1 -0
  104. package/dist/lib/comment-manager.d.ts +61 -0
  105. package/dist/lib/comment-manager.d.ts.map +1 -0
  106. package/dist/lib/comment-manager.js +91 -0
  107. package/dist/lib/comment-manager.js.map +1 -0
  108. package/dist/lib/comment-manager.test.d.ts +2 -0
  109. package/dist/lib/comment-manager.test.d.ts.map +1 -0
  110. package/dist/lib/comment-manager.test.js +618 -0
  111. package/dist/lib/comment-manager.test.js.map +1 -0
  112. package/dist/lib/comment-poster.d.ts +21 -0
  113. package/dist/lib/comment-poster.d.ts.map +1 -0
  114. package/dist/lib/comment-poster.js +96 -0
  115. package/dist/lib/comment-poster.js.map +1 -0
  116. package/dist/lib/comment-poster.test.d.ts +5 -0
  117. package/dist/lib/comment-poster.test.d.ts.map +1 -0
  118. package/dist/lib/comment-poster.test.js +215 -0
  119. package/dist/lib/comment-poster.test.js.map +1 -0
  120. package/dist/lib/config-model-overrides.test.d.ts +12 -0
  121. package/dist/lib/config-model-overrides.test.d.ts.map +1 -0
  122. package/dist/lib/config-model-overrides.test.js +254 -0
  123. package/dist/lib/config-model-overrides.test.js.map +1 -0
  124. package/dist/lib/config.d.ts +93 -8
  125. package/dist/lib/config.d.ts.map +1 -1
  126. package/dist/lib/config.js +178 -25
  127. package/dist/lib/config.js.map +1 -1
  128. package/dist/lib/config.test.d.ts +2 -0
  129. package/dist/lib/config.test.d.ts.map +1 -0
  130. package/dist/lib/config.test.js +36 -0
  131. package/dist/lib/config.test.js.map +1 -0
  132. package/dist/lib/context-compression.d.ts +19 -0
  133. package/dist/lib/context-compression.d.ts.map +1 -0
  134. package/dist/lib/context-compression.js +170 -0
  135. package/dist/lib/context-compression.js.map +1 -0
  136. package/dist/lib/context-compression.test.d.ts +2 -0
  137. package/dist/lib/context-compression.test.d.ts.map +1 -0
  138. package/dist/lib/context-compression.test.js +33 -0
  139. package/dist/lib/context-compression.test.js.map +1 -0
  140. package/dist/lib/context-loader.d.ts +29 -0
  141. package/dist/lib/context-loader.d.ts.map +1 -0
  142. package/dist/lib/context-loader.js +75 -0
  143. package/dist/lib/context-loader.js.map +1 -0
  144. package/dist/lib/context-loader.test.d.ts +2 -0
  145. package/dist/lib/context-loader.test.d.ts.map +1 -0
  146. package/dist/lib/context-loader.test.js +207 -0
  147. package/dist/lib/context-loader.test.js.map +1 -0
  148. package/dist/lib/describe-core.d.ts +9 -0
  149. package/dist/lib/describe-core.d.ts.map +1 -0
  150. package/dist/lib/describe-core.js +71 -0
  151. package/dist/lib/describe-core.js.map +1 -0
  152. package/dist/lib/describe-core.test.d.ts +2 -0
  153. package/dist/lib/describe-core.test.d.ts.map +1 -0
  154. package/dist/lib/describe-core.test.js +208 -0
  155. package/dist/lib/describe-core.test.js.map +1 -0
  156. package/dist/lib/describe-output-path.test.d.ts +2 -0
  157. package/dist/lib/describe-output-path.test.d.ts.map +1 -0
  158. package/dist/lib/describe-output-path.test.js +51 -0
  159. package/dist/lib/describe-output-path.test.js.map +1 -0
  160. package/dist/lib/describe-parser.d.ts +3 -0
  161. package/dist/lib/describe-parser.d.ts.map +1 -0
  162. package/dist/lib/describe-parser.js +163 -0
  163. package/dist/lib/describe-parser.js.map +1 -0
  164. package/dist/lib/describe-parser.test.d.ts +2 -0
  165. package/dist/lib/describe-parser.test.d.ts.map +1 -0
  166. package/dist/lib/describe-parser.test.js +282 -0
  167. package/dist/lib/describe-parser.test.js.map +1 -0
  168. package/dist/lib/description-executor.d.ts +22 -0
  169. package/dist/lib/description-executor.d.ts.map +1 -0
  170. package/dist/lib/description-executor.js +72 -0
  171. package/dist/lib/description-executor.js.map +1 -0
  172. package/dist/lib/description-formatter.d.ts +37 -0
  173. package/dist/lib/description-formatter.d.ts.map +1 -0
  174. package/dist/lib/description-formatter.js +219 -0
  175. package/dist/lib/description-formatter.js.map +1 -0
  176. package/dist/{gitlab → lib}/diff-parser.d.ts +11 -0
  177. package/dist/lib/diff-parser.d.ts.map +1 -0
  178. package/dist/{gitlab → lib}/diff-parser.js +40 -3
  179. package/dist/lib/diff-parser.js.map +1 -0
  180. package/dist/lib/issue-parser.d.ts +29 -0
  181. package/dist/lib/issue-parser.d.ts.map +1 -0
  182. package/dist/lib/issue-parser.js +153 -0
  183. package/dist/lib/issue-parser.js.map +1 -0
  184. package/dist/lib/issue-parser.test.d.ts +2 -0
  185. package/dist/lib/issue-parser.test.d.ts.map +1 -0
  186. package/dist/lib/issue-parser.test.js +281 -0
  187. package/dist/lib/issue-parser.test.js.map +1 -0
  188. package/dist/lib/json-output-schema.d.ts +207 -0
  189. package/dist/lib/json-output-schema.d.ts.map +1 -0
  190. package/dist/lib/json-output-schema.js +124 -0
  191. package/dist/lib/json-output-schema.js.map +1 -0
  192. package/dist/lib/json-output-schema.test.d.ts +2 -0
  193. package/dist/lib/json-output-schema.test.d.ts.map +1 -0
  194. package/dist/lib/json-output-schema.test.js +92 -0
  195. package/dist/lib/json-output-schema.test.js.map +1 -0
  196. package/dist/lib/json-output.d.ts +43 -0
  197. package/dist/lib/json-output.d.ts.map +1 -0
  198. package/dist/lib/json-output.js +34 -0
  199. package/dist/lib/json-output.js.map +1 -0
  200. package/dist/lib/output-paths.d.ts +6 -0
  201. package/dist/lib/output-paths.d.ts.map +1 -0
  202. package/dist/lib/output-paths.js +5 -0
  203. package/dist/lib/output-paths.js.map +1 -0
  204. package/dist/lib/platform-client.d.ts +130 -0
  205. package/dist/lib/platform-client.d.ts.map +1 -0
  206. package/dist/lib/platform-client.js +8 -0
  207. package/dist/lib/platform-client.js.map +1 -0
  208. package/dist/lib/position-validator.d.ts +36 -0
  209. package/dist/lib/position-validator.d.ts.map +1 -0
  210. package/dist/lib/position-validator.js +43 -0
  211. package/dist/lib/position-validator.js.map +1 -0
  212. package/dist/lib/repository-validator.d.ts +52 -0
  213. package/dist/lib/repository-validator.d.ts.map +1 -0
  214. package/dist/lib/repository-validator.js +219 -0
  215. package/dist/lib/repository-validator.js.map +1 -0
  216. package/dist/lib/repository-validator.test.d.ts +5 -0
  217. package/dist/lib/repository-validator.test.d.ts.map +1 -0
  218. package/dist/lib/repository-validator.test.js +341 -0
  219. package/dist/lib/repository-validator.test.js.map +1 -0
  220. package/dist/lib/review-core.d.ts +66 -0
  221. package/dist/lib/review-core.d.ts.map +1 -0
  222. package/dist/lib/review-core.js +449 -0
  223. package/dist/lib/review-core.js.map +1 -0
  224. package/dist/lib/review-core.test.d.ts +2 -0
  225. package/dist/lib/review-core.test.d.ts.map +1 -0
  226. package/dist/lib/review-core.test.js +552 -0
  227. package/dist/lib/review-core.test.js.map +1 -0
  228. package/dist/lib/review-orchestrator.d.ts +77 -0
  229. package/dist/lib/review-orchestrator.d.ts.map +1 -0
  230. package/dist/lib/review-orchestrator.js +124 -0
  231. package/dist/lib/review-orchestrator.js.map +1 -0
  232. package/dist/lib/review-orchestrator.test.d.ts +2 -0
  233. package/dist/lib/review-orchestrator.test.d.ts.map +1 -0
  234. package/dist/lib/review-orchestrator.test.js +413 -0
  235. package/dist/lib/review-orchestrator.test.js.map +1 -0
  236. package/dist/lib/review-output-path.test.d.ts +2 -0
  237. package/dist/lib/review-output-path.test.d.ts.map +1 -0
  238. package/dist/lib/review-output-path.test.js +83 -0
  239. package/dist/lib/review-output-path.test.js.map +1 -0
  240. package/dist/lib/review-parser.d.ts +2 -0
  241. package/dist/lib/review-parser.d.ts.map +1 -0
  242. package/dist/lib/review-parser.js +100 -0
  243. package/dist/lib/review-parser.js.map +1 -0
  244. package/dist/lib/unified-review-executor.d.ts +49 -0
  245. package/dist/lib/unified-review-executor.d.ts.map +1 -0
  246. package/dist/lib/unified-review-executor.js +158 -0
  247. package/dist/lib/unified-review-executor.js.map +1 -0
  248. package/dist/lib/unified-review-executor.test.d.ts +5 -0
  249. package/dist/lib/unified-review-executor.test.d.ts.map +1 -0
  250. package/dist/lib/unified-review-executor.test.js +344 -0
  251. package/dist/lib/unified-review-executor.test.js.map +1 -0
  252. package/dist/lib/write-json-output.d.ts +13 -0
  253. package/dist/lib/write-json-output.d.ts.map +1 -0
  254. package/dist/lib/write-json-output.js +37 -0
  255. package/dist/lib/write-json-output.js.map +1 -0
  256. package/dist/opencode/agent-loader.d.ts +3 -4
  257. package/dist/opencode/agent-loader.d.ts.map +1 -1
  258. package/dist/opencode/agent-loader.js +51 -42
  259. package/dist/opencode/agent-loader.js.map +1 -1
  260. package/dist/opencode/agent-skill-overlay.d.ts +11 -0
  261. package/dist/opencode/agent-skill-overlay.d.ts.map +1 -0
  262. package/dist/opencode/agent-skill-overlay.js +164 -0
  263. package/dist/opencode/agent-skill-overlay.js.map +1 -0
  264. package/dist/opencode/client.d.ts +14 -5
  265. package/dist/opencode/client.d.ts.map +1 -1
  266. package/dist/opencode/client.js +311 -32
  267. package/dist/opencode/client.js.map +1 -1
  268. package/dist/opencode/client.test.d.ts +2 -0
  269. package/dist/opencode/client.test.d.ts.map +1 -0
  270. package/dist/opencode/client.test.js +317 -0
  271. package/dist/opencode/client.test.js.map +1 -0
  272. package/dist/opencode/opencode-paths.d.ts +2 -0
  273. package/dist/opencode/opencode-paths.d.ts.map +1 -0
  274. package/dist/opencode/opencode-paths.js +7 -0
  275. package/dist/opencode/opencode-paths.js.map +1 -0
  276. package/dist/opencode/skill-loader.d.ts +6 -0
  277. package/dist/opencode/skill-loader.d.ts.map +1 -0
  278. package/dist/opencode/skill-loader.js +36 -0
  279. package/dist/opencode/skill-loader.js.map +1 -0
  280. package/package.json +29 -20
  281. package/.opencode/agent/github-reviewer.md +0 -62
  282. package/.opencode/agent/gitlab-reviewer.md +0 -62
  283. package/.opencode/agent/local-reviewer.md +0 -71
  284. package/dist/gitlab/comment-formatter.d.ts.map +0 -1
  285. package/dist/gitlab/comment-formatter.js.map +0 -1
  286. package/dist/gitlab/diff-parser.d.ts.map +0 -1
  287. package/dist/gitlab/diff-parser.js.map +0 -1
package/dist/cli/init.js CHANGED
@@ -1,28 +1,97 @@
1
1
  import { existsSync, mkdirSync, writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
+ import * as readline from 'readline';
3
4
  import chalk from 'chalk';
4
- const DEFAULT_DRS_CONFIG = `# DRS Configuration
5
- # Documentation: https://github.com/your-org/drs
5
+ /**
6
+ * Interactive prompt helper using readline
7
+ */
8
+ function createPrompt() {
9
+ const rl = readline.createInterface({
10
+ input: process.stdin,
11
+ output: process.stdout,
12
+ });
13
+ return {
14
+ ask: (question, defaultValue) => {
15
+ const defaultHint = defaultValue ? ` (${defaultValue})` : '';
16
+ return new Promise((resolve) => {
17
+ rl.question(`${question}${defaultHint}: `, (answer) => {
18
+ resolve(answer.trim() || defaultValue || '');
19
+ });
20
+ });
21
+ },
22
+ confirm: (question, defaultValue = false) => {
23
+ const hint = defaultValue ? '(Y/n)' : '(y/N)';
24
+ return new Promise((resolve) => {
25
+ rl.question(`${question} ${hint}: `, (answer) => {
26
+ const normalized = answer.trim().toLowerCase();
27
+ if (normalized === '') {
28
+ resolve(defaultValue);
29
+ }
30
+ else {
31
+ resolve(normalized === 'y' || normalized === 'yes');
32
+ }
33
+ });
34
+ });
35
+ },
36
+ close: () => rl.close(),
37
+ };
38
+ }
39
+ /**
40
+ * Generate drs.config.yaml content from init config
41
+ */
42
+ function generateConfigYaml(config) {
43
+ let yaml = `# DRS Configuration
44
+ # Generated by: drs init
45
+ # Documentation: https://github.com/manojlds/drs
6
46
 
7
- review:
8
- # Review agents to use
9
- agents:
10
- - security
11
- - quality
12
- - style
13
- - performance
47
+ `;
48
+ // Add custom provider if configured
49
+ if (config.useCustomProvider && config.provider) {
50
+ yaml += `# Custom AI Provider
51
+ opencode:
52
+ provider:
53
+ ${config.provider.name}:
54
+ npm: "${config.provider.npm}"
55
+ name: "${config.provider.name}"
56
+ options:
57
+ baseURL: "${config.provider.baseURL}"
58
+ apiKey: "{env:${config.provider.apiKeyEnvVar}}"
59
+ models:
60
+ ${config.provider.modelId}:
61
+ name: "${config.provider.modelDisplayName}"
14
62
 
15
- # Automatically review new MRs
16
- autoReview: true
63
+ `;
64
+ }
65
+ yaml += `review:
66
+ # Default model for all agents
67
+ default:
68
+ model: ${config.defaultModel}
17
69
 
18
- # Review when bot is mentioned
19
- reviewOnMention: true
70
+ # Review mode: multi-agent | unified | hybrid
71
+ # mode: multi-agent
20
72
 
21
- # Review when these labels are added
22
- reviewOnLabel:
23
- - needs-review
24
- - security-review
73
+ # Unified review settings (used for unified/hybrid modes)
74
+ # unified:
75
+ # model: ${config.defaultModel}
76
+ # severityThreshold: HIGH
25
77
 
78
+ # Review agents
79
+ agents:
80
+ `;
81
+ // Add agents with optional model overrides
82
+ for (const agent of config.agents) {
83
+ const agentModel = config.agentModels[agent];
84
+ if (agentModel && agentModel !== config.defaultModel) {
85
+ yaml += ` - name: ${agent}
86
+ model: ${agentModel}
87
+ `;
88
+ }
89
+ else {
90
+ yaml += ` - ${agent}
91
+ `;
92
+ }
93
+ }
94
+ yaml += `
26
95
  # Files to ignore during review
27
96
  ignorePatterns:
28
97
  - "*.test.ts"
@@ -33,134 +102,282 @@ review:
33
102
  - "package-lock.json"
34
103
  - "yarn.lock"
35
104
  - "pnpm-lock.yaml"
36
-
37
- output:
38
- format: terminal
39
- verbosity: normal
40
105
  `;
41
- const EXAMPLE_GITLAB_CI = `# Example GitLab CI configuration for DRS
42
- # Add this to your .gitlab-ci.yml file
43
-
44
- stages:
45
- - review
46
- - test
47
- - deploy
48
-
49
- # AI Code Review
50
- ai_review:
51
- stage: review
52
- image: node:20
53
- only:
54
- - merge_requests
55
- script:
56
- - npm install -g @diff-review-system/drs
57
- - drs review-mr --mr $CI_MERGE_REQUEST_IID --project $CI_PROJECT_ID --post-comments
58
- variables:
59
- OPENCODE_SERVER: "http://opencode.internal:3000"
60
- GITLAB_TOKEN: $CI_JOB_TOKEN
61
- allow_failure: true
106
+ return yaml;
107
+ }
108
+ const DEFAULT_GLOBAL_CONTEXT = `# Project Context
109
+
110
+ ## Architecture
111
+ <!-- Describe your system architecture -->
112
+
113
+ ## Technology Stack
114
+ <!-- List your main technologies, frameworks, and tools -->
115
+
116
+ ## Trust Boundaries
117
+ <!-- Explain what inputs are trusted vs untrusted -->
118
+
119
+ ## Review Guidelines
120
+ <!-- Any project-specific guidelines for reviewers -->
62
121
  `;
63
- const EXAMPLE_ENV = `# DRS Environment Variables
122
+ const AGENT_CONTEXT_TEMPLATE = `# {AGENT} Agent Context
64
123
 
65
- # OpenCode Server URL
66
- OPENCODE_SERVER=http://localhost:3000
124
+ ## Project-Specific Rules
67
125
 
68
- # GitLab Configuration
69
- GITLAB_URL=https://gitlab.com
70
- GITLAB_TOKEN=your-gitlab-token-here
126
+ ### What NOT to Flag
127
+ <!-- List patterns that are valid for your project -->
71
128
 
72
- # Review Configuration (optional, overrides .drs/drs.config.yaml)
73
- REVIEW_AGENTS=security,quality,style,performance
129
+ ### What TO Flag
130
+ <!-- List concerns specific to your project -->
131
+
132
+ ## Severity Calibration
133
+ - **CRITICAL**: Actively exploitable issues with high impact
134
+ - **HIGH**: Real issues requiring immediate attention
135
+ - **MEDIUM**: Potential edge cases or hardening opportunities
136
+ - **LOW**: Best practice improvements
74
137
  `;
75
- /**
76
- * Initialize DRS configuration in a project
77
- */
78
- export async function initProject(projectPath) {
79
- console.log(chalk.bold.cyan('\n🚀 Initializing DRS Configuration\n'));
80
- // Create .drs directory
81
- const drsDir = join(projectPath, '.drs');
82
- if (!existsSync(drsDir)) {
83
- mkdirSync(drsDir, { recursive: true });
84
- console.log(chalk.green('✓'), 'Created', chalk.cyan('.drs/'), 'directory');
85
- }
86
- else {
87
- console.log(chalk.yellow('⚠'), chalk.cyan('.drs/'), 'directory already exists');
88
- }
89
- // Create .drs/agents directory
90
- const agentsDir = join(drsDir, 'agents');
91
- if (!existsSync(agentsDir)) {
92
- mkdirSync(agentsDir, { recursive: true });
93
- console.log(chalk.green('✓'), 'Created', chalk.cyan('.drs/agents/'), 'directory');
94
- }
95
- // Create drs.config.yaml
96
- const configPath = join(drsDir, 'drs.config.yaml');
97
- if (!existsSync(configPath)) {
98
- writeFileSync(configPath, DEFAULT_DRS_CONFIG, 'utf-8');
99
- console.log(chalk.green('✓'), 'Created', chalk.cyan('.drs/drs.config.yaml'));
100
- }
101
- else {
102
- console.log(chalk.yellow('⚠'), chalk.cyan('.drs/drs.config.yaml'), 'already exists');
103
- }
104
- // Create examples directory
105
- const examplesDir = join(drsDir, 'examples');
106
- if (!existsSync(examplesDir)) {
107
- mkdirSync(examplesDir, { recursive: true });
108
- // Write example GitLab CI config
109
- writeFileSync(join(examplesDir, 'gitlab-ci.example.yml'), EXAMPLE_GITLAB_CI, 'utf-8');
110
- // Write example .env file
111
- writeFileSync(join(examplesDir, '.env.example'), EXAMPLE_ENV, 'utf-8');
112
- console.log(chalk.green('✓'), 'Created example configurations in', chalk.cyan('.drs/examples/'));
113
- }
114
- // Create custom agents info
115
- const customAgentReadme = `# Custom Review Agents
138
+ const AGENTS_README = `# DRS Agent Customization
139
+
140
+ DRS supports three levels of agent customization:
116
141
 
117
- Place your custom review agent definitions (markdown files) in this directory.
142
+ ## 1. Global Context (.drs/context.md)
118
143
 
119
- ## Example: Custom Security Agent
144
+ Project-wide context applied to ALL agents. Use this for:
145
+ - Architecture overview
146
+ - Technology stack
147
+ - Trust boundaries
148
+ - General review guidelines
120
149
 
121
- Create a file \`.drs/agents/security.md\` to override the default security agent:
150
+ ## 2. Agent-Specific Context (.drs/agents/{name}/context.md)
122
151
 
152
+ **Additive** - Enhances the default agent with project-specific rules.
153
+
154
+ Example: \`.drs/agents/security/context.md\`
155
+ \`\`\`markdown
156
+ # Security Agent Context
157
+
158
+ ## What NOT to Flag
159
+ - process.env for configuration (standard practice)
160
+ - Data from trusted APIs
161
+
162
+ ## What TO Flag
163
+ - SQL injection vulnerabilities
164
+ - XSS in user-facing endpoints
165
+ \`\`\`
166
+
167
+ ## 3. Full Agent Override (.drs/agents/{name}/agent.md)
168
+
169
+ **Replacement** - Completely replaces the default agent.
170
+
171
+ Example: \`.drs/agents/security/agent.md\`
123
172
  \`\`\`markdown
124
173
  ---
125
- description: Custom security reviewer with project-specific rules
126
- color: "#E53E3E"
127
- model: opencode/claude-sonnet-4-5
174
+ description: Custom security reviewer
128
175
  tools:
129
176
  Read: true
130
- Glob: true
131
177
  Grep: true
132
178
  ---
133
179
 
134
- You are a security expert for this specific application.
135
-
136
- ## Project-Specific Security Rules
180
+ You are a security expert specialized in [your domain].
137
181
 
138
- [Add your custom security rules here]
182
+ [Complete custom instructions here]
139
183
  \`\`\`
140
184
 
141
- ## Priority Order
185
+ ## Custom Agents
142
186
 
143
- DRS loads agents in this order:
144
- 1. \`.drs/agents/\` (highest priority - project-specific)
145
- 2. \`.opencode/agent/\` (standard OpenCode location)
146
- 3. Built-in DRS agents (fallback)
187
+ Create a new folder for custom agents:
188
+ \`.drs/agents/rails-reviewer/agent.md\`
189
+
190
+ Then add to \`.drs/drs.config.yaml\`:
191
+ \`\`\`yaml
192
+ review:
193
+ agents:
194
+ - security
195
+ - quality
196
+ - rails-reviewer # Your custom agent
197
+ \`\`\`
147
198
 
148
199
  ## Learn More
149
200
 
150
- - [DRS Documentation](https://github.com/your-org/drs)
151
- - [OpenCode Agent Guide](https://opencode.ai/docs/agents)
201
+ - [DRS Documentation](https://github.com/manojlds/drs)
152
202
  `;
153
- const agentsReadmePath = join(agentsDir, 'README.md');
154
- if (!existsSync(agentsReadmePath)) {
155
- writeFileSync(agentsReadmePath, customAgentReadme, 'utf-8');
156
- console.log(chalk.green('✓'), 'Created', chalk.cyan('.drs/agents/README.md'));
203
+ /**
204
+ * Initialize DRS configuration in a project with interactive prompts
205
+ */
206
+ export async function initProject(projectPath) {
207
+ console.log(chalk.bold.cyan('\n📋 DRS | Diff Review System Setup\n'));
208
+ const prompt = createPrompt();
209
+ try {
210
+ // Check if already initialized
211
+ const drsDir = join(projectPath, '.drs');
212
+ const configPath = join(drsDir, 'drs.config.yaml');
213
+ if (existsSync(configPath)) {
214
+ const overwrite = await prompt.confirm(chalk.yellow('⚠ .drs/drs.config.yaml already exists. Overwrite?'), false);
215
+ if (!overwrite) {
216
+ console.log(chalk.gray('\nInit cancelled. Existing config preserved.\n'));
217
+ prompt.close();
218
+ return;
219
+ }
220
+ }
221
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
222
+ // STEP 1: Custom Provider
223
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
224
+ console.log(chalk.bold('\n━━━ AI Provider ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
225
+ const initConfig = {
226
+ useCustomProvider: false,
227
+ defaultModel: '',
228
+ agents: [],
229
+ agentModels: {},
230
+ };
231
+ initConfig.useCustomProvider = await prompt.confirm('Do you need a custom OpenAI-compatible provider?', false);
232
+ if (initConfig.useCustomProvider) {
233
+ console.log(chalk.gray('\nConfiguring custom provider...\n'));
234
+ const providerName = await prompt.ask('Provider name', 'custom');
235
+ const npm = await prompt.ask('NPM package', '@ai-sdk/openai-compatible');
236
+ const baseURL = await prompt.ask('Base URL');
237
+ const apiKeyEnvVar = await prompt.ask('API key environment variable name', 'OPENAI_API_KEY');
238
+ const modelId = await prompt.ask('Model identifier');
239
+ const modelDisplayName = await prompt.ask('Model display name', modelId);
240
+ initConfig.provider = {
241
+ name: providerName,
242
+ npm,
243
+ baseURL,
244
+ apiKeyEnvVar,
245
+ modelId,
246
+ modelDisplayName,
247
+ };
248
+ initConfig.defaultModel = `${providerName}/${modelId}`;
249
+ console.log(chalk.green(`\n✓ Custom provider "${providerName}" configured`));
250
+ }
251
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
252
+ // STEP 2: Model Configuration
253
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
254
+ console.log(chalk.bold('\n━━━ Model Configuration ━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
255
+ if (!initConfig.useCustomProvider) {
256
+ console.log(chalk.gray('Common models:'));
257
+ console.log(chalk.gray(' • anthropic/claude-sonnet-4-5-20250929 (balanced)'));
258
+ console.log(chalk.gray(' • anthropic/claude-opus-4-5-20251101 (premium)'));
259
+ console.log(chalk.gray(' • openai/gpt-4o (OpenAI)'));
260
+ console.log(chalk.gray(' • zhipuai/glm-4.7 (budget)\n'));
261
+ initConfig.defaultModel = await prompt.ask('Default model for all agents', 'anthropic/claude-sonnet-4-5-20250929');
262
+ }
263
+ else {
264
+ console.log(chalk.gray(`Using custom provider model: ${initConfig.defaultModel}\n`));
265
+ }
266
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
267
+ // STEP 3: Agent Selection
268
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
269
+ console.log(chalk.bold('\n━━━ Review Agents ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
270
+ const availableAgents = ['security', 'quality', 'style', 'performance'];
271
+ console.log(chalk.gray('Available agents:'));
272
+ console.log(chalk.gray(' • security - Security vulnerabilities & best practices'));
273
+ console.log(chalk.gray(' • quality - Code quality & maintainability'));
274
+ console.log(chalk.gray(' • style - Code style & consistency'));
275
+ console.log(chalk.gray(' • performance - Performance issues & optimizations\n'));
276
+ const agentsInput = await prompt.ask('Agents to enable (comma-separated)', 'security,quality,style,performance');
277
+ initConfig.agents = agentsInput
278
+ .split(',')
279
+ .map((a) => a.trim().toLowerCase())
280
+ .filter((a) => a.length > 0);
281
+ // Validate agents
282
+ const invalidAgents = initConfig.agents.filter((a) => !availableAgents.includes(a));
283
+ if (invalidAgents.length > 0) {
284
+ console.log(chalk.yellow(`\n⚠ Custom agents detected: ${invalidAgents.join(', ')}`));
285
+ console.log(chalk.gray(" You'll need to create agent definitions in .drs/agents/{name}/agent.md"));
286
+ }
287
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
288
+ // STEP 4: Per-Agent Model Overrides
289
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
290
+ console.log(chalk.bold('\n━━━ Per-Agent Model Overrides ━━━━━━━━━━━━━━━━━━━━━\n'));
291
+ const configureOverrides = await prompt.confirm('Configure different models for specific agents?', false);
292
+ if (configureOverrides) {
293
+ console.log(chalk.gray(`\nPress Enter to use default (${initConfig.defaultModel})\n`));
294
+ for (const agent of initConfig.agents) {
295
+ const model = await prompt.ask(`Model for ${agent}`);
296
+ if (model && model !== initConfig.defaultModel) {
297
+ initConfig.agentModels[agent] = model;
298
+ }
299
+ }
300
+ }
301
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
302
+ // Create files
303
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
304
+ console.log(chalk.bold('\n━━━ Creating Files ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
305
+ // Create .drs directory
306
+ if (!existsSync(drsDir)) {
307
+ mkdirSync(drsDir, { recursive: true });
308
+ }
309
+ // Create drs.config.yaml
310
+ writeFileSync(configPath, generateConfigYaml(initConfig), 'utf-8');
311
+ console.log(chalk.green('✓'), 'Created', chalk.cyan('.drs/drs.config.yaml'));
312
+ // Create global context file
313
+ const contextPath = join(drsDir, 'context.md');
314
+ if (!existsSync(contextPath)) {
315
+ writeFileSync(contextPath, DEFAULT_GLOBAL_CONTEXT, 'utf-8');
316
+ console.log(chalk.green('✓'), 'Created', chalk.cyan('.drs/context.md'));
317
+ }
318
+ else {
319
+ console.log(chalk.yellow('⚠'), chalk.cyan('.drs/context.md'), 'already exists');
320
+ }
321
+ // Create agents directory
322
+ const agentsDir = join(drsDir, 'agents');
323
+ if (!existsSync(agentsDir)) {
324
+ mkdirSync(agentsDir, { recursive: true });
325
+ }
326
+ // Create agent context templates for selected agents
327
+ for (const agentName of initConfig.agents) {
328
+ const agentDir = join(agentsDir, agentName);
329
+ if (!existsSync(agentDir)) {
330
+ mkdirSync(agentDir, { recursive: true });
331
+ const agentContextPath = join(agentDir, 'context.md');
332
+ const contextContent = AGENT_CONTEXT_TEMPLATE.replace('{AGENT}', agentName.charAt(0).toUpperCase() + agentName.slice(1));
333
+ writeFileSync(agentContextPath, contextContent, 'utf-8');
334
+ }
335
+ }
336
+ console.log(chalk.green('✓'), 'Created agent context templates in', chalk.cyan('.drs/agents/'));
337
+ // Create agents README
338
+ const agentsReadmePath = join(agentsDir, 'README.md');
339
+ if (!existsSync(agentsReadmePath)) {
340
+ writeFileSync(agentsReadmePath, AGENTS_README, 'utf-8');
341
+ console.log(chalk.green('✓'), 'Created', chalk.cyan('.drs/agents/README.md'));
342
+ }
343
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
344
+ // Summary
345
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
346
+ console.log(chalk.bold.green('\n✓ DRS initialization complete!\n'));
347
+ console.log(chalk.bold('Configuration Summary:'));
348
+ console.log(` Provider: ${initConfig.useCustomProvider ? initConfig.provider?.name : 'Built-in (Anthropic/OpenAI/etc)'}`);
349
+ console.log(` Default Model: ${initConfig.defaultModel}`);
350
+ console.log(` Agents: ${initConfig.agents.join(', ')}`);
351
+ if (Object.keys(initConfig.agentModels).length > 0) {
352
+ console.log(' Model Overrides:');
353
+ for (const [agent, model] of Object.entries(initConfig.agentModels)) {
354
+ console.log(` • ${agent}: ${model}`);
355
+ }
356
+ }
357
+ console.log(chalk.bold('\nNext steps:\n'));
358
+ // Determine which API key is needed
359
+ let apiKeyHint;
360
+ if (initConfig.useCustomProvider && initConfig.provider) {
361
+ apiKeyHint = `export ${initConfig.provider.apiKeyEnvVar}=your-key`;
362
+ }
363
+ else if (initConfig.defaultModel.startsWith('anthropic/')) {
364
+ apiKeyHint = 'export ANTHROPIC_API_KEY=your-key';
365
+ }
366
+ else if (initConfig.defaultModel.startsWith('openai/')) {
367
+ apiKeyHint = 'export OPENAI_API_KEY=your-key';
368
+ }
369
+ else {
370
+ apiKeyHint = 'export <PROVIDER>_API_KEY=your-key';
371
+ }
372
+ console.log(` 1. Set API key: ${chalk.cyan(apiKeyHint)}`);
373
+ console.log(` 2. Edit project context: ${chalk.cyan('.drs/context.md')}`);
374
+ console.log(` 3. Run a review: ${chalk.cyan('drs review-pr --pr <number> --owner <owner> --repo <repo>')}`);
375
+ console.log('');
376
+ prompt.close();
377
+ }
378
+ catch (error) {
379
+ prompt.close();
380
+ throw error;
157
381
  }
158
- // Summary
159
- console.log(chalk.bold.green('\n✓ DRS initialization complete!\n'));
160
- console.log(chalk.bold('Next steps:\n'));
161
- console.log(' 1. Edit', chalk.cyan('.drs/drs.config.yaml'), 'to customize review behavior');
162
- console.log(' 2. Set environment variables (see', chalk.cyan('.drs/examples/.env.example') + ')');
163
- console.log(' 3. Run', chalk.cyan('drs review-local'), 'to review local changes');
164
- console.log(' 4. See', chalk.cyan('.drs/examples/gitlab-ci.example.yml'), 'for CI/CD setup\n');
165
382
  }
166
383
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface PostCommentsOptions {
2
+ inputPath: string;
3
+ owner?: string;
4
+ repo?: string;
5
+ prNumber?: number;
6
+ projectId?: string;
7
+ mrIid?: number;
8
+ workingDir?: string;
9
+ skipRepoCheck?: boolean;
10
+ }
11
+ /**
12
+ * Post comments from a saved review JSON to GitHub or GitLab.
13
+ */
14
+ export declare function postCommentsFromJson(options: PostCommentsOptions): Promise<void>;
15
+ //# sourceMappingURL=post-comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-comments.d.ts","sourceRoot":"","sources":["../../src/cli/post-comments.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA0FD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkItF"}