@diff-review-system/drs 1.0.0 → 1.1.2
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.
- package/.opencode/agent/github-reviewer.md +22 -7
- package/.opencode/agent/gitlab-reviewer.md +22 -7
- package/.opencode/agent/local-reviewer.md +21 -29
- package/.opencode/agent/review/performance.md +22 -13
- package/.opencode/agent/review/quality.md +22 -13
- package/.opencode/agent/review/security.md +22 -19
- package/.opencode/agent/review/style.md +22 -10
- package/.opencode/opencode.jsonc +7 -19
- package/README.md +175 -69
- package/dist/ci/runner.d.ts.map +1 -1
- package/dist/ci/runner.js +2 -4
- package/dist/ci/runner.js.map +1 -1
- package/dist/cli/index.js +14 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +112 -23
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/review-local.d.ts.map +1 -1
- package/dist/cli/review-local.js +27 -70
- package/dist/cli/review-local.js.map +1 -1
- package/dist/cli/review-mr.d.ts +1 -0
- package/dist/cli/review-mr.d.ts.map +1 -1
- package/dist/cli/review-mr.js +34 -119
- package/dist/cli/review-mr.js.map +1 -1
- package/dist/cli/review-pr.d.ts.map +1 -1
- package/dist/cli/review-pr.js +74 -114
- package/dist/cli/review-pr.js.map +1 -1
- package/dist/github/client.d.ts +199 -4
- package/dist/github/client.d.ts.map +1 -1
- package/dist/github/client.js +37 -2
- package/dist/github/client.js.map +1 -1
- package/dist/github/client.test.d.ts +2 -0
- package/dist/github/client.test.d.ts.map +1 -0
- package/dist/github/client.test.js +206 -0
- package/dist/github/client.test.js.map +1 -0
- package/dist/github/platform-adapter.d.ts +31 -0
- package/dist/github/platform-adapter.d.ts.map +1 -0
- package/dist/github/platform-adapter.js +127 -0
- package/dist/github/platform-adapter.js.map +1 -0
- package/dist/github/platform-adapter.test.d.ts +2 -0
- package/dist/github/platform-adapter.test.d.ts.map +1 -0
- package/dist/github/platform-adapter.test.js +40 -0
- package/dist/github/platform-adapter.test.js.map +1 -0
- package/dist/gitlab/client.d.ts +12 -0
- package/dist/gitlab/client.d.ts.map +1 -1
- package/dist/gitlab/client.js +18 -0
- package/dist/gitlab/client.js.map +1 -1
- package/dist/gitlab/diff-parser.test.d.ts +2 -0
- package/dist/gitlab/diff-parser.test.d.ts.map +1 -0
- package/dist/gitlab/diff-parser.test.js +315 -0
- package/dist/gitlab/diff-parser.test.js.map +1 -0
- package/dist/gitlab/platform-adapter.d.ts +27 -0
- package/dist/gitlab/platform-adapter.d.ts.map +1 -0
- package/dist/gitlab/platform-adapter.js +120 -0
- package/dist/gitlab/platform-adapter.js.map +1 -0
- package/dist/gitlab/platform-adapter.test.d.ts +2 -0
- package/dist/gitlab/platform-adapter.test.d.ts.map +1 -0
- package/dist/gitlab/platform-adapter.test.js +21 -0
- package/dist/gitlab/platform-adapter.test.js.map +1 -0
- package/dist/index.test.d.ts +2 -0
- package/dist/index.test.d.ts.map +1 -0
- package/dist/index.test.js +7 -0
- package/dist/index.test.js.map +1 -0
- package/dist/lib/code-quality-report.d.ts +44 -0
- package/dist/lib/code-quality-report.d.ts.map +1 -0
- package/dist/lib/code-quality-report.js +62 -0
- package/dist/lib/code-quality-report.js.map +1 -0
- package/dist/lib/code-quality-report.test.d.ts +2 -0
- package/dist/lib/code-quality-report.test.d.ts.map +1 -0
- package/dist/lib/code-quality-report.test.js +327 -0
- package/dist/lib/code-quality-report.test.js.map +1 -0
- package/dist/{gitlab → lib}/comment-formatter.d.ts +4 -2
- package/dist/lib/comment-formatter.d.ts.map +1 -0
- package/dist/{gitlab → lib}/comment-formatter.js +48 -15
- package/dist/lib/comment-formatter.js.map +1 -0
- package/dist/lib/comment-manager.d.ts +61 -0
- package/dist/lib/comment-manager.d.ts.map +1 -0
- package/dist/lib/comment-manager.js +91 -0
- package/dist/lib/comment-manager.js.map +1 -0
- package/dist/lib/config-model-overrides.test.d.ts +12 -0
- package/dist/lib/config-model-overrides.test.d.ts.map +1 -0
- package/dist/lib/config-model-overrides.test.js +224 -0
- package/dist/lib/config-model-overrides.test.js.map +1 -0
- package/dist/lib/config.d.ts +30 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +70 -11
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/config.test.d.ts +2 -0
- package/dist/lib/config.test.d.ts.map +1 -0
- package/dist/lib/config.test.js +28 -0
- package/dist/lib/config.test.js.map +1 -0
- package/dist/lib/context-loader.d.ts +29 -0
- package/dist/lib/context-loader.d.ts.map +1 -0
- package/dist/lib/context-loader.js +68 -0
- package/dist/lib/context-loader.js.map +1 -0
- package/dist/lib/diff-parser.d.ts.map +1 -0
- package/dist/{gitlab → lib}/diff-parser.js +3 -3
- package/dist/lib/diff-parser.js.map +1 -0
- package/dist/lib/issue-parser.d.ts +29 -0
- package/dist/lib/issue-parser.d.ts.map +1 -0
- package/dist/lib/issue-parser.js +151 -0
- package/dist/lib/issue-parser.js.map +1 -0
- package/dist/lib/issue-parser.test.d.ts +2 -0
- package/dist/lib/issue-parser.test.d.ts.map +1 -0
- package/dist/lib/issue-parser.test.js +281 -0
- package/dist/lib/issue-parser.test.js.map +1 -0
- package/dist/lib/platform-client.d.ts +130 -0
- package/dist/lib/platform-client.d.ts.map +1 -0
- package/dist/lib/platform-client.js +8 -0
- package/dist/lib/platform-client.js.map +1 -0
- package/dist/lib/position-validator.d.ts +36 -0
- package/dist/lib/position-validator.d.ts.map +1 -0
- package/dist/lib/position-validator.js +43 -0
- package/dist/lib/position-validator.js.map +1 -0
- package/dist/lib/review-orchestrator.d.ts +60 -0
- package/dist/lib/review-orchestrator.d.ts.map +1 -0
- package/dist/lib/review-orchestrator.js +183 -0
- package/dist/lib/review-orchestrator.js.map +1 -0
- package/dist/lib/unified-review-executor.d.ts +32 -0
- package/dist/lib/unified-review-executor.d.ts.map +1 -0
- package/dist/lib/unified-review-executor.js +228 -0
- package/dist/lib/unified-review-executor.js.map +1 -0
- package/dist/opencode/agent-loader.d.ts.map +1 -1
- package/dist/opencode/agent-loader.js +5 -10
- package/dist/opencode/agent-loader.js.map +1 -1
- package/dist/opencode/client.d.ts +3 -2
- package/dist/opencode/client.d.ts.map +1 -1
- package/dist/opencode/client.js +141 -28
- package/dist/opencode/client.js.map +1 -1
- package/package.json +28 -19
- package/dist/gitlab/comment-formatter.d.ts.map +0 -1
- package/dist/gitlab/comment-formatter.js.map +0 -1
- package/dist/gitlab/diff-parser.d.ts.map +0 -1
- package/dist/gitlab/diff-parser.js.map +0 -1
- /package/dist/{gitlab → lib}/diff-parser.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,32 +1,42 @@
|
|
|
1
|
-
# DRS -
|
|
1
|
+
# DRS - Diff Review System
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Intelligent Code Review Platform for GitLab and GitHub**
|
|
4
|
+
|
|
5
|
+
Enterprise-grade automated code review for Merge Requests and Pull Requests, powered by OpenCode SDK and Claude.
|
|
4
6
|
|
|
5
7
|
## Features
|
|
6
8
|
|
|
7
|
-
- **
|
|
8
|
-
- **Specialized
|
|
9
|
-
- **Multi-Platform Support**:
|
|
10
|
-
- **
|
|
11
|
-
- **Customizable**:
|
|
12
|
-
- **
|
|
9
|
+
- **Comprehensive Analysis**: Advanced code review using Claude's latest models
|
|
10
|
+
- **Specialized Review Domains**: Security, quality, style, and performance analysis
|
|
11
|
+
- **Multi-Platform Support**: Native integration with GitLab and GitHub
|
|
12
|
+
- **Flexible Deployment**: CI/CD pipelines, webhook server, or local CLI
|
|
13
|
+
- **Highly Customizable**: Configure review agents with project-specific rules
|
|
14
|
+
- **Deep Integration**: Full API support for both GitLab and GitHub platforms
|
|
13
15
|
|
|
14
16
|
## Quick Start
|
|
15
17
|
|
|
16
|
-
### 1.
|
|
18
|
+
### 1. Prerequisites
|
|
19
|
+
|
|
20
|
+
Install OpenCode CLI (required for in-process server mode):
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g opencode-ai
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 2. Install DRS
|
|
17
27
|
|
|
18
28
|
```bash
|
|
19
29
|
npm install -g @diff-review-system/drs
|
|
20
30
|
```
|
|
21
31
|
|
|
22
|
-
###
|
|
32
|
+
### 3. Initialize Project
|
|
23
33
|
|
|
24
34
|
```bash
|
|
25
35
|
cd your-project
|
|
26
36
|
drs init
|
|
27
37
|
```
|
|
28
38
|
|
|
29
|
-
###
|
|
39
|
+
### 4. Configure Environment
|
|
30
40
|
|
|
31
41
|
```bash
|
|
32
42
|
# Copy example env file
|
|
@@ -36,12 +46,16 @@ cp .env.example .env
|
|
|
36
46
|
# - GITLAB_TOKEN: Your GitLab access token (for GitLab MRs)
|
|
37
47
|
# - GITHUB_TOKEN: Your GitHub access token (for GitHub PRs)
|
|
38
48
|
# - OPENCODE_SERVER: URL of your OpenCode instance (optional - will start in-process if not set)
|
|
39
|
-
# -
|
|
49
|
+
# - Provider API Key: Set the API key for your chosen model provider
|
|
50
|
+
# - ANTHROPIC_API_KEY for Claude models (e.g., anthropic/claude-opus-4-5-20251101)
|
|
51
|
+
# - ZHIPU_API_KEY for GLM models (e.g., zhipuai/glm-4.7)
|
|
52
|
+
# - OPENAI_API_KEY for OpenAI models (e.g., openai/gpt-4)
|
|
53
|
+
# - See .env.example for all supported providers
|
|
40
54
|
```
|
|
41
55
|
|
|
42
56
|
**Note**: `OPENCODE_SERVER` is optional. If not provided, DRS will automatically start an OpenCode server in-process. For production deployments or when sharing across multiple tools, you can run a dedicated OpenCode server and set the URL.
|
|
43
57
|
|
|
44
|
-
###
|
|
58
|
+
### 5. Review Local Changes
|
|
45
59
|
|
|
46
60
|
```bash
|
|
47
61
|
# Review unstaged changes
|
|
@@ -67,6 +81,9 @@ drs review-local
|
|
|
67
81
|
# Review specific GitLab MR
|
|
68
82
|
drs review-mr --project my-org/my-repo --mr 123 --post-comments
|
|
69
83
|
|
|
84
|
+
# Review GitLab MR and generate code quality report
|
|
85
|
+
drs review-mr --project my-org/my-repo --mr 123 --code-quality-report gl-code-quality-report.json
|
|
86
|
+
|
|
70
87
|
# Review specific GitHub PR
|
|
71
88
|
drs review-pr --owner octocat --repo hello-world --pr 456 --post-comments
|
|
72
89
|
```
|
|
@@ -77,63 +94,52 @@ Add to your `.gitlab-ci.yml`:
|
|
|
77
94
|
|
|
78
95
|
```yaml
|
|
79
96
|
include:
|
|
80
|
-
- remote: 'https://raw.githubusercontent.com/
|
|
97
|
+
- remote: 'https://raw.githubusercontent.com/manojlds/drs/main/src/ci/gitlab-ci.template.yml'
|
|
81
98
|
|
|
82
99
|
ai_review:
|
|
83
100
|
extends: .drs_review
|
|
84
|
-
|
|
85
|
-
OPENCODE_SERVER: "http://opencode.internal:3000"
|
|
101
|
+
stage: review
|
|
86
102
|
```
|
|
87
103
|
|
|
104
|
+
**See [GitLab CI Integration Guide](docs/GITLAB_CI_INTEGRATION.md)** for:
|
|
105
|
+
- Using the official OpenCode container (`ghcr.io/anomalyco/opencode`)
|
|
106
|
+
- Parallel pipeline strategies (child pipelines, DAG with needs)
|
|
107
|
+
- Complete examples that don't block your main pipeline
|
|
108
|
+
|
|
88
109
|
### Mode 3: GitHub Actions
|
|
89
110
|
|
|
90
|
-
**
|
|
91
|
-
- Set up a remote OpenCode server and configure `OPENCODE_SERVER` secret
|
|
92
|
-
- Or install OpenCode CLI in the workflow (see below)
|
|
111
|
+
DRS includes a **secure, pre-configured workflow** at `.github/workflows/pr-review.yml` with built-in protection against external PR abuse.
|
|
93
112
|
|
|
94
|
-
|
|
113
|
+
**Security Features**:
|
|
114
|
+
- ✅ **Auto-review for trusted contributors** (repository members/collaborators)
|
|
115
|
+
- ⏸️ **Manual approval required** for external contributors
|
|
116
|
+
- 🔒 **Cost protection** prevents spam PRs from draining API credits
|
|
117
|
+
- 🏷️ **Label-based approval** with `safe-to-review` label
|
|
95
118
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
pull-requests: write
|
|
109
|
-
|
|
110
|
-
steps:
|
|
111
|
-
- uses: actions/checkout@v4
|
|
112
|
-
- uses: actions/setup-node@v4
|
|
113
|
-
with:
|
|
114
|
-
node-version: '20'
|
|
115
|
-
|
|
116
|
-
- name: Build from source
|
|
117
|
-
run: |
|
|
118
|
-
npm ci
|
|
119
|
-
npm run build
|
|
120
|
-
|
|
121
|
-
- name: Review Pull Request
|
|
122
|
-
env:
|
|
123
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
124
|
-
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
125
|
-
OPENCODE_SERVER: ${{ secrets.OPENCODE_SERVER }} # Required: Set this in repository secrets
|
|
126
|
-
run: |
|
|
127
|
-
node dist/cli/index.js review-pr \
|
|
128
|
-
--owner ${{ github.event.repository.owner.login }} \
|
|
129
|
-
--repo ${{ github.event.repository.name }} \
|
|
130
|
-
--pr ${{ github.event.pull_request.number }} \
|
|
131
|
-
--post-comments
|
|
132
|
-
```
|
|
119
|
+
**Quick Setup**:
|
|
120
|
+
|
|
121
|
+
1. **Configure API Keys** in repository Settings → Secrets:
|
|
122
|
+
- `ANTHROPIC_API_KEY` (for Claude models), or
|
|
123
|
+
- `OPENCODE_ZEN_API_KEY` (for OpenCode Zen), or
|
|
124
|
+
- `ZHIPU_API_KEY` (for ZhipuAI GLM models), or
|
|
125
|
+
- `OPENAI_API_KEY` (for OpenAI models)
|
|
126
|
+
|
|
127
|
+
2. **Set up External PR Protection** (Important!):
|
|
128
|
+
- Create GitHub Environment: `external-pr-review`
|
|
129
|
+
- Add required reviewers (maintainers)
|
|
130
|
+
- Create `safe-to-review` label
|
|
133
131
|
|
|
134
|
-
**
|
|
135
|
-
-
|
|
136
|
-
-
|
|
132
|
+
**See [GitHub Actions Integration Guide](docs/GITHUB_ACTIONS_INTEGRATION.md)** for:
|
|
133
|
+
- Complete setup instructions
|
|
134
|
+
- External PR security configuration
|
|
135
|
+
- Model configuration options
|
|
136
|
+
- Troubleshooting tips
|
|
137
|
+
|
|
138
|
+
**See [External PR Security Guide](docs/EXTERNAL_PR_SECURITY.md)** for:
|
|
139
|
+
- Detailed security setup
|
|
140
|
+
- Cost protection mechanisms
|
|
141
|
+
- Maintainer workflow
|
|
142
|
+
- Attack prevention strategies
|
|
137
143
|
|
|
138
144
|
### Mode 4: Webhook Server
|
|
139
145
|
|
|
@@ -149,26 +155,114 @@ docker-compose up -d
|
|
|
149
155
|
# GitHub: http://your-server:8080/webhook/github (Pull request events)
|
|
150
156
|
```
|
|
151
157
|
|
|
158
|
+
## GitLab Code Quality Reports
|
|
159
|
+
|
|
160
|
+
DRS can generate GitLab-compatible code quality reports that integrate seamlessly with GitLab CI/CD. This provides an alternative (or complement) to inline MR comments.
|
|
161
|
+
|
|
162
|
+
### Why Use Code Quality Reports?
|
|
163
|
+
|
|
164
|
+
**Benefits:**
|
|
165
|
+
- **Native GitLab Integration**: Issues appear in the MR widget and Changes tab
|
|
166
|
+
- **Better UX**: Issues marked with symbols in the code gutter
|
|
167
|
+
- **All Severities**: Include MEDIUM/LOW issues without cluttering MR discussions
|
|
168
|
+
- **Historical Tracking**: GitLab tracks quality trends over time
|
|
169
|
+
- **Non-intrusive**: Doesn't create discussion threads
|
|
170
|
+
|
|
171
|
+
**When to Use:**
|
|
172
|
+
- Use **inline comments** (`--post-comments`) for critical issues requiring discussion
|
|
173
|
+
- Use **code quality reports** (`--code-quality-report`) for comprehensive static analysis
|
|
174
|
+
- Use **both together** for maximum visibility
|
|
175
|
+
|
|
176
|
+
### CLI Usage
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Generate code quality report only
|
|
180
|
+
drs review-mr --project my-org/my-repo --mr 123 \
|
|
181
|
+
--code-quality-report gl-code-quality-report.json
|
|
182
|
+
|
|
183
|
+
# Use both comments and code quality report
|
|
184
|
+
drs review-mr --project my-org/my-repo --mr 123 \
|
|
185
|
+
--post-comments \
|
|
186
|
+
--code-quality-report gl-code-quality-report.json
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### GitLab CI Integration
|
|
190
|
+
|
|
191
|
+
Add to your `.gitlab-ci.yml`:
|
|
192
|
+
|
|
193
|
+
```yaml
|
|
194
|
+
code_review:
|
|
195
|
+
stage: review
|
|
196
|
+
image: node:20-alpine
|
|
197
|
+
before_script:
|
|
198
|
+
- npm install -g @diff-review-system/drs opencode-ai
|
|
199
|
+
script:
|
|
200
|
+
- drs review-mr --project $CI_PROJECT_PATH --mr $CI_MERGE_REQUEST_IID
|
|
201
|
+
--code-quality-report gl-code-quality-report.json
|
|
202
|
+
artifacts:
|
|
203
|
+
reports:
|
|
204
|
+
codequality: gl-code-quality-report.json
|
|
205
|
+
expire_in: 1 week
|
|
206
|
+
only:
|
|
207
|
+
- merge_requests
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
The code quality report will appear in:
|
|
211
|
+
1. **MR Overview**: Widget showing new/resolved issues
|
|
212
|
+
2. **Changes Tab**: Gutter symbols on problematic lines
|
|
213
|
+
3. **Pipeline Tab**: Quality trend graphs
|
|
214
|
+
|
|
215
|
+
### Report Format
|
|
216
|
+
|
|
217
|
+
DRS generates reports in GitLab's CodeClimate-compatible format:
|
|
218
|
+
|
|
219
|
+
```json
|
|
220
|
+
[
|
|
221
|
+
{
|
|
222
|
+
"description": "Query uses string concatenation. Use parameterized queries instead.",
|
|
223
|
+
"check_name": "drs-security",
|
|
224
|
+
"fingerprint": "7815696ecbf1c96e6894b779456d330e",
|
|
225
|
+
"severity": "blocker",
|
|
226
|
+
"location": {
|
|
227
|
+
"path": "src/api/users.ts",
|
|
228
|
+
"lines": { "begin": 42 }
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
]
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
**Severity Mapping:**
|
|
235
|
+
- CRITICAL → blocker
|
|
236
|
+
- HIGH → critical
|
|
237
|
+
- MEDIUM → major
|
|
238
|
+
- LOW → minor
|
|
239
|
+
|
|
240
|
+
For more details, see [GitLab Code Quality Documentation](https://docs.gitlab.com/ci/testing/code_quality/).
|
|
241
|
+
|
|
152
242
|
## OpenCode Server Configuration
|
|
153
243
|
|
|
154
244
|
DRS supports two modes of OpenCode server operation:
|
|
155
245
|
|
|
156
246
|
### In-Process Server (Default)
|
|
157
247
|
|
|
158
|
-
If `OPENCODE_SERVER` is not set, DRS will automatically start an OpenCode server within the same process
|
|
248
|
+
If `OPENCODE_SERVER` is not set, DRS will automatically start an OpenCode server within the same process. **Note**: This still requires the OpenCode CLI to be installed globally.
|
|
159
249
|
|
|
160
250
|
```bash
|
|
161
|
-
#
|
|
251
|
+
# Install OpenCode CLI first (required)
|
|
252
|
+
npm install -g opencode-ai
|
|
253
|
+
|
|
254
|
+
# Then run DRS (server starts automatically)
|
|
162
255
|
drs review-local
|
|
163
256
|
```
|
|
164
257
|
|
|
165
258
|
**Pros:**
|
|
166
|
-
-
|
|
259
|
+
- Minimal configuration required (just install CLI)
|
|
167
260
|
- Automatic startup/shutdown
|
|
168
261
|
- Simpler deployment
|
|
169
262
|
- Lower latency
|
|
170
263
|
|
|
171
264
|
**Cons:**
|
|
265
|
+
- Requires OpenCode CLI installation
|
|
172
266
|
- Server lifetime tied to CLI process
|
|
173
267
|
- Cannot share across multiple tools
|
|
174
268
|
- Uses process resources
|
|
@@ -247,9 +341,9 @@ review:
|
|
|
247
341
|
- "*.md"
|
|
248
342
|
```
|
|
249
343
|
|
|
250
|
-
## Review
|
|
344
|
+
## Review Domains
|
|
251
345
|
|
|
252
|
-
### Security
|
|
346
|
+
### Security Analysis
|
|
253
347
|
|
|
254
348
|
Focuses on:
|
|
255
349
|
- OWASP Top 10 vulnerabilities
|
|
@@ -258,7 +352,7 @@ Focuses on:
|
|
|
258
352
|
- Sensitive data exposure
|
|
259
353
|
- Security misconfigurations
|
|
260
354
|
|
|
261
|
-
### Quality
|
|
355
|
+
### Quality Analysis
|
|
262
356
|
|
|
263
357
|
Reviews:
|
|
264
358
|
- Design patterns and anti-patterns
|
|
@@ -267,7 +361,7 @@ Reviews:
|
|
|
267
361
|
- Error handling
|
|
268
362
|
- Code smells
|
|
269
363
|
|
|
270
|
-
### Style
|
|
364
|
+
### Style Analysis
|
|
271
365
|
|
|
272
366
|
Checks:
|
|
273
367
|
- Naming conventions
|
|
@@ -276,7 +370,7 @@ Checks:
|
|
|
276
370
|
- Type safety (TypeScript)
|
|
277
371
|
- Unused code
|
|
278
372
|
|
|
279
|
-
### Performance
|
|
373
|
+
### Performance Analysis
|
|
280
374
|
|
|
281
375
|
Analyzes:
|
|
282
376
|
- Algorithmic complexity
|
|
@@ -293,7 +387,11 @@ Analyzes:
|
|
|
293
387
|
# Required (depending on platform)
|
|
294
388
|
GITLAB_TOKEN=glpat-xxx # For GitLab MR reviews
|
|
295
389
|
GITHUB_TOKEN=ghp-xxx # For GitHub PR reviews
|
|
296
|
-
|
|
390
|
+
|
|
391
|
+
# Provider API Keys (set the one for your chosen model provider)
|
|
392
|
+
ANTHROPIC_API_KEY=sk-ant-xxx # For Anthropic Claude models
|
|
393
|
+
ZHIPU_API_KEY=xxx # For ZhipuAI GLM models
|
|
394
|
+
OPENAI_API_KEY=sk-xxx # For OpenAI models
|
|
297
395
|
|
|
298
396
|
# Optional
|
|
299
397
|
OPENCODE_SERVER=http://localhost:3000 # Leave empty to start in-process server
|
|
@@ -317,6 +415,10 @@ See the `examples/` directory for:
|
|
|
317
415
|
|
|
318
416
|
## Development
|
|
319
417
|
|
|
418
|
+
For comprehensive local development and testing instructions, see [DEVELOPMENT.md](DEVELOPMENT.md).
|
|
419
|
+
|
|
420
|
+
Quick start:
|
|
421
|
+
|
|
320
422
|
```bash
|
|
321
423
|
# Install dependencies
|
|
322
424
|
npm install
|
|
@@ -334,6 +436,7 @@ npm run dev
|
|
|
334
436
|
## Requirements
|
|
335
437
|
|
|
336
438
|
- Node.js 20+
|
|
439
|
+
- OpenCode CLI (`npm install -g opencode-ai`) - Required even for in-process mode
|
|
337
440
|
- Anthropic API key (for Claude AI)
|
|
338
441
|
- GitLab access token (for GitLab MR reviews)
|
|
339
442
|
- GitHub access token (for GitHub PR reviews)
|
|
@@ -346,8 +449,11 @@ Apache-2.0
|
|
|
346
449
|
|
|
347
450
|
## Documentation
|
|
348
451
|
|
|
452
|
+
- [GitLab CI Integration Guide](docs/GITLAB_CI_INTEGRATION.md) - Complete guide for GitLab CI/CD setup
|
|
453
|
+
- [Development Guide](DEVELOPMENT.md) - Local development and testing guide
|
|
349
454
|
- [Design Document](DESIGN.md) - Original design using Claude Agent SDK
|
|
350
455
|
- [Architecture Document](ARCHITECTURE.md) - OpenCode SDK architecture
|
|
456
|
+
- [Publishing Guide](PUBLISHING_SETUP.md) - How to publish to npm
|
|
351
457
|
- [OpenCode Documentation](https://opencode.ai/docs)
|
|
352
458
|
- [GitLab API](https://docs.gitlab.com/ee/api/)
|
|
353
459
|
|
package/dist/ci/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/ci/runner.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAgBnD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/ci/runner.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAgBnD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA0DjD;AAED;;GAEG;AACH,wBAAgB,IAAI,IAAI,OAAO,CAE9B"}
|
package/dist/ci/runner.js
CHANGED
|
@@ -24,7 +24,7 @@ export function detectCIEnvironment() {
|
|
|
24
24
|
* Run review in CI/CD environment
|
|
25
25
|
*/
|
|
26
26
|
export async function runCIReview() {
|
|
27
|
-
console.log(chalk.bold.cyan('\n
|
|
27
|
+
console.log(chalk.bold.cyan('\n📋 DRS | CI/CD Analysis Runner\n'));
|
|
28
28
|
// Detect environment
|
|
29
29
|
const env = detectCIEnvironment();
|
|
30
30
|
if (env.platform === 'unknown') {
|
|
@@ -75,8 +75,6 @@ export async function runCIReview() {
|
|
|
75
75
|
* Check if running in CI environment
|
|
76
76
|
*/
|
|
77
77
|
export function isCI() {
|
|
78
|
-
return !!(process.env.CI ||
|
|
79
|
-
process.env.GITLAB_CI ||
|
|
80
|
-
process.env.GITHUB_ACTIONS);
|
|
78
|
+
return !!(process.env.CI || process.env.GITLAB_CI || process.env.GITHUB_ACTIONS);
|
|
81
79
|
}
|
|
82
80
|
//# sourceMappingURL=runner.js.map
|
package/dist/ci/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/ci/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAW/C;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,sBAAsB;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;YACpC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBACrC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBAChD,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;YAC7D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;YAC7D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;SACrC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/ci/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { loadConfig } from '../lib/config.js';
|
|
|
8
8
|
const program = new Command();
|
|
9
9
|
program
|
|
10
10
|
.name('drs')
|
|
11
|
-
.description('
|
|
11
|
+
.description('Intelligent code review platform for GitLab and GitHub - Enterprise-grade analysis')
|
|
12
12
|
.version('1.0.0');
|
|
13
13
|
program
|
|
14
14
|
.command('review-local')
|
|
@@ -21,7 +21,9 @@ program
|
|
|
21
21
|
try {
|
|
22
22
|
const config = loadConfig(process.cwd(), {
|
|
23
23
|
review: {
|
|
24
|
-
agents: options.agents
|
|
24
|
+
agents: options.agents
|
|
25
|
+
? options.agents.split(',').map((a) => a.trim())
|
|
26
|
+
: undefined,
|
|
25
27
|
},
|
|
26
28
|
output: {
|
|
27
29
|
format: options.format,
|
|
@@ -44,12 +46,15 @@ program
|
|
|
44
46
|
.requiredOption('--project <id>', 'Project ID or path (e.g., "my-org/my-repo" or "123")')
|
|
45
47
|
.option('--agents <agents>', 'Comma-separated list of review agents')
|
|
46
48
|
.option('--post-comments', 'Post review comments to the MR (requires GITLAB_TOKEN)')
|
|
49
|
+
.option('--code-quality-report <path>', 'Generate GitLab code quality report JSON file (default: gl-code-quality-report.json)')
|
|
47
50
|
.option('--verbose', 'Verbose output')
|
|
48
51
|
.action(async (options) => {
|
|
49
52
|
try {
|
|
50
53
|
const config = loadConfig(process.cwd(), {
|
|
51
54
|
review: {
|
|
52
|
-
agents: options.agents
|
|
55
|
+
agents: options.agents
|
|
56
|
+
? options.agents.split(',').map((a) => a.trim())
|
|
57
|
+
: undefined,
|
|
53
58
|
},
|
|
54
59
|
output: {
|
|
55
60
|
verbosity: options.verbose ? 'detailed' : 'normal',
|
|
@@ -59,6 +64,9 @@ program
|
|
|
59
64
|
projectId: options.project,
|
|
60
65
|
mrIid: parseInt(options.mr, 10),
|
|
61
66
|
postComments: options.postComments || false,
|
|
67
|
+
codeQualityReport: options.codeQualityReport === true
|
|
68
|
+
? 'gl-code-quality-report.json'
|
|
69
|
+
: options.codeQualityReport,
|
|
62
70
|
});
|
|
63
71
|
}
|
|
64
72
|
catch (error) {
|
|
@@ -79,7 +87,9 @@ program
|
|
|
79
87
|
try {
|
|
80
88
|
const config = loadConfig(process.cwd(), {
|
|
81
89
|
review: {
|
|
82
|
-
agents: options.agents
|
|
90
|
+
agents: options.agents
|
|
91
|
+
? options.agents.split(',').map((a) => a.trim())
|
|
92
|
+
: undefined,
|
|
83
93
|
},
|
|
84
94
|
output: {
|
|
85
95
|
verbosity: options.verbose ? 'detailed' : 'normal',
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AA8GA;;GAEG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2KpE"}
|